Version in base suite: 11.0.22+7-1~deb11u1 Base version: openjdk-11_11.0.22+7-1~deb11u1 Target version: openjdk-11_11.0.23+9-1~deb11u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/o/openjdk-11/openjdk-11_11.0.22+7-1~deb11u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/o/openjdk-11/openjdk-11_11.0.23+9-1~deb11u1.dsc /srv/release.debian.org/tmp/sRMmE18hoM/openjdk-11-11.0.23+9/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/old.ser |binary /srv/release.debian.org/tmp/sRMmE18hoM/openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/jdk/testlibrary/testkeys |binary /srv/release.debian.org/tmp/sRMmE18hoM/openjdk-11-11.0.23+9/test/lib/jdk/test/lib/net/testkeys |binary openjdk-11-11.0.23+9/.jcheck/conf | 2 openjdk-11-11.0.23+9/debian/changelog | 78 openjdk-11-11.0.23+9/debian/control | 21 openjdk-11-11.0.23+9/debian/control.in | 5 openjdk-11-11.0.23+9/debian/copyright-generator/copyright-gen.py | 19 openjdk-11-11.0.23+9/debian/patches/8307977-proposed.diff | 81 openjdk-11-11.0.23+9/debian/patches/loong64-autoconf-config.diff | 10 openjdk-11-11.0.23+9/debian/patches/series | 3 openjdk-11-11.0.23+9/debian/patches/use_clock64_fns_armhf.patch | 76 openjdk-11-11.0.23+9/debian/rules | 86 openjdk-11-11.0.23+9/debian/tests/jtreg-autopkgtest.in | 7 openjdk-11-11.0.23+9/debian/tests/jtreg-autopkgtest.sh | 7 openjdk-11-11.0.23+9/doc/building.html | 1 openjdk-11-11.0.23+9/doc/testing.html | 3 openjdk-11-11.0.23+9/doc/testing.md | 8 openjdk-11-11.0.23+9/make/RunTests.gmk | 20 openjdk-11-11.0.23+9/make/autoconf/lib-x11.m4 | 8 openjdk-11-11.0.23+9/make/autoconf/toolchain.m4 | 6 openjdk-11-11.0.23+9/make/autoconf/util.m4 | 6 openjdk-11-11.0.23+9/make/autoconf/version-numbers | 4 openjdk-11-11.0.23+9/make/conf/jib-profiles.js | 5 openjdk-11-11.0.23+9/make/data/cacerts/certainlyroote1 | 20 openjdk-11-11.0.23+9/make/data/cacerts/certainlyrootr1 | 38 openjdk-11-11.0.23+9/make/data/currency/CurrencyData.properties | 10 openjdk-11-11.0.23+9/make/data/publicsuffixlist/VERSION | 4 openjdk-11-11.0.23+9/make/data/publicsuffixlist/public_suffix_list.dat | 4168 +- openjdk-11-11.0.23+9/make/data/tzdata/VERSION | 2 openjdk-11-11.0.23+9/make/data/tzdata/africa | 15 openjdk-11-11.0.23+9/make/data/tzdata/antarctica | 57 openjdk-11-11.0.23+9/make/data/tzdata/asia | 180 openjdk-11-11.0.23+9/make/data/tzdata/australasia | 22 openjdk-11-11.0.23+9/make/data/tzdata/backward | 1 openjdk-11-11.0.23+9/make/data/tzdata/etcetera | 2 openjdk-11-11.0.23+9/make/data/tzdata/europe | 58 openjdk-11-11.0.23+9/make/data/tzdata/iso3166.tab | 17 openjdk-11-11.0.23+9/make/data/tzdata/leapseconds | 19 openjdk-11-11.0.23+9/make/data/tzdata/northamerica | 32 openjdk-11-11.0.23+9/make/data/tzdata/southamerica | 11 openjdk-11-11.0.23+9/make/data/tzdata/zone.tab | 24 openjdk-11-11.0.23+9/make/hotspot/lib/JvmOverrideFiles.gmk | 4 openjdk-11-11.0.23+9/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java | 15 openjdk-11-11.0.23+9/make/lib/Awt2dLibraries.gmk | 7 openjdk-11-11.0.23+9/make/test/JtregNativeHotspot.gmk | 6 openjdk-11-11.0.23+9/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp | 2 openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp | 2 openjdk-11-11.0.23+9/src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/cpu/x86/assembler_x86.hpp | 2 openjdk-11-11.0.23+9/src/hotspot/os/aix/os_aix.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/os/bsd/os_bsd.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp | 10 openjdk-11-11.0.23+9/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp | 6 openjdk-11-11.0.23+9/src/hotspot/os/linux/os_linux.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/os/solaris/os_solaris.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/share/adlc/output_c.cpp | 3 openjdk-11-11.0.23+9/src/hotspot/share/classfile/javaClasses.cpp | 13 openjdk-11-11.0.23+9/src/hotspot/share/classfile/javaClasses.hpp | 4 openjdk-11-11.0.23+9/src/hotspot/share/classfile/resolutionErrors.cpp | 14 openjdk-11-11.0.23+9/src/hotspot/share/classfile/resolutionErrors.hpp | 11 openjdk-11-11.0.23+9/src/hotspot/share/classfile/systemDictionary.cpp | 4 openjdk-11-11.0.23+9/src/hotspot/share/classfile/systemDictionary.hpp | 4 openjdk-11-11.0.23+9/src/hotspot/share/code/nmethod.cpp | 6 openjdk-11-11.0.23+9/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp | 9 openjdk-11-11.0.23+9/src/hotspot/share/gc/serial/defNewGeneration.cpp | 4 openjdk-11-11.0.23+9/src/hotspot/share/include/jmm.h | 5 openjdk-11-11.0.23+9/src/hotspot/share/jfr/metadata/metadata.xml | 5 openjdk-11-11.0.23+9/src/hotspot/share/legal/siphash.md | 150 openjdk-11-11.0.23+9/src/hotspot/share/oops/constantPool.cpp | 23 openjdk-11-11.0.23+9/src/hotspot/share/oops/constantPool.hpp | 2 openjdk-11-11.0.23+9/src/hotspot/share/oops/cpCache.cpp | 4 openjdk-11-11.0.23+9/src/hotspot/share/oops/instanceKlass.cpp | 18 openjdk-11-11.0.23+9/src/hotspot/share/oops/instanceKlass.hpp | 2 openjdk-11-11.0.23+9/src/hotspot/share/oops/method.cpp | 14 openjdk-11-11.0.23+9/src/hotspot/share/oops/method.hpp | 1 openjdk-11-11.0.23+9/src/hotspot/share/oops/symbol.cpp | 10 openjdk-11-11.0.23+9/src/hotspot/share/oops/symbol.hpp | 5 openjdk-11-11.0.23+9/src/hotspot/share/opto/loopPredicate.cpp | 92 openjdk-11-11.0.23+9/src/hotspot/share/opto/loopTransform.cpp | 2 openjdk-11-11.0.23+9/src/hotspot/share/opto/loopnode.cpp | 8 openjdk-11-11.0.23+9/src/hotspot/share/opto/loopnode.hpp | 13 openjdk-11-11.0.23+9/src/hotspot/share/prims/forte.cpp | 6 openjdk-11-11.0.23+9/src/hotspot/share/prims/jni.cpp | 5 openjdk-11-11.0.23+9/src/hotspot/share/prims/whitebox.cpp | 19 openjdk-11-11.0.23+9/src/hotspot/share/runtime/abstract_vm_version.cpp | 10 openjdk-11-11.0.23+9/src/hotspot/share/runtime/mutexLocker.cpp | 3 openjdk-11-11.0.23+9/src/hotspot/share/runtime/mutexLocker.hpp | 3 openjdk-11-11.0.23+9/src/hotspot/share/runtime/thread.cpp | 1 openjdk-11-11.0.23+9/src/hotspot/share/runtime/thread.hpp | 25 openjdk-11-11.0.23+9/src/hotspot/share/services/management.cpp | 47 openjdk-11-11.0.23+9/src/hotspot/share/services/threadService.cpp | 5 openjdk-11-11.0.23+9/src/hotspot/share/services/threadService.hpp | 12 openjdk-11-11.0.23+9/src/hotspot/share/utilities/exceptions.cpp | 4 openjdk-11-11.0.23+9/src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java | 261 openjdk-11-11.0.23+9/src/java.base/share/classes/java/io/Console.java | 22 openjdk-11-11.0.23+9/src/java.base/share/classes/java/lang/ProcessHandleImpl.java | 6 openjdk-11-11.0.23+9/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java | 102 openjdk-11-11.0.23+9/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java | 11 openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/pkcs/PKCS7.java | 4 openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java | 8 openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java | 8 openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/ssl/SSLHandshake.java | 4 openjdk-11-11.0.23+9/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties | 4 openjdk-11-11.0.23+9/src/java.base/share/conf/security/java.security | 30 openjdk-11-11.0.23+9/src/java.base/share/legal/public_suffix.md | 2 openjdk-11-11.0.23+9/src/java.base/share/lib/security/default.policy | 2 openjdk-11-11.0.23+9/src/java.base/share/native/libverify/check_code.c | 7 openjdk-11-11.0.23+9/src/java.base/unix/native/libjsig/jsig.c | 18 openjdk-11-11.0.23+9/src/java.base/windows/native/libjava/canonicalize_md.c | 3 openjdk-11-11.0.23+9/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java | 64 openjdk-11-11.0.23+9/src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java | 4 openjdk-11-11.0.23+9/src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java | 57 openjdk-11-11.0.23+9/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java | 104 openjdk-11-11.0.23+9/src/java.desktop/share/legal/freetype.md | 2 openjdk-11-11.0.23+9/src/java.desktop/share/legal/harfbuzz.md | 14 openjdk-11-11.0.23+9/src/java.desktop/share/legal/libpng.md | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h | 47 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/config/ftstdlib.h | 14 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/freetype.h | 563 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftchapters.h | 23 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h | 11 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftimage.h | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftlogging.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftmm.h | 57 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftoutln.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftrender.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftsynth.h | 12 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftsystem.h | 16 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/compiler-macros.h | 7 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftcalc.h | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdrv.h | 1 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmmtypes.h | 20 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmetric.h | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmm.h | 109 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpscmap.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/t1types.h | 26 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/tttypes.h | 137 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.c | 62 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.h | 20 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.c | 5 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afhints.c | 58 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afindic.c | 32 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.c | 87 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.h | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afloader.c | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afmodule.c | 37 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afshaper.c | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftbbox.c | 42 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftcalc.c | 86 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftdbgmem.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftmac.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftmm.c | 146 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftobjs.c | 26 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftoutln.c | 52 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftstream.c | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftstroke.c | 21 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftsynth.c | 20 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftsystem.c | 9 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffcmap.c | 109 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.c | 445 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffgload.c | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffload.c | 40 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffload.h | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffobjs.c | 24 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffparse.c | 250 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffparse.h | 13 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidgload.c | 141 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidgload.h | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidload.c | 51 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidobjs.c | 14 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidparse.c | 16 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidriver.c | 93 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/afmparse.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.c | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/pshints.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.c | 141 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/t1decode.c | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.c | 9 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.c | 63 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psnames/psmodule.c | 42 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/raster/ftraster.c | 44 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/raster/ftrend1.c | 21 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.c | 7 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.c | 143 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c | 30 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.c | 20 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c | 547 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.c | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c | 7 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c | 284 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c | 54 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.c | 22 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.c | 159 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c | 559 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c | 524 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.h | 40 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c | 959 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h | 84 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c | 88 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.h | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.c | 37 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.h | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1afm.c | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1driver.c | 93 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1load.c | 260 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1load.h | 22 openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1objs.c | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh | 11 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh | 78 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh | 5 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh | 24 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh | 19 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/RangeRecord.hh | 12 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh | 140 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh | 32 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorMatrix.hh | 18 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh | 36 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/GPOS.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/LigatureArray.hh | 13 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkArray.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh | 15 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh | 19 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh | 18 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkRecord.hh | 11 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh | 40 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh | 9 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh | 3 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh | 3 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh | 64 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Common.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSet.hh | 61 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh | 1 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Sequence.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubst.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh | 51 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh | 224 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh | 39 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh | 248 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh | 67 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh | 82 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh | 31 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/name/name.hh | 19 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/UPDATING.txt | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/graph.hh | 279 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.cc | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.hh | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh | 37 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh | 13 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh | 12 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/serialize.hh | 7 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh | 68 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-algs.hh | 193 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-array.hh | 64 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-atomic.hh | 1 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bimap.hh | 77 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh | 40 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh | 7 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh | 36 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-glyphs.hh | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-unicode.hh | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc | 76 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.cc | 12 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.hh | 17 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cache.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-cs-common.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-common.cc | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-common.h | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-config.hh | 39 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-debug.hh | 23 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-deprecated.h | 46 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-draw.hh | 30 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-font.cc | 9 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-font.h | 45 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ft.cc | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-iter.hh | 9 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-kern.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-limits.hh | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-machinery.hh | 11 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.cc | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.hh | 204 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-meta.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-multimap.hh | 34 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-null.hh | 10 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-number-parser.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-open-file.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-open-type.hh | 39 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh | 269 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh | 292 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh | 39 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh | 38 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc | 46 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh | 43 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh | 82 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh | 21 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh | 595 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh | 605 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc | 262 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h | 37 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh | 14 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc | 30 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh | 5 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh | 26 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh | 12 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh | 13 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc | 15 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc | 28 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc | 31 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh | 14 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc | 12 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer-machine.hh | 14 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh | 14 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.cc | 12 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh | 1337 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh | 964 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use.cc | 3 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh | 53 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh | 17 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh | 164 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh | 1697 + openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-cvar-table.hh | 63 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh | 114 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh | 543 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh | 163 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh | 56 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-vorg-table.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.cc | 25 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.h | 42 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.hh | 8 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-pool.hh | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh | 32 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-repacker.hh | 20 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh | 105 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-serialize.hh | 36 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh | 24 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.cc | 24 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.h | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-shape.cc | 2 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-shaper-list.hh | 5 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-static.cc | 3 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-accelerator.hh | 53 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.cc | 29 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh | 112 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc | 296 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.hh | 37 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc | 93 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.hh | 37 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc | 90 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-input.hh | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.cc | 429 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.hh | 112 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan-member-list.hh | 137 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc | 323 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh | 199 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset.cc | 177 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset.h | 11 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh | 3498 +- openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-vector.hh | 148 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-version.h | 6 openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb.hh | 13 openjdk-11-11.0.23+9/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libjavajpeg/jpegdecoder.c | 4 openjdk-11-11.0.23+9/src/java.desktop/share/native/libjsound/MidiOutDevice.c | 8 openjdk-11-11.0.23+9/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java | 74 openjdk-11-11.0.23+9/src/java.desktop/unix/classes/sun/awt/X11/XSystemTrayPeer.java | 27 openjdk-11-11.0.23+9/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c | 1 openjdk-11-11.0.23+9/src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp | 64 openjdk-11-11.0.23+9/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp | 23 openjdk-11-11.0.23+9/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp | 24 openjdk-11-11.0.23+9/src/java.management/share/classes/sun/management/ThreadImpl.java | 8 openjdk-11-11.0.23+9/src/java.management/share/native/libmanagement/ThreadImpl.c | 11 openjdk-11-11.0.23+9/src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java | 12 openjdk-11-11.0.23+9/src/java.prefs/unix/native/libprefs/FileSystemPreferences.c | 5 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/Init.java | 50 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java | 30 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java | 9 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java | 7 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java | 16 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java | 12 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java | 170 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java | 14 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java | 22 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureEDDSA.java | 247 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java | 6 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java | 5 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java | 46 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java | 33 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java | 14 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/ECKeyValue.java | 11 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java | 7 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java | 7 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java | 8 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java | 7 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java | 9 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java | 15 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParser.java | 9 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParserImpl.java | 6 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java | 7 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java | 5 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/VerifiedReference.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java | 9 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java | 5 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java | 45 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java | 5 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java | 44 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java | 5 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathFactory.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java | 12 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java | 95 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/DigestMethod.java | 6 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/SignatureMethod.java | 11 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java | 15 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java | 8 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java | 14 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java | 18 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java | 28 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java | 11 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java | 12 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java | 10 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java | 19 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java | 22 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java | 38 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java | 14 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java | 1 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java | 16 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java | 13 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRSAPSSSignatureMethod.java | 31 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java | 64 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java | 5 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java | 378 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java | 14 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java | 15 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java | 53 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java | 6 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java | 7 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java | 4 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java | 18 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java | 7 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java | 8 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java | 19 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java | 61 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java | 68 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java | 3 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java | 2 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java | 11 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java | 6 openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java | 16 openjdk-11-11.0.23+9/src/java.xml.crypto/share/legal/santuario.md | 42 openjdk-11-11.0.23+9/src/java.xml/share/classes/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java | 10 openjdk-11-11.0.23+9/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java | 5 openjdk-11-11.0.23+9/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java | 9 openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKey.java | 18 openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPrivateKey.java | 12 openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPublicKey.java | 19 openjdk-11-11.0.23+9/src/jdk.jartool/share/classes/sun/tools/jar/Main.java | 6 openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java | 17 openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java | 8 openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties | 1 openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java | 43 openjdk-11-11.0.23+9/src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java | 18 openjdk-11-11.0.23+9/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties | 34 openjdk-11-11.0.23+9/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java | 2 openjdk-11-11.0.23+9/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java | 4 openjdk-11-11.0.23+9/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java | 36 openjdk-11-11.0.23+9/src/jdk.management/share/classes/com/sun/management/internal/HotSpotThreadImpl.java | 5 openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java | 3 openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java | 3 openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java | 3 openjdk-11-11.0.23+9/test/failure_handler/src/share/conf/common.properties | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/ProblemList.txt | 16 openjdk-11-11.0.23+9/test/hotspot/jtreg/TEST.groups | 22 openjdk-11-11.0.23+9/test/hotspot/jtreg/TEST.quick-groups | 6 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/ctw/modules/jdk_management_jfr.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/TestGenerator.java | 108 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/accessAtomic.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/acqrel.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/acqrel/Test.java |13633 -------- openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomicity.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomicity/Test.java | 3775 -- openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomics.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/causality.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/coherence.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/copy.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/copy/Test.java | 1105 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/countdownlatch.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/defaultValues.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/executors.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/fences.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/fences/Test.java | 829 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/future.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/init.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/initClass.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/initLen.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/interrupt.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/locks.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/memeffects.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/memeffects/Test.java |16201 ---------- openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/other/Test.java | 9211 ----- openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.sync/Test.java |12385 ------- openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.volatiles/Test.java |12385 ------- openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/singletons.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/strings.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/tearing.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/unsafe.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/varhandles.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/volatiles.java | 31 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/Helper.java | 32 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/OverloadCompileQueueTest.java | 53 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/RandomAllocationTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/ReturnBlobToWrongHeapTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/TestCaseImpl.java | 55 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java | 15 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/loopopts/TestMissingSkeletonPredicateForIfNode.java | 78 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/predicates/TestHoistedPredicateForNonRangeCheck.java | 182 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/regalloc/TestNodeRegArrayOverflow.java | 599 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/ConstantGettersTransitionsTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/LevelTransitionTest.java | 64 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/MethodHelper.java | 64 openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java | 33 openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/TestSystemGC.java | 29 openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/arguments/TestArrayAllocatorMallocLimit.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/cslocker/TestCSLocker.java | 7 openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/g1/ihop/TestIHOPErgo.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Dictionary/ProtectionDomainCacheTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/EnclosingMethodAttr/EnclMethodAttr.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/ErrorHandling/SecondaryErrorTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/LoadClass/LongBCP.java | 13 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/ArchiveDoesNotExist.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsSameObjectAlignment.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSharedDictionary.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedBaseAddress.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStrings.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsDedup.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsRunAuto.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Throwable/StackTraceLogging.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Throwable/TestMaxJavaStackTraceDepth.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/XCheckJniJsig/XCheckJSig.java | 15 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/AppendClasspath.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/BootClassPathMismatch.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CDSandJFR.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CaseSensitiveClassPath.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ClassLoaderTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ClassPathAttr.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CommandLineFlagComboNegative.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/DirClasspathTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/DumpClassList.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ExtraSymbols.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/FieldAnnotationsTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/FreeUnusedMetadata.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/GraalWithLimitedMetaspace.java | 6 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/HelloExtTest.java | 8 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/HelloTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/IgnoreEmptyClassPaths.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/JvmtiAddPath.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MissingSuperTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java | 14 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MultiProcessSharing.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MultiReleaseJars.java | 16 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/OldClassTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/PackageSealing.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ParallelLoad2.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ParallelLoadTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ProhibitedPackage.java | 8 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/RewriteBytecodesTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SharedPackages.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SignedJar.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SpecifySysLoaderProp.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TestCommon.java | 5 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TraceLongClasspath.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/VerifierTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/WideIloadTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/WrongClasspath.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/XShareAutoWithChangedJar.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleCompareTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedMirrorTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedResolvedReferences.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/DumpTimeVerifyFailure.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/GCStressTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/MirrorWithReferenceFieldsTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/PrimitiveTypesTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/RedefineClassTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/condy/CondyHelloTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatA.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatB.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatBase.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatC.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatD.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatE.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/LoaderSegregationTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestMultiFP.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestSingleFP.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ProhibitedPackageNamesTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ProtectionDomain.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/SameNameInTwoLoadersTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnintendedLoadersTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnsupportedPlatforms.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/ArrayTest.java | 5 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDump.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDumpTransformer.java | 8 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDump.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/CheckUnsupportedDumpingOptions.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/JigsawOptionsCombo.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/AppClassInCP.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/CustomPackage.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/MismatchedPatchModule.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchDir.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchJavaBase.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/Simple.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/SubClassOfPatchedClass.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/TwoJars.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/BootAppendTests.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/ClassPathTests.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddModules.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddOpens.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java | 6 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/OverrideTests.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jvmti/parallelLoad/ParallelLoadAndTransformTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformRelatedClassesAppCDS.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasicTest.java | 6 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_Shared.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/ExerciseGC.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java | 6 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/InternSharedString.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/InvalidFileFormat.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/LargePages.java | 7 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/LockSharedStrings.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java | 8 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasicPlus.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java | 2 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWbTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java | 8 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/classFileParserBug/ClassFileParserBug.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/duplAttributes/DuplAttributesTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/AbstractMethodClass.jasm | 43 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/TestJNIAbstractMethod.java | 68 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/libJNIAbstractMethod.c | 43 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jsig/Testjsig.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassResolutionTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java | 5 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/DefaultMethodsTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ExceptionsTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ItablesTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/LoaderConstraintsTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ModulesTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/MonitorMismatchTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/OsCpuLoggingTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/SafepointCleanupTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/SafepointTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/StackWalkTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/StartupTimeTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ThreadLoggingTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VMOperationTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VerificationTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VtablesTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ClassLoaderNoUnnamedModuleTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/IgnoreModulePropertiesTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleOptionsTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleOptionsWarn.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ExportModuleStressTest.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStress.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStressGC.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModule2Dirs.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleCDS.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupJavaBase.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupModule.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleJavaBase.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTest.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJar.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJarDir.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTraceCL.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/PatchModuleVisibility.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpNoVisibility.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpVisibility.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/GetStackTraceAndRetransformTest.java | 81 openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/libGetStackTraceAndRetransformTest.cpp | 82 openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/get_stack_trace.h | 106 openjdk-11-11.0.23+9/test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java | 1 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/LockerTest.java | 33 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock001/TestDescription.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock01/TestDescription.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock01/TestDescription.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock01/TestDescription.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TestDescription.java | 37 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock01/TestDescription.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock01/TestDescription.java | 9 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TestDescription.java | 42 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TestDescription.java | 42 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TestDescription.java | 42 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock01/TestDescription.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java | 41 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TEST.properties | 23 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TestDescription.java | 37 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001a.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canBeModified/canbemodified001.java | 3 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java | 27 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java | 18 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/agentthr001.cpp | 6 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001.java | 98 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load007/TestDescription.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load011/TestDescription.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load012/TestDescription.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java | 24 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/BooleanArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ByteArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/CharArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/DoubleArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/FloatArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/IntArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ShortArrayCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/StringCriticalLocker.cpp | 70 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Debugee.java | 5 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jni/ExceptionCheckingJniEnv.cpp | 33 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java | 8 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java | 296 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011oops.java | 40 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/TEST.properties | 24 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/thread/TEST.properties | 24 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/BTreeTest.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/SysDictTest.java | 10 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree002/btree002.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree005/btree005.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree008/btree008.java | 5 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java | 4 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java | 76 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java | 28 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.java | 126 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.jmpp | 126 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/jdi/JDIBreakpointTest.java | 11 openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java | 4 openjdk-11-11.0.23+9/test/jaxp/TEST.groups | 11 openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java | 13 openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/XMLStreamWriterTest.java | 26 openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathAnyTypeTest.java | 20 openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpAnyTypeTest.java | 14 openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpChildTest.java | 236 openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathNodeSetFnTest.java | 222 openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathTestBase.java | 133 openjdk-11-11.0.23+9/test/jdk/ProblemList.txt | 7 openjdk-11-11.0.23+9/test/jdk/TEST.ROOT | 8 openjdk-11-11.0.23+9/test/jdk/TEST.groups | 13 openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/AfterThreadDeathTest.java | 32 openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/JdwpOnThrowTest.java | 15 openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/lib/jdb/Debuggee.java | 88 openjdk-11-11.0.23+9/test/jdk/com/sun/jndi/ldap/LdapDnsProviderTest.java | 100 openjdk-11-11.0.23+9/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java | 4 openjdk-11-11.0.23+9/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java | 161 openjdk-11-11.0.23+9/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java | 52 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/SelCacheTest.java | 8 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test1.java | 8 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test12.java | 10 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test13.java | 10 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test6a.java | 10 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test7a.java | 10 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test8a.java | 10 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test9.java | 10 openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test9a.java | 10 openjdk-11-11.0.23+9/test/jdk/com/sun/nio/sctp/SctpChannel/CloseDescriptors.java | 205 openjdk-11-11.0.23+9/test/jdk/com/sun/security/auth/module/AllPlatforms.java | 47 openjdk-11-11.0.23+9/test/jdk/java/awt/CacheTest.java | 48 openjdk-11-11.0.23+9/test/jdk/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java | 11 openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/DelayedQueryTest.java | 252 openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/NullContentsTest.java | 58 openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/SerializeLocalFlavorTest.java | 198 openjdk-11-11.0.23+9/test/jdk/java/awt/ColorClass/ColorSerializationTest.java | 62 openjdk-11-11.0.23+9/test/jdk/java/awt/Component/GetListenersTest.java | 376 openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FindComponentAtTest.java | 86 openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FindComponentTest.java | 90 openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FocusTraversalPolicyProviderTest.java | 509 openjdk-11-11.0.23+9/test/jdk/java/awt/Container/OpenedPopupFrameDisposal.java | 127 openjdk-11-11.0.23+9/test/jdk/java/awt/Container/PropertyEventsTest.java | 129 openjdk-11-11.0.23+9/test/jdk/java/awt/Container/RemoveByIndexExceptionTest.java | 56 openjdk-11-11.0.23+9/test/jdk/java/awt/Container/ShowingChangedEventTest.java | 105 openjdk-11-11.0.23+9/test/jdk/java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java | 159 openjdk-11-11.0.23+9/test/jdk/java/awt/Frame/RemoveNotifyTest.java | 70 openjdk-11-11.0.23+9/test/jdk/java/awt/Icon/NullIconImageTest.java | 51 openjdk-11-11.0.23+9/test/jdk/java/awt/KeyboardFocusmanager/ChangeKFMTest.java | 93 openjdk-11-11.0.23+9/test/jdk/java/awt/KeyboardFocusmanager/PropertySupportNPETest.java | 47 openjdk-11-11.0.23+9/test/jdk/java/awt/Label/NullLabelTest.java | 59 openjdk-11-11.0.23+9/test/jdk/java/awt/Layout/InsetsTest.java | 96 openjdk-11-11.0.23+9/test/jdk/java/awt/LightweightComponent/LWClobberDragEvent.java | 169 openjdk-11-11.0.23+9/test/jdk/java/awt/LightweightComponent/LightweightDragTest.java | 151 openjdk-11-11.0.23+9/test/jdk/java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java | 72 openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/EnableTest.java | 74 openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/MenuSetLabelTest.java | 112 openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/SetLabelWithPeerCreatedTest.java | 70 openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/SetStateTest.java | 70 openjdk-11-11.0.23+9/test/jdk/java/awt/MouseInfo/ButtonsNumber.java | 41 openjdk-11-11.0.23+9/test/jdk/java/awt/MouseInfo/ContainerMousePositionTest.java | 172 openjdk-11-11.0.23+9/test/jdk/java/awt/Panel/SetForegroundTest.java | 55 openjdk-11-11.0.23+9/test/jdk/java/awt/PopupMenu/PopupMenuStayOpen.java | 115 openjdk-11-11.0.23+9/test/jdk/java/awt/Robot/RobotMoveMultiscreen.java | 95 openjdk-11-11.0.23+9/test/jdk/java/awt/Scrollbar/PageIncrementTest.java | 82 openjdk-11-11.0.23+9/test/jdk/java/awt/Scrollbar/ScrollbarKeyControlTest.java | 168 openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/ReplaceRangeTest.java | 81 openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.html | 42 openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.java | 76 openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextAreaCRLFAutoDetectTest.java | 155 openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextLengthTest.java | 116 openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextLimitTest.java | 85 openjdk-11-11.0.23+9/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.html | 42 openjdk-11-11.0.23+9/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.java | 72 openjdk-11-11.0.23+9/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java | 41 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java | 9 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DropTargetingTest.java | 304 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DroppingVMHangTest.java | 367 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/HonorTargetActionTest.java | 171 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/InterJVMLinkTest.java | 273 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/IntraJVMGetDropSuccessTest.java | 283 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/LinkAcceptanceTest.java | 382 openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/ZeroFormatTransferableTest.java | 82 openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ComponentResizedTest.java | 75 openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ObjectSourceTest.java | 58 openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ResizeDeniedTest.java | 87 openjdk-11-11.0.23+9/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/OppositeSerialization.java | 167 openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/HierarchyEventOnWindowTest.java | 75 openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/ObjectSourceTest.java | 56 openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/SpecTest.java | 1248 openjdk-11-11.0.23+9/test/jdk/java/awt/event/InputEvent/MouseModsTest.java | 286 openjdk-11-11.0.23+9/test/jdk/java/awt/event/InvocationEvent/CatchingThrowableTest.java | 47 openjdk-11-11.0.23+9/test/jdk/java/awt/event/KeyEvent/AltGraphModifier.java | 140 openjdk-11-11.0.23+9/test/jdk/java/awt/event/KeyEvent/KeyTyped/CancelKeyTyped.java | 138 openjdk-11-11.0.23+9/test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java | 132 openjdk-11-11.0.23+9/test/jdk/java/awt/event/MouseWheelEvent/WheelModifier/WheelModifier.java | 103 openjdk-11-11.0.23+9/test/jdk/java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java | 8 openjdk-11-11.0.23+9/test/jdk/java/awt/regtesthelpers/PassFailJFrame.java | 271 openjdk-11-11.0.23+9/test/jdk/java/io/File/createTempFile/SpecialTempFile.java | 20 openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/BasicLayerTest.java | 7 openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/LayerAndLoadersTest.java | 7 openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/LayerControllerTest.java | 7 openjdk-11-11.0.23+9/test/jdk/java/lang/StackWalker/StackWalkTest.java | 3 openjdk-11-11.0.23+9/test/jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh | 15 openjdk-11-11.0.23+9/test/jdk/java/lang/instrument/BootClassPath/Setup.java | 13 openjdk-11-11.0.23+9/test/jdk/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java | 2 openjdk-11-11.0.23+9/test/jdk/java/lang/management/ThreadMXBean/MaxDepthForThreadInfoTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/lang/module/AutomaticModulesTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/lang/module/ConfigurationTest.java | 7 openjdk-11-11.0.23+9/test/jdk/java/lang/ref/ReachabilityFenceTest.java | 12 openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java | 431 openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/URLPermission/URLTest.java | 8 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ALPNProxyFailureTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractNoBody.java | 2 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingPublishers.java | 2 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java | 2 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AsFileDownloadTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AsFileDownloadTest.policy | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AuthFilterCacheTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/BasicRedirectTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CancelledResponse.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ConcurrentResponses.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CookieHeaderTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CustomRequestPublisher.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CustomResponseSubscriber.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DependentActionsTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DependentPromiseActionsTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DigestEchoClient.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DigestEchoClientSSL.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EchoHandler.java | 2 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EncodedCharsInURI.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EscapedOctetsInURI.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ExpectContinue.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/FlowAdapterPublisherTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/FlowAdapterSubscriberTest.java | 8 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ForbiddenHeadTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HeadTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpClientBuilderTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpEchoHandler.java | 2 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpVersionsTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpsTunnelTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ImmutableFlowItems.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidSSLContextTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/LightWeightHttpServer.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/LineBodyHandlerTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequests.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequests2.java | 13 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequestsLegacy.java | 13 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/MappingResponseSubscriber.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/MaxStreams.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NoBodyPartOne.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NoBodyPartTwo.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NonAsciiCharsInURI.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemesSSL.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxySelectorTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyTest.java | 8 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RedirectMethodChange.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RedirectWithCookie.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RequestBodyTest.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RequestBodyTest.policy | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/Response204V2Test.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ResponseBodyBeforeError.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ResponsePublisher.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RetryWithCookie.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ServerCloseTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBody.java | 2 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyGet.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyPost.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyPostWithRetry.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SmokeTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SpecialHeadersTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponse.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseAsync.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseKeepAlive.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseKeepAliveAsync.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSL.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLAsync.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLKeepAlive.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLKeepAliveAsync.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/StreamingBody.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersSanity.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/TimeoutBasic.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UnauthorizedTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UnknownBodyLengthTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UserCookieTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/dependent.policy | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/BadHeadersTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/BasicTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ContinuationFrameTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ErrorTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/FixedThreadPoolTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ImplicitPushCancel.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/NoBodyTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ProxyTest2.java | 8 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/RedirectTest.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ServerPush.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ServerPushWithDiffTypes.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/security/Driver.java | 3 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/security/Security.java | 4 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/HandshakeUrlEncodingTest.java | 5 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/WSHandshakeExceptionTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java | 6 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/AbstractSSLTubeTest.java | 83 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java | 84 openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/SimpleSSLContext.java | 112 openjdk-11-11.0.23+9/test/jdk/java/nio/channels/DatagramChannel/Connect.java | 115 openjdk-11-11.0.23+9/test/jdk/java/nio/channels/Selector/RacyDeregister.java | 9 openjdk-11-11.0.23+9/test/jdk/java/nio/file/FileStore/Basic.java | 29 openjdk-11-11.0.23+9/test/jdk/java/nio/file/Files/CopyAndMove.java | 4 openjdk-11-11.0.23+9/test/jdk/java/security/KeyStore/PKCS12/Utils.java | 9 openjdk-11-11.0.23+9/test/jdk/java/security/SecureRandom/NoSync.java | 4 openjdk-11-11.0.23+9/test/jdk/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java | 4 openjdk-11-11.0.23+9/test/jdk/java/util/Currency/ValidateISO4217.java | 4 openjdk-11-11.0.23+9/test/jdk/java/util/Currency/tablea1.txt | 12 openjdk-11-11.0.23+9/test/jdk/java/util/TimeZone/TimeZoneData/VERSION | 2 openjdk-11-11.0.23+9/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt | 1 openjdk-11-11.0.23+9/test/jdk/java/util/logging/DrainFindDeadlockTest.java | 10 openjdk-11-11.0.23+9/test/jdk/java/util/logging/LoggingDeadlock.java | 11 openjdk-11-11.0.23+9/test/jdk/javax/net/ssl/HttpsURLConnection/Equals.java | 8 openjdk-11-11.0.23+9/test/jdk/javax/script/JDK_8196959/BadFactoryTest.sh | 4 openjdk-11-11.0.23+9/test/jdk/javax/security/auth/callback/PasswordCallback/CheckCleanerBound.java | 1 openjdk-11-11.0.23+9/test/jdk/javax/smartcardio/ResponseAPDUTest.java | 11 openjdk-11-11.0.23+9/test/jdk/javax/smartcardio/TestCardPermission.java | 141 openjdk-11-11.0.23+9/test/jdk/javax/sound/midi/SysexMessage/SendRawSysexMessage.java | 17 openjdk-11-11.0.23+9/test/jdk/javax/sound/sampled/Lines/OpenLineAfterScreenLock.java | 144 openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4143867.java | 143 openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4147740.java | 109 openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4246045.java | 120 openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxActionEvent.java | 92 openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxBorderTest.java | 95 openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java | 183 openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/TestComboBoxHeight.java | 100 openjdk-11-11.0.23+9/test/jdk/javax/swing/JComponent/bug4419219.java | 112 openjdk-11-11.0.23+9/test/jdk/javax/swing/JComponent/bug4962718.java | 92 openjdk-11-11.0.23+9/test/jdk/javax/swing/JFrame/bug4101444.java | 55 openjdk-11-11.0.23+9/test/jdk/javax/swing/JFrame/bug4208018.java | 52 openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4268949.java | 63 openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4308938.java | 57 openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4309079.java | 110 openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4320889.java | 69 openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4732229.java | 151 openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug5009724.java | 67 openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4300224.java | 50 openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4487689.java | 46 openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4832765.java | 66 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4173633.java | 42 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4186641.java | 80 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4219523.java | 60 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug5013739.java | 111 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuBar/bug4191374.java | 66 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuBar/bug4802656.java | 87 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/4654927/bug4654927.java | 92 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java | 34 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4198809.java | 55 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4304129.java | 68 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4839464.java | 265 openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4966168.java | 71 openjdk-11-11.0.23+9/test/jdk/javax/swing/JTableHeader/6889007/bug6889007.java | 29 openjdk-11-11.0.23+9/test/jdk/javax/swing/JTextField/bug4300552.java | 64 openjdk-11-11.0.23+9/test/jdk/javax/swing/JToggleButton/bug4277049.java | 57 openjdk-11-11.0.23+9/test/jdk/javax/swing/JTree/6263446/bug6263446.java | 28 openjdk-11-11.0.23+9/test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java | 52 openjdk-11-11.0.23+9/test/jdk/javax/swing/plaf/aqua/TestAltUpDownComboBox.java | 101 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/CompositeView/bug4398059.java | 115 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultCaret/bug4197894.java | 106 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultCaret/bug4203175.java | 134 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultEditorKit/bug4265242.java | 52 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultStyledDocument/bug4472852.java | 62 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4267840.java | 61 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4357975.java | 103 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLWriter/bug4841760.java | 67 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/ImageView/bug4329185.java | 119 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/InlineView/bug4623342.java | 110 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/StyleSheet/bug4218254.java | 53 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/StyleSheet/bug4243463.java | 54 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/TableView/bug4813831.java | 116 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/rtf/RTFReadFontCharsetTest.java | 131 openjdk-11-11.0.23+9/test/jdk/javax/swing/text/rtf/bug4178276.java | 55 openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeCellEditor/bug4480602.java | 133 openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeCellRenderer/bug4180224.java | 46 openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeSelectionModel/bug4485322.java | 88 openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4210354.java | 84 openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4745001.java | 174 openjdk-11-11.0.23+9/test/jdk/javax/swing/undo/UndoManager/bug4706533.java | 58 openjdk-11-11.0.23+9/test/jdk/javax/swing/undo/bug4992178.java | 67 openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/Basic.java | 93 openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/GenerationTests.java | 222 openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/HereFunction.java | 242 openjdk-11-11.0.23+9/test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java | 8 openjdk-11-11.0.23+9/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java | 2 openjdk-11-11.0.23+9/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java | 2 openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/ModuleTargetHelper.java | 75 openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/ModuleUtils.java | 83 openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java | 137 openjdk-11-11.0.23+9/test/jdk/sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java | 66 openjdk-11-11.0.23+9/test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java | 12 openjdk-11-11.0.23+9/test/jdk/sanity/client/lib/Extensions/src/org/jemmy2ext/JemmyExt.java | 177 openjdk-11-11.0.23+9/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/ButtonDemo.java | 3 openjdk-11-11.0.23+9/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java | 27 openjdk-11-11.0.23+9/test/jdk/sun/java2d/marlin/ClipShapeTest.java | 67 openjdk-11-11.0.23+9/test/jdk/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java | 59 openjdk-11-11.0.23+9/test/jdk/sun/management/jmxremote/bootstrap/JMXAgentInterfaceBinding.java | 34 openjdk-11-11.0.23+9/test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java | 93 openjdk-11-11.0.23+9/test/jdk/sun/net/www/protocol/http/RedirectOnPost.java | 5 openjdk-11-11.0.23+9/test/jdk/sun/security/krb5/auto/HttpsCB.java | 6 openjdk-11-11.0.23+9/test/jdk/sun/security/lib/cacerts/VerifyCACerts.java | 12 openjdk-11-11.0.23+9/test/jdk/sun/security/provider/KeyStore/DKSTest.java | 30 openjdk-11-11.0.23+9/test/jdk/sun/security/provider/KeyStore/DKSTest.sh | 76 openjdk-11-11.0.23+9/test/jdk/sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java | 4 openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ExportPrivateKeyNoPwd.java | 57 openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ListKeyChainStore.java | 202 openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ListKeychainStore.sh | 188 openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java | 2 openjdk-11-11.0.23+9/test/jdk/sun/security/util/RegisteredDomain/tests.dat | 4 openjdk-11-11.0.23+9/test/jdk/sun/security/x509/X509CRLImpl/UnexpectedNPE.java | 63 openjdk-11-11.0.23+9/test/jdk/sun/util/calendar/zi/GenDoc.java | 8 openjdk-11-11.0.23+9/test/jdk/sun/util/logging/PlatformLoggerTest.java | 15 openjdk-11-11.0.23+9/test/jdk/tools/jar/InputFilesTest.java | 82 openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/ModuleTargetHelper.java | 75 openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java | 1 openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java | 2 openjdk-11-11.0.23+9/test/jtreg-ext/requires/VMProps.java | 91 openjdk-11-11.0.23+9/test/langtools/TEST.groups | 8 openjdk-11-11.0.23+9/test/langtools/jdk/javadoc/doclet/testSerializedFormWithSee/TestSerializedFormWithSee.java | 136 openjdk-11-11.0.23+9/test/langtools/tools/javac/6257443/T6257443.java | 2 openjdk-11-11.0.23+9/test/langtools/tools/javac/api/T6395981.java | 61 openjdk-11-11.0.23+9/test/langtools/tools/javac/api/TestGetSourceVersions.java | 63 openjdk-11-11.0.23+9/test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java | 2 openjdk-11-11.0.23+9/test/langtools/tools/javac/lib/DPrinter.java | 2 openjdk-11-11.0.23+9/test/langtools/tools/javac/processing/environment/round/TestContext.java | 2 openjdk-11-11.0.23+9/test/langtools/tools/javac/processing/options/TestProcOption.java | 41 openjdk-11-11.0.23+9/test/langtools/tools/javac/warnings/suppress/PackageInfo.java | 2 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/SecurityTools.java | 12 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/cds/CDSTestUtils.java | 28 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java | 4 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java | 39 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/jvmti/jvmti_common.h | 910 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/net/SimpleSSLContext.java | 128 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/process/OutputAnalyzer.java | 56 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/process/ProcessTools.java | 24 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/security/XMLUtils.java | 213 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/util/FileUtils.java | 134 openjdk-11-11.0.23+9/test/lib/jdk/test/lib/util/ModuleUtils.java | 85 openjdk-11-11.0.23+9/test/lib/sun/hotspot/WhiteBox.java | 2 1268 files changed, 45227 insertions(+), 86628 deletions(-) diff -Nru openjdk-11-11.0.22+7/.jcheck/conf openjdk-11-11.0.23+9/.jcheck/conf --- openjdk-11-11.0.22+7/.jcheck/conf 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/.jcheck/conf 2024-04-08 05:38:38.000000000 +0000 @@ -1,7 +1,7 @@ [general] project=jdk-updates jbs=JDK -version=11.0.22 +version=11.0.23 [checks] error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace diff -Nru openjdk-11-11.0.22+7/debian/changelog openjdk-11-11.0.23+9/debian/changelog --- openjdk-11-11.0.22+7/debian/changelog 2024-01-19 15:46:52.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/changelog 2024-04-19 13:51:05.000000000 +0000 @@ -1,8 +1,60 @@ -openjdk-11 (11.0.22+7-1~deb11u1) bullseye-security; urgency=medium +openjdk-11 (11.0.23+9-1~deb11u1) bullseye-security; urgency=medium * Rebuild for bullseye - -- Moritz Mühlenhoff Fri, 19 Jan 2024 16:46:52 +0100 + -- Moritz Muehlenhoff Fri, 19 Apr 2024 15:51:05 +0200 + +openjdk-11 (11.0.23+9-1) unstable; urgency=high + + * OpenJDK 11.0.23 release, build 9. + - CVE-2024-21011, 8319851: Improve exception logging. + - CVE-2024-21068, 8322122: Enhance generation of addresses. + - 8318340: Improve RSA key implementations. + - CVE-2024-21012, 8315708: Enhance HTTP/2 client usage. + - CVE-2024-21094, 8317507: Already fixed in November 2023: + C2 compilation fails with "Exceeded _node_regs array". + - CVE-2024-21085, 8322114: Improve Pack 200 handling. + + [ Pushkar Kulkarni ] + * Use 64-bit clock_* function on archs like armhf. + + -- Matthias Klose Wed, 17 Apr 2024 15:39:11 +0200 + +openjdk-11 (11.0.23~7ea-1) unstable; urgency=medium + + * OpenJDK 11.0.23+7 build (early access). + + [ Matthias Klose ] + * Update cups dependencies for time_t64. + + [ Pushkar Kulkarni ] + * copyright-generator: Derive release from debian/rules. + + -- Matthias Klose Thu, 21 Mar 2024 01:56:26 +0100 + +openjdk-11 (11.0.22+7-3) unstable; urgency=medium + + * libcups2, libfontconfig1: Make it a recommends in jre-headless, + a dependency in jre. + * Make the dependencies for libfontmanager.so and libjsound.so + recommendations in jre-headless, and dependencies in jre. + * Drop build dependencies on libgtk2 | libgtk3. + * Disable running the tests for the time_t64 bootstrap. + + -- Matthias Klose Mon, 11 Mar 2024 16:32:39 +0100 + +openjdk-11 (11.0.22+7-2) unstable; urgency=medium + + [ Matthias Klose ] + * Add zero support for loong64 (Leslie Zhai). Closes: #1060821. + * d/changelog: Whitespace cleanup. + * Update build dependency on libfontconfig-dev. + * Apply proposed patch for JDK-8307977. Closes: #1034600. + + [ Vladimir Petko ] + * d/t/jtreg-autopkgtest.*: Set jtreg home property correctly. + + -- Matthias Klose Fri, 26 Jan 2024 21:04:10 +0100 openjdk-11 (11.0.22+7-1) unstable; urgency=high @@ -487,7 +539,7 @@ [ Tiago Stürmer Daitx ] * debian/rules: - copy apport hook to source_$(PKGSOURCE).py, fixes apport on - Ubuntu where source name is openjdk-lts instead of openjdk-11. + Ubuntu where source name is openjdk-lts instead of openjdk-11. * Refresh patches. [ Matthias Klose ] @@ -2948,7 +3000,7 @@ - debian/patches/gcc-4.7.diff [ James Page ] - * Cherry picked patch from openjdk-6 to fix handling of + * Cherry picked patch from openjdk-6 to fix handling of ICC profiles (LP: #888123, #888129) (Closes: #676351). [ Damien Raude-Morvan ] @@ -3033,7 +3085,7 @@ [ Matthias Klose ] * Use NanumMyeongjo as the preferred korean font. LP: #792471. - * Fix crash in java.net.NetworkInterface.getNetworkInterfaces() when + * Fix crash in java.net.NetworkInterface.getNetworkInterfaces() when ifr_ifindex exceeds 255. LP: #925218. S7078386. * Use IPAfont as the preferred japanesse font. Closes: #646054. * Build using gcj on alpha and armel. Closes: #655750. @@ -3929,7 +3981,7 @@ * Fix Vcs-Bzr location. Closes: #530883. * Search for unversioned llvm-config tool. * Don't set XFILESEARCHPATH and NLSPATH on startup. LP: #586641. - * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font. + * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font. LP: #472845. * Strip libjvm.so with --strip-debug instead of --strip-unneeded. LP: #574997. @@ -4007,7 +4059,7 @@ While libnss3.so gets loaded from /usr/lib, the dependent libraries are loaded from MOZILLA_FIVE_HOME (See #561216 for the wrong firefox config). LP: #561124. - Closes as well: LP: #551328, #554909, #560829, #549010, #553452. + Closes as well: LP: #551328, #554909, #560829, #549010, #553452. * Always build shark with hs14. -- Matthias Klose Wed, 14 Apr 2010 01:53:33 +0200 @@ -4912,7 +4964,7 @@ * Update IcedTea build infrastructure (20081111). - Fix freeze in midi app, LP: #275672. - Fixes in the IcedTeaPlugin: LP: #282570, LP: #282570, LP: #285729, - LP: #291377, LP: #37330, LP: #239533. + LP: #291377, LP: #37330, LP: #239533. - Fix vertical text metrics with freetype scaler. LP: #289784. * Build-depend on ecj-gcj instead of ecj on architectures using gij/gcj as the bootstrap system. @@ -4929,7 +4981,7 @@ openjdk-6 (6b12-0ubuntu6) intrepid; urgency=low * Make the dependency on ca-certificates-java unversioned. - * Merge from IcedTea: + * Merge from IcedTea: - plugin/icedtea/netscape/javascript/JSObject.java: Make long constructor public. @@ -4945,7 +4997,7 @@ * Configure with --pkgversion= to encode the package version in the -version output and in vm dumps. * cacao: Handle VM options Xverify:all and Xverify:none. - + -- Matthias Klose Fri, 24 Oct 2008 13:39:29 +0200 openjdk-6 (6b12-0) experimental; urgency=low @@ -5472,7 +5524,7 @@ tests taken from the Fedora package). * Keep a backup of the `generated' directory; some files are regenerated differently, increasing the size of the diff. - + -- Matthias Klose Thu, 06 Mar 2008 10:05:39 +0100 openjdk-6 (6b06-0ubuntu2) hardy; urgency=low @@ -5499,7 +5551,7 @@ icedtea-java7 (7~b24-1.5+20080118-2) UNRELEASED; urgency=low - * Fix removal of alternatives. + * Fix removal of alternatives. -- Matthias Klose Sat, 26 Jan 2008 18:41:40 +0100 @@ -5585,7 +5637,7 @@ icedtea-java7 (7~b22-1.5~20071018-0ubuntu3) hardy; urgency=low - * Revert the previous change, require 7~b22 versions again. + * Revert the previous change, require 7~b22 versions again. -- Matthias Klose Sat, 20 Oct 2007 14:33:26 +0000 diff -Nru openjdk-11-11.0.22+7/debian/control openjdk-11-11.0.23+9/debian/control --- openjdk-11-11.0.22+7/debian/control 2024-01-19 15:46:41.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/control 2024-04-19 13:50:55.000000000 +0000 @@ -7,11 +7,11 @@ m4, lsb-release, zip, unzip, sharutils, gawk, cpio, pkg-config, procps, wdiff, fastjar (>= 2:0.96-0ubuntu2), time, strip-nondeterminism, debugedit (>= 4.16), - jtreg6 (>= 6+1-0~) , libtestng7-java , xvfb , xauth , xfonts-base , libgl1-mesa-dri [!x32] , xfwm4 , x11-xkb-utils , dbus-x11 , libasmtools-java , googletest , google-mock , xvfb , + file, autoconf, automake, autotools-dev, ant, ant-optional, g++-10 , openjdk-11-jdk-headless:native | openjdk-10-jdk-headless:native, - libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, libcups2-dev, libasound2-dev, liblcms2-dev, libfreetype6-dev (>= 2.2.1), libxinerama-dev, libkrb5-dev, xsltproc, libpcsclite-dev, libxrandr-dev, libelf-dev, libfontconfig1-dev, libgtk2.0-0 | libgtk-3-0, libharfbuzz-dev, + libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, libcups2-dev, libasound2-dev, liblcms2-dev, libxinerama-dev, libkrb5-dev, xsltproc, libpcsclite-dev, libxrandr-dev, libelf-dev, libfontconfig-dev, libfreetype-dev, libharfbuzz-dev, libffi-dev, zlib1g-dev:native, zlib1g-dev, libattr1-dev, libpng-dev, libjpeg-dev, libgif-dev, libnss3-dev (>= 2:3.17.1), @@ -24,7 +24,7 @@ Vcs-Git: https://salsa.debian.org/openjdk-team/openjdk.git -b openjdk-11 Package: openjdk-11-jdk-headless -Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 +Architecture: alpha amd64 armel armhf arm64 i386 ia64 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 Multi-Arch: same Pre-Depends: ${dpkg:Depends} Depends: openjdk-11-jre-headless (= ${binary:Version}), @@ -42,14 +42,15 @@ applets, and components using the Java programming language. Package: openjdk-11-jre-headless -Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 +Architecture: alpha amd64 armel armhf arm64 i386 ia64 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 Multi-Arch: same Pre-Depends: ${dpkg:Depends} Depends: ${jredefault:Depends}, ${cacert:Depends}, ${jcommon:Depends}, ${dlopenhl:Depends}, ${mountpoint:Depends}, ${shlibs:Depends}, ${misc:Depends} -Recommends: ${dlopenhl:Recommends} +Recommends: ${dlopenhl:Recommends}, + ${fontmanager:Recommends}, ${jsound:Recommends} Suggests: libnss-mdns, fonts-dejavu-extra, fonts-ipafont-gothic, fonts-ipafont-mincho, fonts-wqy-microhei | fonts-wqy-zenhei, fonts-indic, @@ -67,7 +68,7 @@ using ${vm:Name}. Package: openjdk-11-jdk -Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 +Architecture: alpha amd64 armel armhf arm64 i386 ia64 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 Multi-Arch: same Pre-Depends: ${dpkg:Depends} Depends: openjdk-11-jre (= ${binary:Version}), @@ -85,11 +86,11 @@ applets, and components using the Java programming language. Package: openjdk-11-jre -Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 +Architecture: alpha amd64 armel armhf arm64 i386 ia64 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 Multi-Arch: same Pre-Depends: ${dpkg:Depends} Depends: openjdk-11-jre-headless (= ${binary:Version}), - ${xandsound:Depends}, ${dlopenjre:Depends}, + ${dlopenjre:Depends}, ${fontmanager:Depends}, ${jsound:Depends}, ${shlibs:Depends}, ${misc:Depends} Recommends: ${dlopenjre:Recommends}, ${bridge:Recommends}, fonts-dejavu-extra Provides: java-runtime (= ${vm:Version}), java2-runtime, @@ -104,7 +105,7 @@ programs, using ${vm:Name}. Package: openjdk-11-demo -Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 +Architecture: alpha amd64 armel armhf arm64 i386 ia64 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 Priority: optional Pre-Depends: ${dpkg:Depends} Depends: openjdk-11-jre (= ${binary:Version}), @@ -141,7 +142,7 @@ This package contains the API documentation. Package: openjdk-11-dbg -Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 +Architecture: alpha amd64 armel armhf arm64 i386 ia64 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 Multi-Arch: same Priority: optional Section: debug diff -Nru openjdk-11-11.0.22+7/debian/control.in openjdk-11-11.0.23+9/debian/control.in --- openjdk-11-11.0.22+7/debian/control.in 2024-01-19 15:46:33.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/control.in 2024-04-19 13:50:41.000000000 +0000 @@ -49,7 +49,8 @@ ${jcommon:Depends}, ${dlopenhl:Depends}, ${mountpoint:Depends}, ${shlibs:Depends}, ${misc:Depends} -Recommends: ${dlopenhl:Recommends} +Recommends: ${dlopenhl:Recommends}, + ${fontmanager:Recommends}, ${jsound:Recommends} Suggests: libnss-mdns, @core_fonts@, @cjk_fonts@ @@ -89,7 +90,7 @@ Multi-Arch: same Pre-Depends: ${dpkg:Depends} Depends: @basename@-jre-headless (= ${binary:Version}), - ${xandsound:Depends}, ${dlopenjre:Depends}, + ${dlopenjre:Depends}, ${fontmanager:Depends}, ${jsound:Depends}, ${shlibs:Depends}, ${misc:Depends} Recommends: ${dlopenjre:Recommends}, ${bridge:Recommends}, @core_fonts@ Provides: java-runtime (= ${vm:Version}), java2-runtime, diff -Nru openjdk-11-11.0.22+7/debian/copyright-generator/copyright-gen.py openjdk-11-11.0.23+9/debian/copyright-generator/copyright-gen.py --- openjdk-11-11.0.22+7/debian/copyright-generator/copyright-gen.py 2024-01-17 11:46:24.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/copyright-generator/copyright-gen.py 2024-03-21 00:54:17.000000000 +0000 @@ -19,6 +19,7 @@ # The script must be able to look into "debian/rules" and deduce these exclusions. import os +import re import sys import textwrap @@ -270,19 +271,23 @@ os.system(f"rm -rf *.debian.tar.xz *.orig.tar.xz *.dsc *googletest.tar.xz"); + +def detect_version(): + with open("debian/rules", 'r') as file: + content = file.read() + match = re.search(r'shortver\t=\s+(\d{2})', content) + if match: + return match.group(1) + def main(): global version + version = detect_version() + sys.stdout = open('./debian/copyright', 'w') supported_versions = ["11", "17", "21", "22", "23"] - if (len(sys.argv) >= 1): - version = sys.argv[1] - - if version == "" or version == "--help" or version == "-help" or version == "help": - print("Usage:\ndebian/copyright-generator/copyright-gen.py ", file=sys.stderr) - print("version - 11 | 17 | 21 | 22 | 23", file=sys.stderr) - elif version in supported_versions: + if version in supported_versions: generate_copyright() else: print("Version not supported.") diff -Nru openjdk-11-11.0.22+7/debian/patches/8307977-proposed.diff openjdk-11-11.0.23+9/debian/patches/8307977-proposed.diff --- openjdk-11-11.0.22+7/debian/patches/8307977-proposed.diff 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/patches/8307977-proposed.diff 2024-03-21 00:54:17.000000000 +0000 @@ -0,0 +1,81 @@ +Description: attach in linux hangs due to permission denied accessing /proc/pid/root + The attach API uses /proc/pid/root in order to support containers. + Dereferencing this symlink is governed by ptrace access mode PTRACE_MODE_READ_FSCREDS + which may not succeed when running as the user running the JRE. + This breaks running jcmd and jmap as the same user the JVM is running as. + Use tmpdir when pid matches ns_pid. +Author: Sebastian Lövdahl +Bug: https://bugs.openjdk.org/browse/JDK-8307977 +Bug: https://bugs.openjdk.org/browse/JDK-8226919 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034601 +Last-Update: 2023-04-18 + +From 36b554e2de46d77898be4d0feae0ee2171b445bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Sebastian=20L=C3=B6vdahl?= +Date: Tue, 18 Apr 2023 12:50:32 +0300 +Subject: [PATCH] 8226919: Fix dynamic attach in Linux for non-container + environments + +--- + .../sun/tools/attach/VirtualMachineImpl.java | 37 ++++++++++++------- + 1 file changed, 23 insertions(+), 14 deletions(-) + +--- a/src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ++++ b/src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java +@@ -267,11 +267,8 @@ public class VirtualMachineImpl extends + } + + // Return the socket file for the given process. +- private File findSocketFile(int pid, int ns_pid) { +- // A process may not exist in the same mount namespace as the caller. +- // Instead, attach relative to the target root filesystem as exposed by +- // procfs regardless of namespaces. +- String root = "/proc/" + pid + "/root/" + tmpdir; ++ private File findSocketFile(int pid, int ns_pid) throws IOException { ++ String root = findTargetProcessTmpDirectory(pid, ns_pid); + return new File(root, ".java_pid" + ns_pid); + } + +@@ -286,21 +283,33 @@ public class VirtualMachineImpl extends + try { + f.createNewFile(); + } catch (IOException x) { +- String root; +- if (pid != ns_pid) { +- // A process may not exist in the same mount namespace as the caller. +- // Instead, attach relative to the target root filesystem as exposed by +- // procfs regardless of namespaces. +- root = "/proc/" + pid + "/root/" + tmpdir; +- } else { +- root = tmpdir; +- } ++ String root = findTargetProcessTmpDirectory(pid, ns_pid); + f = new File(root, fn); + f.createNewFile(); + } + return f; + } + ++ private String findTargetProcessTmpDirectory(int pid, int ns_pid) throws IOException { ++ String root; ++ if (pid != ns_pid) { ++ // A process may not exist in the same mount namespace as the caller. ++ // Instead, attach relative to the target root filesystem as exposed by ++ // procfs regardless of namespaces. ++ String procRootDirectory = "/proc/" + pid + "/root"; ++ if (!Files.isReadable(Path.of(procRootDirectory))) { ++ throw new IOException( ++ String.format("Unable to access root directory %s " + ++ "of target process %d", procRootDirectory, pid)); ++ } ++ ++ root = procRootDirectory + "/" + tmpdir; ++ } else { ++ root = tmpdir; ++ } ++ return root; ++ } ++ + /* + * Write/sends the given to the target VM. String is transmitted in + * UTF-8 encoding. diff -Nru openjdk-11-11.0.22+7/debian/patches/loong64-autoconf-config.diff openjdk-11-11.0.23+9/debian/patches/loong64-autoconf-config.diff --- openjdk-11-11.0.22+7/debian/patches/loong64-autoconf-config.diff 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/patches/loong64-autoconf-config.diff 2024-03-21 00:54:17.000000000 +0000 @@ -0,0 +1,10 @@ +--- a/make/autoconf/build-aux/autoconf-config.sub ++++ b/make/autoconf/build-aux/autoconf-config.sub +@@ -275,6 +275,7 @@ case $basic_machine in + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ ++ | loongarch32 | loongarch64 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep \ + | mips | mipsbe | mipseb | mipsel | mipsle \ diff -Nru openjdk-11-11.0.22+7/debian/patches/series openjdk-11-11.0.23+9/debian/patches/series --- openjdk-11-11.0.22+7/debian/patches/series 2023-10-18 08:29:59.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/patches/series 2024-04-17 13:39:11.000000000 +0000 @@ -39,3 +39,6 @@ ldap-timeout-test-use-ip.patch test-use-ip-address.patch nss-limited-ecc-tests.patch +loong64-autoconf-config.diff +8307977-proposed.diff +use_clock64_fns_armhf.patch diff -Nru openjdk-11-11.0.22+7/debian/patches/use_clock64_fns_armhf.patch openjdk-11-11.0.23+9/debian/patches/use_clock64_fns_armhf.patch --- openjdk-11-11.0.22+7/debian/patches/use_clock64_fns_armhf.patch 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/patches/use_clock64_fns_armhf.patch 2024-04-17 13:39:11.000000000 +0000 @@ -0,0 +1,76 @@ +Description: Dynamically link with *64 versions of clock_* functions + On 32-bit archs that implement a 64-bit time_t, clock_* functions + linked via dlsym() should be the *64 versions of them. For example, + on such archs, we should try to link with __clock_gettime64 first + and fallback to linking with clock_gettime if the *64 version is + not available. +Author: Pushkar Kulkarni +Forwarded: no + +--- a/src/hotspot/os/posix/os_posix.cpp ++++ b/src/hotspot/os/posix/os_posix.cpp +@@ -1777,10 +1777,22 @@ + + _clock_gettime = NULL; + +- int (*clock_getres_func)(clockid_t, struct timespec*) = +- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); +- int (*clock_gettime_func)(clockid_t, struct timespec*) = +- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); ++ int (*clock_getres_func)(clockid_t, struct timespec*) = NULL; ++ int (*clock_gettime_func)(clockid_t, struct timespec*) = NULL; ++ ++ if (sizeof(long) != sizeof(time_t)) { ++ // typically, 32-bit archs with 64-bit time_t ++ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_getres64"); ++ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_gettime64"); ++ } ++ ++ // Fallback for archs with sizeof(long) == sizeof(time_t), ++ // Also for archs with sizeof(long) != sizeof(time_t), but no *64 clock functions ++ if (clock_getres_func == NULL || clock_gettime_func == NULL) { ++ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); ++ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); ++ } ++ + if (clock_getres_func != NULL && clock_gettime_func != NULL) { + // We assume that if both clock_gettime and clock_getres support + // CLOCK_MONOTONIC then the OS provides true high-res monotonic clock. +--- a/src/hotspot/os/linux/os_linux.cpp ++++ b/src/hotspot/os/linux/os_linux.cpp +@@ -1479,10 +1479,22 @@ + } + + if (handle) { +- int (*clock_getres_func)(clockid_t, struct timespec*) = +- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); +- int (*clock_gettime_func)(clockid_t, struct timespec*) = +- (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); ++ int (*clock_getres_func)(clockid_t, struct timespec*) = NULL; ++ int (*clock_gettime_func)(clockid_t, struct timespec*) = NULL; ++ ++ if (sizeof(long) != sizeof(time_t)) { ++ // typically, 32-bit archs with 64-bit time_t ++ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_getres64"); ++ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "__clock_gettime64"); ++ } ++ ++ // Fallback for archs with sizeof(long) == sizeof(time_t), ++ // Also for archs with sizeof(long) != sizeof(time_t), but no *64 clock functions ++ if (clock_getres_func == NULL || clock_gettime_func == NULL) { ++ clock_getres_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_getres"); ++ clock_gettime_func = (int(*)(clockid_t, struct timespec*))dlsym(handle, "clock_gettime"); ++ } ++ + if (clock_getres_func && clock_gettime_func) { + // See if monotonic clock is supported by the kernel. Note that some + // early implementations simply return kernel jiffies (updated every +@@ -1511,7 +1523,7 @@ + + #ifndef SYS_clock_getres + #if defined(X86) || defined(PPC64) || defined(S390) +- #define SYS_clock_getres AMD64_ONLY(229) IA32_ONLY(266) PPC64_ONLY(247) S390_ONLY(261) ++ #define SYS_clock_getres AMD64_ONLY(229) IA32_ONLY(sizeof(time_t) == 8 ? 406 : 266) PPC64_ONLY(247) S390_ONLY(261) + #define sys_clock_getres(x,y) ::syscall(SYS_clock_getres, x, y) + #else + #warning "SYS_clock_getres not defined for this platform, disabling fast_thread_cpu_time" diff -Nru openjdk-11-11.0.22+7/debian/rules openjdk-11-11.0.23+9/debian/rules --- openjdk-11-11.0.22+7/debian/rules 2024-01-17 15:27:37.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/rules 2024-04-17 13:39:11.000000000 +0000 @@ -169,11 +169,11 @@ ifneq (,$(filter $(distrel), precise trusty)) with_docs = endif -# with_check = disabled for this upload +with_check = disabled for this upload with_wqy_zenhai = $(if $(filter $(distrel),lenny),,yes) -arch_map := alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i586 m68k=m68k mips=mips mipsel=mipsel mips64=mips64 mips64el=mips64el powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le riscv64=riscv64 sparc=sparc sparc64=sparcv9 sh4=sh s390x=s390x ia64=ia64 x32=x32 +arch_map := alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i586 loong64=loongarch64 m68k=m68k mips=mips mipsel=mipsel mips64=mips64 mips64el=mips64el powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le riscv64=riscv64 sparc=sparc sparc64=sparcv9 sh4=sh s390x=s390x ia64=ia64 x32=x32 jvmarch := $(strip $(patsubst $(DEB_HOST_ARCH_CPU)=%, %, \ $(filter $(DEB_HOST_ARCH_CPU)=%, $(arch_map)))) @@ -183,7 +183,7 @@ default_vm = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),hotspot,zero) -any_archs = alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 +any_archs = alpha amd64 armel armhf arm64 i386 ia64 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32 altzero_archs = $(hotspot_archs) ifneq (,$(filter $(distrel),trusty)) @@ -592,7 +592,7 @@ all_tools += jaotc jdk_hl_tools += jaotc endif -ifeq (,$(filter $(DEB_HOST_ARCH), alpha armel ia64 m68k mips mipsel mips64el powerpc riscv64 s390x sh4 x32)) +ifeq (,$(filter $(DEB_HOST_ARCH), alpha armel ia64 loong64 m68k mips mipsel mips64el powerpc riscv64 s390x sh4 x32)) all_tools += jhsdb jdk_hl_tools += jhsdb endif @@ -651,9 +651,22 @@ libgif-dev, bd_openjdk = \ libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, libcups2-dev, \ - libasound2-dev, liblcms2-dev, libfreetype6-dev (>= 2.2.1), \ + libasound2-dev, liblcms2-dev, \ libxinerama-dev, libkrb5-dev, xsltproc, libpcsclite-dev, libxrandr-dev, \ - libelf-dev, libfontconfig1-dev, libgtk2.0-0 | libgtk-3-0, + libelf-dev, +# not needed? +#bd_openjdk += libgtk2.0-0 | libgtk-3-0, +#bd_openjdk += libgtk2.0-0t64 | libgtk-3-0t64, +ifneq (,$(filter $(distrel),jessie stretch buster precise trusty xenial bionic focal)) + bd_openjdk += libfontconfig1-dev, +else + bd_openjdk += libfontconfig-dev, +endif +ifneq (,$(filter $(distrel),jessie stretch buster precise trusty xenial bionic)) + bd_openjdk += libfreetype6-dev (>= 2.2.1), +else + bd_openjdk += libfreetype-dev, +endif ifeq ($(with_system_hb),yes) bd_openjdk += libharfbuzz-dev, endif @@ -711,8 +724,22 @@ bd_check = file, endif -dlopen_hl_depends = \ - libcups2, liblcms2-2, +ifeq (,$(filter $(distrel),squeeze wheezy jessie stretch buster bullseye bookworm lucid precise trusty xenial bionic focal jammy lunar mantic)) + t64_suffix = t64 +endif + +dlopen_hl_depends = +dlopen_hl_recommends = + +ifeq (,$(t64_suffix)) + dlopen_hl_depends += libcups2, + dlopen_hl_depends += libfontconfig1, +else + dlopen_hl_recommends += libcups2$(t64_suffix), + dlopen_hl_recommends += libfontconfig1, +endif +dlopen_hl_depends += liblcms2-2, + ifeq ($(derivative),Ubuntu) ifneq (,$(filter $(distrel),lucid)) dlopen_hl_depends += libjpeg62, @@ -726,7 +753,6 @@ dlopen_hl_depends += libjpeg62-turbo, endif endif -dlopen_hl_depends += libfontconfig1, ifneq ($(with_nss),no) ifneq (,$(filter $(distrel),squeeze lucid precise)) dlopen_hl_depends += , libnss3-1d (>= 3.12.3) @@ -736,9 +762,17 @@ dlopen_hl_depends += , libnss3 (>= 2:3.17.1) endif endif -dlopen_hl_recommends = -dlopen_jre_depends = \ - libglib2.0-0 (>= 2.24), libgtk2.0-0 | libgtk-3-0, libxrandr2, libxinerama1, + +dlopen_jre_depends = +dlopen_jre_recommends = +ifeq (,$(t64_suffix)) + dlopen_jre_depends += libglib2.0-0 (>= 2.24), + dlopen_jre_depends += libgtk2.0-0 | libgtk-3-0, +else + dlopen_jre_depends += libglib2.0-0t64 (>= 2.24), + dlopen_jre_depends += libgtk2.0-0t64 | libgtk-3-0t64, +endif +dlopen_jre_depends += libxrandr2, libxinerama1, ifneq (,$(filter $(distrel),squeeze wheezy jessie stretch lucid precise xenial)) dlopen_jre_depends = libgl1-mesa-glx | libgl1, else @@ -747,7 +781,12 @@ ifeq ($(with_system_hb),yes) dlopen_jre_depends += libharfbuzz0b, endif -dlopen_jre_recommends = +ifeq (,$(findstring libcups, $(dlopen_hl_depends))) + dlopen_jre_depends += libcups2$(t64_suffix), +endif +ifeq (,$(findstring libfontconfig, $(dlopen_hl_depends))) + dlopen_jre_depends += libfontconfig1, +endif # .desktop files need to be multiarch installable java_launcher = /$(basedir)/bin/java @@ -973,7 +1012,7 @@ mkdir -p bin ifeq (0,1) -ifeq (,$(filter $(DEB_HOST_ARCH), alpha amd64 arm64 hppa mips64 mips64el ppc64 ppc64el s390x sparc64 x32)) +ifeq (,$(filter $(DEB_HOST_ARCH), alpha amd64 arm64 hppa loong64 mips64 mips64el ppc64 ppc64el s390x sparc64 x32)) ( \ echo '#! /bin/sh'; \ echo 'if [ -x /usr/bin/linux32 ]; then'; \ @@ -1080,7 +1119,7 @@ stamps/build: stamps/configure @echo '========== $@ ==========' -ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 m68k mips mipsel mips64 mips64el powerpc powerpcspe riscv64 s390x sh4 sparc sparc64)) +ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 loong64 m68k mips mipsel mips64 mips64el powerpc powerpcspe riscv64 s390x sh4 sparc sparc64)) sh -c 'sh debian/buildwatch.sh $(CURDIR)/$(builddir) &' endif if $(EXTRA_BUILD_ENV) $(MAKE) -C $(builddir) $(build_target); then \ @@ -1869,9 +1908,24 @@ dh_compress -a $(nodemo) $(nojrez) -Xexamples -Xdemo -Xpackage-list dh_fixperms -a $(nodemo) $(nojrez) dh_makeshlibs -p$(p_jrehl) -p$(p_jre) +ifneq (,$(filter $(distrel),squeeze wheezy jessie stretch buster bullseye bookworm lucid precise trusty xenial bionic focal jammy lunar mantic)) + dh_shlibdeps -a $(nodemo) $(nojrez) -L $(p_jrehl) \ + -l$(shlibdeps_ld_path) \ + -- +else dh_shlibdeps -a $(nodemo) $(nojrez) -L $(p_jrehl) \ + -Xlibfontmanager -Xlibjsound \ -l$(shlibdeps_ld_path) \ -- + dpkg-shlibdeps -pfontmanager -dRecommends -T$(d_jrehl).substvars \ + $(d_jrehl)/$(basedir)/lib/libfontmanager.so + dpkg-shlibdeps -pfontmanager -T$(d_jre).substvars \ + $(d_jrehl)/$(basedir)/lib/libfontmanager.so + dpkg-shlibdeps -pjsound -dRecommends -T$(d_jrehl).substvars \ + $(d_jrehl)/$(basedir)/lib/libjsound.so + dpkg-shlibdeps -pjsound -T$(d_jre).substvars \ + $(d_jrehl)/$(basedir)/lib/libjsound.so +endif find $(d_jrehl) $(d_jre) $(d_jrez) -type f -name '*.debuginfo' dh_installdeb -a $(nodemo) $(nojrez) dh_gencontrol -a $(nodemo) $(nojrez) \ @@ -1883,7 +1937,7 @@ dh_builddeb -a $(nodemo) $(nojrez) #$(bd_options) git_project = jdk11u -git_tag = jdk-11.0.22+7 +git_tag = jdk-11.0.23+9 package_version = $(subst jdk-,,$(git_tag)) package_version = $(shell echo $(PKGVERSION) | sed 's/-[^-][^-]*$$//') ifneq ($(is_upstream_release),yes) diff -Nru openjdk-11-11.0.22+7/debian/tests/jtreg-autopkgtest.in openjdk-11-11.0.23+9/debian/tests/jtreg-autopkgtest.in --- openjdk-11-11.0.22+7/debian/tests/jtreg-autopkgtest.in 2023-10-18 07:26:36.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/tests/jtreg-autopkgtest.in 2024-03-21 00:54:17.000000000 +0000 @@ -39,6 +39,11 @@ exit 1 fi +if [ ! -x "${BOOTJDK_HOME}/bin/java" ]; then + echo "Error: '${BOOTJDK_HOME}/bin/java' is not an executable." >&2 + exit 1 +fi + # restrict the tests to a few archs (set from debian/rules) if ! echo "${host_arch}" | grep -qE "^($(echo @jtreg_archs@ | tr ' ' '|'))$"; then echo "Error: ${host_arch} is not on the jtreg_archs list, ignoring it." @@ -92,7 +97,7 @@ report_path="${i}/JTreport" report_dir="${output_dir}/${report_path}" jtreg ${jt_options} \ - -vmoption:-Djtreg.home=/usr/share/jtreg \ + -J-Djtreg.home=/usr/share/jtreg \ -verbose:summary \ -automatic \ -retain:none \ diff -Nru openjdk-11-11.0.22+7/debian/tests/jtreg-autopkgtest.sh openjdk-11-11.0.23+9/debian/tests/jtreg-autopkgtest.sh --- openjdk-11-11.0.22+7/debian/tests/jtreg-autopkgtest.sh 2024-01-17 15:28:29.000000000 +0000 +++ openjdk-11-11.0.23+9/debian/tests/jtreg-autopkgtest.sh 2024-03-21 00:54:17.000000000 +0000 @@ -39,6 +39,11 @@ exit 1 fi +if [ ! -x "${BOOTJDK_HOME}/bin/java" ]; then + echo "Error: '${BOOTJDK_HOME}/bin/java' is not an executable." >&2 + exit 1 +fi + # restrict the tests to a few archs (set from debian/rules) if ! echo "${host_arch}" | grep -qE "^($(echo amd64 i386 arm64 armhf ppc64 ppc64el sparc64 s390x alpha ia64 powerpc powerpcspe ppc64 sh4 x32 armel mipsel mips64el | tr ' ' '|'))$"; then echo "Error: ${host_arch} is not on the jtreg_archs list, ignoring it." @@ -92,7 +97,7 @@ report_path="${i}/JTreport" report_dir="${output_dir}/${report_path}" jtreg ${jt_options} \ - -vmoption:-Djtreg.home=/usr/share/jtreg \ + -J-Djtreg.home=/usr/share/jtreg \ -verbose:summary \ -automatic \ -retain:none \ diff -Nru openjdk-11-11.0.22+7/doc/building.html openjdk-11-11.0.23+9/doc/building.html --- openjdk-11-11.0.22+7/doc/building.html 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/doc/building.html 2024-04-08 05:38:38.000000000 +0000 @@ -296,6 +296,7 @@ +

All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.

gcc

The minimum accepted version of gcc is 4.8. Older versions will generate a warning by configure and are unlikely to work.

The JDK is currently known to be able to compile with at least version 7.4 of gcc.

diff -Nru openjdk-11-11.0.22+7/doc/testing.html openjdk-11-11.0.23+9/doc/testing.html --- openjdk-11-11.0.22+7/doc/testing.html 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/doc/testing.html 2024-04-08 05:38:38.000000000 +0000 @@ -147,6 +147,9 @@

Use additional problem lists file or files, in addition to the default ProblemList.txt located at the JTReg test roots.

If multiple file names are specified, they should be separated by space (or, to help avoid quoting issues, the special value %20).

The file names should be either absolute, or relative to the JTReg test root of the tests to be run.

+

RUN_PROBLEM_LISTS

+

Use the problem lists to select tests instead of excluding them.

+

Set to true or false. If true, JTReg will use -match: option, otherwise -exclude: will be used. Default is false.

OPTIONS

Additional options to the JTReg test framework.

Use JTREG="OPTIONS=--help all" to see all available JTReg options.

diff -Nru openjdk-11-11.0.22+7/doc/testing.md openjdk-11-11.0.23+9/doc/testing.md --- openjdk-11-11.0.22+7/doc/testing.md 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/doc/testing.md 2024-04-08 05:38:38.000000000 +0000 @@ -297,6 +297,14 @@ The file names should be either absolute, or relative to the JTReg test root of the tests to be run. +#### RUN_PROBLEM_LISTS + +Use the problem lists to select tests instead of excluding them. + +Set to `true` or `false`. +If `true`, JTReg will use `-match:` option, otherwise `-exclude:` will be used. +Default is `false`. + #### OPTIONS Additional options to the JTReg test framework. diff -Nru openjdk-11-11.0.22+7/make/RunTests.gmk openjdk-11-11.0.23+9/make/RunTests.gmk --- openjdk-11-11.0.22+7/make/RunTests.gmk 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/RunTests.gmk 2024-04-08 05:38:38.000000000 +0000 @@ -264,7 +264,7 @@ $(eval $(call ParseKeywordVariable, JTREG, \ SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR TEST_MODE ASSERT VERBOSE RETAIN \ - MAX_MEM RETRY_COUNT REPEAT_COUNT, \ + MAX_MEM RUN_PROBLEM_LISTS RETRY_COUNT REPEAT_COUNT, \ STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \ EXTRA_PROBLEM_LISTS AOT_MODULES, \ )) @@ -639,6 +639,7 @@ endif JTREG_VERBOSE ?= fail,error,summary JTREG_RETAIN ?= fail,error + JTREG_RUN_PROBLEM_LISTS ?= false JTREG_RETRY_COUNT ?= 0 JTREG_REPEAT_COUNT ?= 0 @@ -673,8 +674,10 @@ $1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK) # If running on Windows, propagate the _NT_SYMBOL_PATH to enable # symbol lookup in hserr files + # The minidumps are disabled by default on client Windows, so enable them ifeq ($$(call isTargetOs, windows), true) $1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH + $1_JTREG_BASIC_OPTIONS += -vmoption:-XX:+CreateCoredumpOnCrash endif $1_JTREG_BASIC_OPTIONS += \ @@ -690,13 +693,19 @@ $1_JTREG_BASIC_OPTIONS += -nativepath:$$($1_JTREG_NATIVEPATH) endif + ifeq ($$(JTREG_RUN_PROBLEM_LISTS), true) + JTREG_PROBLEM_LIST_PREFIX := -match: + else + JTREG_PROBLEM_LIST_PREFIX := -exclude: + endif + ifneq ($$($1_JTREG_PROBLEM_LIST), ) - $1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$($1_JTREG_PROBLEM_LIST)) + $1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$($1_JTREG_PROBLEM_LIST)) endif ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), ) # Accept both absolute paths as well as relative to the current test root. - $1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$(wildcard \ + $1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \ $$(JTREG_EXTRA_PROBLEM_LISTS) \ $$(addprefix $$($1_TEST_ROOT)/, $$(JTREG_EXTRA_PROBLEM_LISTS)) \ )) @@ -735,8 +744,9 @@ $1_JTREG_BASIC_OPTIONS += -vmoptions:"$$($1_AOT_OPTIONS)" endif - clean-workdir-$1: + clean-outputdirs-$1: $$(RM) -r $$($1_TEST_SUPPORT_DIR) + $$(RM) -r $$($1_TEST_RESULTS_DIR) $1_COMMAND_LINE := \ $$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \ @@ -780,7 +790,7 @@ done endif - run-test-$1: clean-workdir-$1 $$($1_AOT_TARGETS) + run-test-$1: clean-outputdirs-$1 $$($1_AOT_TARGETS) $$(call LogWarn) $$(call LogWarn, Running test '$$($1_TEST)') $$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \ diff -Nru openjdk-11-11.0.22+7/make/autoconf/lib-x11.m4 openjdk-11-11.0.23+9/make/autoconf/lib-x11.m4 --- openjdk-11-11.0.22+7/make/autoconf/lib-x11.m4 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/autoconf/lib-x11.m4 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -35,6 +35,7 @@ X_CFLAGS= X_LIBS= else + x_libraries_orig="$x_libraries" if test "x${with_x}" = xno; then AC_MSG_ERROR([It is not possible to disable the use of X11. Remove the --without-x option.]) @@ -48,6 +49,7 @@ fi if test "x$x_libraries" = xNONE; then x_libraries="${with_x}/lib" + x_libraries_orig="$x_libraries" fi else # Check if the user has specified sysroot, but not --with-x, --x-includes or --x-libraries. @@ -82,8 +84,8 @@ AC_PATH_XTRA # AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling - # this doesn't make sense so we remove it. - if test "x$COMPILE_TYPE" = xcross; then + # this doesn't make sense so we remove it; same for sysroot (devkit). + if test "x$COMPILE_TYPE" = xcross || (test "x$SYSROOT" != "x" && test "x$x_libraries_orig" = xNONE); then X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'` fi diff -Nru openjdk-11-11.0.22+7/make/autoconf/toolchain.m4 openjdk-11-11.0.23+9/make/autoconf/toolchain.m4 --- openjdk-11-11.0.22+7/make/autoconf/toolchain.m4 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/autoconf/toolchain.m4 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -373,6 +373,10 @@ # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2" CFLAGS="$ORG_CFLAGS" CXXFLAGS="$ORG_CXXFLAGS" + + # filter out some unwanted additions autoconf may add to CXX; we saw this on macOS with autoconf 2.72 + UTIL_GET_NON_MATCHING_VALUES(cxx_filtered, $CXX, -std=c++11 -std=gnu++11) + CXX="$cxx_filtered" ]) # Check if a compiler is of the toolchain type we expect, and save the version diff -Nru openjdk-11-11.0.22+7/make/autoconf/util.m4 openjdk-11-11.0.23+9/make/autoconf/util.m4 --- openjdk-11-11.0.22+7/make/autoconf/util.m4 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/autoconf/util.m4 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -199,7 +199,7 @@ if test -z "$legal_values"; then $1="$2" else - result=`$GREP -Fvx "$legal_values" <<< "$values_to_check" | $GREP -v '^$'` + result=`$GREP -Fvx -- "$legal_values" <<< "$values_to_check" | $GREP -v '^$'` $1=${result//$'\n'/ } fi ]) @@ -226,7 +226,7 @@ if test -z "$illegal_values"; then $1="" else - result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'` + result=`$GREP -Fx -- "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'` $1=${result//$'\n'/ } fi ]) diff -Nru openjdk-11-11.0.22+7/make/autoconf/version-numbers openjdk-11-11.0.23+9/make/autoconf/version-numbers --- openjdk-11-11.0.22+7/make/autoconf/version-numbers 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/autoconf/version-numbers 2024-04-08 05:38:38.000000000 +0000 @@ -28,12 +28,12 @@ DEFAULT_VERSION_FEATURE=11 DEFAULT_VERSION_INTERIM=0 -DEFAULT_VERSION_UPDATE=22 +DEFAULT_VERSION_UPDATE=23 DEFAULT_VERSION_PATCH=0 DEFAULT_VERSION_EXTRA1=0 DEFAULT_VERSION_EXTRA2=0 DEFAULT_VERSION_EXTRA3=0 -DEFAULT_VERSION_DATE=2024-01-16 +DEFAULT_VERSION_DATE=2024-04-16 DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`" DEFAULT_VERSION_CLASSFILE_MINOR=0 DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11" diff -Nru openjdk-11-11.0.22+7/make/conf/jib-profiles.js openjdk-11-11.0.23+9/make/conf/jib-profiles.js --- openjdk-11-11.0.22+7/make/conf/jib-profiles.js 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/conf/jib-profiles.js 2024-04-08 05:38:38.000000000 +0000 @@ -755,10 +755,7 @@ target_os: input.build_os, target_cpu: input.build_cpu, dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ], - labels: "test", - environment: { - "JT_JAVA": common.boot_jdk_home - } + labels: "test" } }; profiles = concatObjects(profiles, testOnlyProfiles); diff -Nru openjdk-11-11.0.22+7/make/data/cacerts/certainlyroote1 openjdk-11-11.0.23+9/make/data/cacerts/certainlyroote1 --- openjdk-11-11.0.22+7/make/data/cacerts/certainlyroote1 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/cacerts/certainlyroote1 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,20 @@ +Owner: CN=Certainly Root E1, O=Certainly, C=US +Issuer: CN=Certainly Root E1, O=Certainly, C=US +Serial number: 62533b1470333275cf98d9ab9bfccf8 +Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw +CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu +bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ +BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s +eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK ++IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2 +QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4 +hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm +ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG +BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.22+7/make/data/cacerts/certainlyrootr1 openjdk-11-11.0.23+9/make/data/cacerts/certainlyrootr1 --- openjdk-11-11.0.22+7/make/data/cacerts/certainlyrootr1 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/cacerts/certainlyrootr1 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=Certainly Root R1, O=Certainly, C=US +Issuer: CN=Certainly Root R1, O=Certainly, C=US +Serial number: 8e0ff94b907168653354f4d44439b7e0 +Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw +PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy +dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9 +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0 +YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2 +1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT +vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed +aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0 +1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5 +r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5 +cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ +wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ +6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA +2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH +Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR +eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB +/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u +d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr +PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d +8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi +1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd +rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di +taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7 +lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj +yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn +Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy +yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n +wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6 +OV+KmalBWQewLK8= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.22+7/make/data/currency/CurrencyData.properties openjdk-11-11.0.23+9/make/data/currency/CurrencyData.properties --- openjdk-11-11.0.22+7/make/data/currency/CurrencyData.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/currency/CurrencyData.properties 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ # Version of the currency code information in this class. # It is a serial number that accompanies with each amendment. -dataVersion=175 +dataVersion=176 # List of all valid ISO 4217 currency codes. # To ensure compatibility, do not remove codes. @@ -55,7 +55,7 @@ SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\ TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\ UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\ - XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\ + XBB956-XBC957-XBD958-XCD951-XCG532-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\ XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\ ZWN942-ZWR935 @@ -189,11 +189,11 @@ # COTE D'IVOIRE CI=XOF # CROATIA -HR=HRK;2022-12-31-23-00-00;EUR +HR=EUR # CUBA CU=CUP # Cura\u00e7ao -CW=ANG +CW=ANG;2025-04-01-04-00-00;XCG # CYPRUS CY=EUR # CZECHIA @@ -510,7 +510,7 @@ # SVALBARD AND JAN MAYEN SJ=NOK # Sint Maarten (Dutch part) -SX=ANG +SX=ANG;2025-04-01-04-00-00;XCG # ESWATINI SZ=SZL # SWEDEN diff -Nru openjdk-11-11.0.22+7/make/data/publicsuffixlist/VERSION openjdk-11-11.0.23+9/make/data/publicsuffixlist/VERSION --- openjdk-11-11.0.22+7/make/data/publicsuffixlist/VERSION 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/publicsuffixlist/VERSION 2024-04-08 05:38:38.000000000 +0000 @@ -1,2 +1,2 @@ -Github: https://raw.githubusercontent.com/publicsuffix/list/88467c960d6cdad2ca1623e892e5e17506bc269f/public_suffix_list.dat -Date: 2023-04-14 +Github: https://raw.githubusercontent.com/publicsuffix/list/b5bf572c52988dbe9d865b8f090ea819024a9936/public_suffix_list.dat +Date: 2023-11-09 diff -Nru openjdk-11-11.0.22+7/make/data/publicsuffixlist/public_suffix_list.dat openjdk-11-11.0.23+9/make/data/publicsuffixlist/public_suffix_list.dat --- openjdk-11-11.0.22+7/make/data/publicsuffixlist/public_suffix_list.dat 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/publicsuffixlist/public_suffix_list.dat 2024-04-08 05:38:38.000000000 +0000 @@ -1059,22 +1059,11 @@ nom.fr prd.fr tm.fr -// Former "domaines sectoriels", still registration suffixes -aeroport.fr -avocat.fr +// Other SLDs now selfmanaged out of AFNIC range. Former "domaines sectoriels", still registration suffixes avoues.fr cci.fr -chambagri.fr -chirurgiens-dentistes.fr -experts-comptables.fr -geometre-expert.fr greta.fr huissier-justice.fr -medecin.fr -notaires.fr -pharmacien.fr -port.fr -veterinaire.fr // ga : https://en.wikipedia.org/wiki/.ga ga @@ -5146,52 +5135,60 @@ // Government domains gov.pl ap.gov.pl +griw.gov.pl ic.gov.pl is.gov.pl -us.gov.pl kmpsp.gov.pl +konsulat.gov.pl kppsp.gov.pl -kwpsp.gov.pl -psp.gov.pl -wskr.gov.pl kwp.gov.pl +kwpsp.gov.pl +mup.gov.pl mw.gov.pl -ug.gov.pl -um.gov.pl -umig.gov.pl -ugim.gov.pl -upow.gov.pl -uw.gov.pl -starostwo.gov.pl +oia.gov.pl +oirm.gov.pl +oke.gov.pl +oow.gov.pl +oschr.gov.pl +oum.gov.pl pa.gov.pl +pinb.gov.pl +piw.gov.pl po.gov.pl +pr.gov.pl +psp.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl +sdn.gov.pl +sko.gov.pl so.gov.pl sr.gov.pl -wsa.gov.pl -sko.gov.pl +starostwo.gov.pl +ug.gov.pl +ugim.gov.pl +um.gov.pl +umig.gov.pl +upow.gov.pl +uppo.gov.pl +us.gov.pl +uw.gov.pl uzs.gov.pl +wif.gov.pl wiih.gov.pl winb.gov.pl -pinb.gov.pl wios.gov.pl witd.gov.pl -wzmiuw.gov.pl -piw.gov.pl wiw.gov.pl -griw.gov.pl -wif.gov.pl -oum.gov.pl -sdn.gov.pl -zp.gov.pl -uppo.gov.pl -mup.gov.pl +wkz.gov.pl +wsa.gov.pl +wskr.gov.pl +wsse.gov.pl wuoz.gov.pl -konsulat.gov.pl -oirm.gov.pl +wzmiuw.gov.pl +zp.gov.pl +zpisdn.gov.pl // pl regional domains (http://www.dns.pl/english/index.html) augustow.pl babia-gora.pl @@ -5876,6 +5873,7 @@ kirovograd.ua km.ua kr.ua +kropyvnytskyi.ua krym.ua ks.ua kv.ua @@ -5883,6 +5881,7 @@ lg.ua lt.ua lugansk.ua +luhansk.ua lutsk.ua lv.ua lviv.ua @@ -5906,11 +5905,13 @@ ternopil.ua uz.ua uzhgorod.ua +uzhhorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua +zakarpattia.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua @@ -6022,7 +6023,6 @@ k12.co.us k12.ct.us k12.dc.us -k12.de.us k12.fl.us k12.ga.us k12.gu.us @@ -6264,20 +6264,89 @@ net.vi org.vi -// vn : https://www.dot.vn/vnnic/vnnic/domainregistration.jsp +// vn : https://www.vnnic.vn/en/domain/cctld-vn +// https://vnnic.vn/sites/default/files/tailieu/vn.cctld.domains.txt vn +ac.vn +ai.vn +biz.vn com.vn -net.vn -org.vn edu.vn gov.vn -int.vn -ac.vn -biz.vn +health.vn +id.vn info.vn +int.vn +io.vn name.vn +net.vn +org.vn pro.vn -health.vn + +// vn geographical names +angiang.vn +bacgiang.vn +backan.vn +baclieu.vn +bacninh.vn +baria-vungtau.vn +bentre.vn +binhdinh.vn +binhduong.vn +binhphuoc.vn +binhthuan.vn +camau.vn +cantho.vn +caobang.vn +daklak.vn +daknong.vn +danang.vn +dienbien.vn +dongnai.vn +dongthap.vn +gialai.vn +hagiang.vn +haiduong.vn +haiphong.vn +hanam.vn +hanoi.vn +hatinh.vn +haugiang.vn +hoabinh.vn +hungyen.vn +khanhhoa.vn +kiengiang.vn +kontum.vn +laichau.vn +lamdong.vn +langson.vn +laocai.vn +longan.vn +namdinh.vn +nghean.vn +ninhbinh.vn +ninhthuan.vn +phutho.vn +phuyen.vn +quangbinh.vn +quangnam.vn +quangngai.vn +quangninh.vn +quangtri.vn +soctrang.vn +sonla.vn +tayninh.vn +thaibinh.vn +thainguyen.vn +thanhhoa.vn +thanhphohochiminh.vn +thuathienhue.vn +tiengiang.vn +travinh.vn +tuyenquang.vn +vinhlong.vn +vinhphuc.vn +yenbai.vn // vu : https://en.wikipedia.org/wiki/.vu // http://www.vunic.vu/ @@ -6641,3447 +6710,4506 @@ // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-04-14T15:13:16Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-11-03T15:13:18Z // This list is auto-generated, don't edit it manually. -// aaa : 2015-02-26 American Automobile Association, Inc. +// aaa : American Automobile Association, Inc. +// https://www.iana.org/domains/root/db/aaa.html aaa -// aarp : 2015-05-21 AARP +// aarp : AARP +// https://www.iana.org/domains/root/db/aarp.html aarp -// abarth : 2015-07-30 Fiat Chrysler Automobiles N.V. -abarth - -// abb : 2014-10-24 ABB Ltd +// abb : ABB Ltd +// https://www.iana.org/domains/root/db/abb.html abb -// abbott : 2014-07-24 Abbott Laboratories, Inc. +// abbott : Abbott Laboratories, Inc. +// https://www.iana.org/domains/root/db/abbott.html abbott -// abbvie : 2015-07-30 AbbVie Inc. +// abbvie : AbbVie Inc. +// https://www.iana.org/domains/root/db/abbvie.html abbvie -// abc : 2015-07-30 Disney Enterprises, Inc. +// abc : Disney Enterprises, Inc. +// https://www.iana.org/domains/root/db/abc.html abc -// able : 2015-06-25 Able Inc. +// able : Able Inc. +// https://www.iana.org/domains/root/db/able.html able -// abogado : 2014-04-24 Registry Services, LLC +// abogado : Registry Services, LLC +// https://www.iana.org/domains/root/db/abogado.html abogado -// abudhabi : 2015-07-30 Abu Dhabi Systems and Information Centre +// abudhabi : Abu Dhabi Systems and Information Centre +// https://www.iana.org/domains/root/db/abudhabi.html abudhabi -// academy : 2013-11-07 Binky Moon, LLC +// academy : Binky Moon, LLC +// https://www.iana.org/domains/root/db/academy.html academy -// accenture : 2014-08-15 Accenture plc +// accenture : Accenture plc +// https://www.iana.org/domains/root/db/accenture.html accenture -// accountant : 2014-11-20 dot Accountant Limited +// accountant : dot Accountant Limited +// https://www.iana.org/domains/root/db/accountant.html accountant -// accountants : 2014-03-20 Binky Moon, LLC +// accountants : Binky Moon, LLC +// https://www.iana.org/domains/root/db/accountants.html accountants -// aco : 2015-01-08 ACO Severin Ahlmann GmbH & Co. KG +// aco : ACO Severin Ahlmann GmbH & Co. KG +// https://www.iana.org/domains/root/db/aco.html aco -// actor : 2013-12-12 Dog Beach, LLC +// actor : Dog Beach, LLC +// https://www.iana.org/domains/root/db/actor.html actor -// ads : 2014-12-04 Charleston Road Registry Inc. +// ads : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/ads.html ads -// adult : 2014-10-16 ICM Registry AD LLC +// adult : ICM Registry AD LLC +// https://www.iana.org/domains/root/db/adult.html adult -// aeg : 2015-03-19 Aktiebolaget Electrolux +// aeg : Aktiebolaget Electrolux +// https://www.iana.org/domains/root/db/aeg.html aeg -// aetna : 2015-05-21 Aetna Life Insurance Company +// aetna : Aetna Life Insurance Company +// https://www.iana.org/domains/root/db/aetna.html aetna -// afl : 2014-10-02 Australian Football League +// afl : Australian Football League +// https://www.iana.org/domains/root/db/afl.html afl -// africa : 2014-03-24 ZA Central Registry NPC trading as Registry.Africa +// africa : ZA Central Registry NPC trading as Registry.Africa +// https://www.iana.org/domains/root/db/africa.html africa -// agakhan : 2015-04-23 Fondation Aga Khan (Aga Khan Foundation) +// agakhan : Fondation Aga Khan (Aga Khan Foundation) +// https://www.iana.org/domains/root/db/agakhan.html agakhan -// agency : 2013-11-14 Binky Moon, LLC +// agency : Binky Moon, LLC +// https://www.iana.org/domains/root/db/agency.html agency -// aig : 2014-12-18 American International Group, Inc. +// aig : American International Group, Inc. +// https://www.iana.org/domains/root/db/aig.html aig -// airbus : 2015-07-30 Airbus S.A.S. +// airbus : Airbus S.A.S. +// https://www.iana.org/domains/root/db/airbus.html airbus -// airforce : 2014-03-06 Dog Beach, LLC +// airforce : Dog Beach, LLC +// https://www.iana.org/domains/root/db/airforce.html airforce -// airtel : 2014-10-24 Bharti Airtel Limited +// airtel : Bharti Airtel Limited +// https://www.iana.org/domains/root/db/airtel.html airtel -// akdn : 2015-04-23 Fondation Aga Khan (Aga Khan Foundation) +// akdn : Fondation Aga Khan (Aga Khan Foundation) +// https://www.iana.org/domains/root/db/akdn.html akdn -// alfaromeo : 2015-07-31 Fiat Chrysler Automobiles N.V. -alfaromeo - -// alibaba : 2015-01-15 Alibaba Group Holding Limited +// alibaba : Alibaba Group Holding Limited +// https://www.iana.org/domains/root/db/alibaba.html alibaba -// alipay : 2015-01-15 Alibaba Group Holding Limited +// alipay : Alibaba Group Holding Limited +// https://www.iana.org/domains/root/db/alipay.html alipay -// allfinanz : 2014-07-03 Allfinanz Deutsche Vermögensberatung Aktiengesellschaft +// allfinanz : Allfinanz Deutsche Vermögensberatung Aktiengesellschaft +// https://www.iana.org/domains/root/db/allfinanz.html allfinanz -// allstate : 2015-07-31 Allstate Fire and Casualty Insurance Company +// allstate : Allstate Fire and Casualty Insurance Company +// https://www.iana.org/domains/root/db/allstate.html allstate -// ally : 2015-06-18 Ally Financial Inc. +// ally : Ally Financial Inc. +// https://www.iana.org/domains/root/db/ally.html ally -// alsace : 2014-07-02 Region Grand Est +// alsace : Region Grand Est +// https://www.iana.org/domains/root/db/alsace.html alsace -// alstom : 2015-07-30 ALSTOM +// alstom : ALSTOM +// https://www.iana.org/domains/root/db/alstom.html alstom -// amazon : 2019-12-19 Amazon Registry Services, Inc. +// amazon : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/amazon.html amazon -// americanexpress : 2015-07-31 American Express Travel Related Services Company, Inc. +// americanexpress : American Express Travel Related Services Company, Inc. +// https://www.iana.org/domains/root/db/americanexpress.html americanexpress -// americanfamily : 2015-07-23 AmFam, Inc. +// americanfamily : AmFam, Inc. +// https://www.iana.org/domains/root/db/americanfamily.html americanfamily -// amex : 2015-07-31 American Express Travel Related Services Company, Inc. +// amex : American Express Travel Related Services Company, Inc. +// https://www.iana.org/domains/root/db/amex.html amex -// amfam : 2015-07-23 AmFam, Inc. +// amfam : AmFam, Inc. +// https://www.iana.org/domains/root/db/amfam.html amfam -// amica : 2015-05-28 Amica Mutual Insurance Company +// amica : Amica Mutual Insurance Company +// https://www.iana.org/domains/root/db/amica.html amica -// amsterdam : 2014-07-24 Gemeente Amsterdam +// amsterdam : Gemeente Amsterdam +// https://www.iana.org/domains/root/db/amsterdam.html amsterdam -// analytics : 2014-12-18 Campus IP LLC +// analytics : Campus IP LLC +// https://www.iana.org/domains/root/db/analytics.html analytics -// android : 2014-08-07 Charleston Road Registry Inc. +// android : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/android.html android -// anquan : 2015-01-08 Beijing Qihu Keji Co., Ltd. +// anquan : Beijing Qihu Keji Co., Ltd. +// https://www.iana.org/domains/root/db/anquan.html anquan -// anz : 2015-07-31 Australia and New Zealand Banking Group Limited +// anz : Australia and New Zealand Banking Group Limited +// https://www.iana.org/domains/root/db/anz.html anz -// aol : 2015-09-17 Oath Inc. +// aol : Oath Inc. +// https://www.iana.org/domains/root/db/aol.html aol -// apartments : 2014-12-11 Binky Moon, LLC +// apartments : Binky Moon, LLC +// https://www.iana.org/domains/root/db/apartments.html apartments -// app : 2015-05-14 Charleston Road Registry Inc. +// app : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/app.html app -// apple : 2015-05-14 Apple Inc. +// apple : Apple Inc. +// https://www.iana.org/domains/root/db/apple.html apple -// aquarelle : 2014-07-24 Aquarelle.com +// aquarelle : Aquarelle.com +// https://www.iana.org/domains/root/db/aquarelle.html aquarelle -// arab : 2015-11-12 League of Arab States +// arab : League of Arab States +// https://www.iana.org/domains/root/db/arab.html arab -// aramco : 2014-11-20 Aramco Services Company +// aramco : Aramco Services Company +// https://www.iana.org/domains/root/db/aramco.html aramco -// archi : 2014-02-06 Identity Digital Limited +// archi : Identity Digital Limited +// https://www.iana.org/domains/root/db/archi.html archi -// army : 2014-03-06 Dog Beach, LLC +// army : Dog Beach, LLC +// https://www.iana.org/domains/root/db/army.html army -// art : 2016-03-24 UK Creative Ideas Limited +// art : UK Creative Ideas Limited +// https://www.iana.org/domains/root/db/art.html art -// arte : 2014-12-11 Association Relative à la Télévision Européenne G.E.I.E. +// arte : Association Relative à la Télévision Européenne G.E.I.E. +// https://www.iana.org/domains/root/db/arte.html arte -// asda : 2015-07-31 Wal-Mart Stores, Inc. +// asda : Wal-Mart Stores, Inc. +// https://www.iana.org/domains/root/db/asda.html asda -// associates : 2014-03-06 Binky Moon, LLC +// associates : Binky Moon, LLC +// https://www.iana.org/domains/root/db/associates.html associates -// athleta : 2015-07-30 The Gap, Inc. +// athleta : The Gap, Inc. +// https://www.iana.org/domains/root/db/athleta.html athleta -// attorney : 2014-03-20 Dog Beach, LLC +// attorney : Dog Beach, LLC +// https://www.iana.org/domains/root/db/attorney.html attorney -// auction : 2014-03-20 Dog Beach, LLC +// auction : Dog Beach, LLC +// https://www.iana.org/domains/root/db/auction.html auction -// audi : 2015-05-21 AUDI Aktiengesellschaft +// audi : AUDI Aktiengesellschaft +// https://www.iana.org/domains/root/db/audi.html audi -// audible : 2015-06-25 Amazon Registry Services, Inc. +// audible : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/audible.html audible -// audio : 2014-03-20 XYZ.COM LLC +// audio : XYZ.COM LLC +// https://www.iana.org/domains/root/db/audio.html audio -// auspost : 2015-08-13 Australian Postal Corporation +// auspost : Australian Postal Corporation +// https://www.iana.org/domains/root/db/auspost.html auspost -// author : 2014-12-18 Amazon Registry Services, Inc. +// author : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/author.html author -// auto : 2014-11-13 XYZ.COM LLC +// auto : XYZ.COM LLC +// https://www.iana.org/domains/root/db/auto.html auto -// autos : 2014-01-09 XYZ.COM LLC +// autos : XYZ.COM LLC +// https://www.iana.org/domains/root/db/autos.html autos -// avianca : 2015-01-08 Avianca Inc. +// avianca : Avianca Inc. +// https://www.iana.org/domains/root/db/avianca.html avianca -// aws : 2015-06-25 AWS Registry LLC +// aws : AWS Registry LLC +// https://www.iana.org/domains/root/db/aws.html aws -// axa : 2013-12-19 AXA Group Operations SAS +// axa : AXA Group Operations SAS +// https://www.iana.org/domains/root/db/axa.html axa -// azure : 2014-12-18 Microsoft Corporation +// azure : Microsoft Corporation +// https://www.iana.org/domains/root/db/azure.html azure -// baby : 2015-04-09 XYZ.COM LLC +// baby : XYZ.COM LLC +// https://www.iana.org/domains/root/db/baby.html baby -// baidu : 2015-01-08 Baidu, Inc. +// baidu : Baidu, Inc. +// https://www.iana.org/domains/root/db/baidu.html baidu -// banamex : 2015-07-30 Citigroup Inc. +// banamex : Citigroup Inc. +// https://www.iana.org/domains/root/db/banamex.html banamex -// bananarepublic : 2015-07-31 The Gap, Inc. +// bananarepublic : The Gap, Inc. +// https://www.iana.org/domains/root/db/bananarepublic.html bananarepublic -// band : 2014-06-12 Dog Beach, LLC +// band : Dog Beach, LLC +// https://www.iana.org/domains/root/db/band.html band -// bank : 2014-09-25 fTLD Registry Services LLC +// bank : fTLD Registry Services LLC +// https://www.iana.org/domains/root/db/bank.html bank -// bar : 2013-12-12 Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable +// bar : Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable +// https://www.iana.org/domains/root/db/bar.html bar -// barcelona : 2014-07-24 Municipi de Barcelona +// barcelona : Municipi de Barcelona +// https://www.iana.org/domains/root/db/barcelona.html barcelona -// barclaycard : 2014-11-20 Barclays Bank PLC +// barclaycard : Barclays Bank PLC +// https://www.iana.org/domains/root/db/barclaycard.html barclaycard -// barclays : 2014-11-20 Barclays Bank PLC +// barclays : Barclays Bank PLC +// https://www.iana.org/domains/root/db/barclays.html barclays -// barefoot : 2015-06-11 Gallo Vineyards, Inc. +// barefoot : Gallo Vineyards, Inc. +// https://www.iana.org/domains/root/db/barefoot.html barefoot -// bargains : 2013-11-14 Binky Moon, LLC +// bargains : Binky Moon, LLC +// https://www.iana.org/domains/root/db/bargains.html bargains -// baseball : 2015-10-29 MLB Advanced Media DH, LLC +// baseball : MLB Advanced Media DH, LLC +// https://www.iana.org/domains/root/db/baseball.html baseball -// basketball : 2015-08-20 Fédération Internationale de Basketball (FIBA) +// basketball : Fédération Internationale de Basketball (FIBA) +// https://www.iana.org/domains/root/db/basketball.html basketball -// bauhaus : 2014-04-17 Werkhaus GmbH +// bauhaus : Werkhaus GmbH +// https://www.iana.org/domains/root/db/bauhaus.html bauhaus -// bayern : 2014-01-23 Bayern Connect GmbH +// bayern : Bayern Connect GmbH +// https://www.iana.org/domains/root/db/bayern.html bayern -// bbc : 2014-12-18 British Broadcasting Corporation +// bbc : British Broadcasting Corporation +// https://www.iana.org/domains/root/db/bbc.html bbc -// bbt : 2015-07-23 BB&T Corporation +// bbt : BB&T Corporation +// https://www.iana.org/domains/root/db/bbt.html bbt -// bbva : 2014-10-02 BANCO BILBAO VIZCAYA ARGENTARIA, S.A. +// bbva : BANCO BILBAO VIZCAYA ARGENTARIA, S.A. +// https://www.iana.org/domains/root/db/bbva.html bbva -// bcg : 2015-04-02 The Boston Consulting Group, Inc. +// bcg : The Boston Consulting Group, Inc. +// https://www.iana.org/domains/root/db/bcg.html bcg -// bcn : 2014-07-24 Municipi de Barcelona +// bcn : Municipi de Barcelona +// https://www.iana.org/domains/root/db/bcn.html bcn -// beats : 2015-05-14 Beats Electronics, LLC +// beats : Beats Electronics, LLC +// https://www.iana.org/domains/root/db/beats.html beats -// beauty : 2015-12-03 XYZ.COM LLC +// beauty : XYZ.COM LLC +// https://www.iana.org/domains/root/db/beauty.html beauty -// beer : 2014-01-09 Registry Services, LLC +// beer : Registry Services, LLC +// https://www.iana.org/domains/root/db/beer.html beer -// bentley : 2014-12-18 Bentley Motors Limited +// bentley : Bentley Motors Limited +// https://www.iana.org/domains/root/db/bentley.html bentley -// berlin : 2013-10-31 dotBERLIN GmbH & Co. KG +// berlin : dotBERLIN GmbH & Co. KG +// https://www.iana.org/domains/root/db/berlin.html berlin -// best : 2013-12-19 BestTLD Pty Ltd +// best : BestTLD Pty Ltd +// https://www.iana.org/domains/root/db/best.html best -// bestbuy : 2015-07-31 BBY Solutions, Inc. +// bestbuy : BBY Solutions, Inc. +// https://www.iana.org/domains/root/db/bestbuy.html bestbuy -// bet : 2015-05-07 Identity Digital Limited +// bet : Identity Digital Limited +// https://www.iana.org/domains/root/db/bet.html bet -// bharti : 2014-01-09 Bharti Enterprises (Holding) Private Limited +// bharti : Bharti Enterprises (Holding) Private Limited +// https://www.iana.org/domains/root/db/bharti.html bharti -// bible : 2014-06-19 American Bible Society +// bible : American Bible Society +// https://www.iana.org/domains/root/db/bible.html bible -// bid : 2013-12-19 dot Bid Limited +// bid : dot Bid Limited +// https://www.iana.org/domains/root/db/bid.html bid -// bike : 2013-08-27 Binky Moon, LLC +// bike : Binky Moon, LLC +// https://www.iana.org/domains/root/db/bike.html bike -// bing : 2014-12-18 Microsoft Corporation +// bing : Microsoft Corporation +// https://www.iana.org/domains/root/db/bing.html bing -// bingo : 2014-12-04 Binky Moon, LLC +// bingo : Binky Moon, LLC +// https://www.iana.org/domains/root/db/bingo.html bingo -// bio : 2014-03-06 Identity Digital Limited +// bio : Identity Digital Limited +// https://www.iana.org/domains/root/db/bio.html bio -// black : 2014-01-16 Identity Digital Limited +// black : Identity Digital Limited +// https://www.iana.org/domains/root/db/black.html black -// blackfriday : 2014-01-16 Registry Services, LLC +// blackfriday : Registry Services, LLC +// https://www.iana.org/domains/root/db/blackfriday.html blackfriday -// blockbuster : 2015-07-30 Dish DBS Corporation +// blockbuster : Dish DBS Corporation +// https://www.iana.org/domains/root/db/blockbuster.html blockbuster -// blog : 2015-05-14 Knock Knock WHOIS There, LLC +// blog : Knock Knock WHOIS There, LLC +// https://www.iana.org/domains/root/db/blog.html blog -// bloomberg : 2014-07-17 Bloomberg IP Holdings LLC +// bloomberg : Bloomberg IP Holdings LLC +// https://www.iana.org/domains/root/db/bloomberg.html bloomberg -// blue : 2013-11-07 Identity Digital Limited +// blue : Identity Digital Limited +// https://www.iana.org/domains/root/db/blue.html blue -// bms : 2014-10-30 Bristol-Myers Squibb Company +// bms : Bristol-Myers Squibb Company +// https://www.iana.org/domains/root/db/bms.html bms -// bmw : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft +// bmw : Bayerische Motoren Werke Aktiengesellschaft +// https://www.iana.org/domains/root/db/bmw.html bmw -// bnpparibas : 2014-05-29 BNP Paribas +// bnpparibas : BNP Paribas +// https://www.iana.org/domains/root/db/bnpparibas.html bnpparibas -// boats : 2014-12-04 XYZ.COM LLC +// boats : XYZ.COM LLC +// https://www.iana.org/domains/root/db/boats.html boats -// boehringer : 2015-07-09 Boehringer Ingelheim International GmbH +// boehringer : Boehringer Ingelheim International GmbH +// https://www.iana.org/domains/root/db/boehringer.html boehringer -// bofa : 2015-07-31 Bank of America Corporation +// bofa : Bank of America Corporation +// https://www.iana.org/domains/root/db/bofa.html bofa -// bom : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br +// bom : Núcleo de Informação e Coordenação do Ponto BR - NIC.br +// https://www.iana.org/domains/root/db/bom.html bom -// bond : 2014-06-05 ShortDot SA +// bond : ShortDot SA +// https://www.iana.org/domains/root/db/bond.html bond -// boo : 2014-01-30 Charleston Road Registry Inc. +// boo : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/boo.html boo -// book : 2015-08-27 Amazon Registry Services, Inc. +// book : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/book.html book -// booking : 2015-07-16 Booking.com B.V. +// booking : Booking.com B.V. +// https://www.iana.org/domains/root/db/booking.html booking -// bosch : 2015-06-18 Robert Bosch GMBH +// bosch : Robert Bosch GMBH +// https://www.iana.org/domains/root/db/bosch.html bosch -// bostik : 2015-05-28 Bostik SA +// bostik : Bostik SA +// https://www.iana.org/domains/root/db/bostik.html bostik -// boston : 2015-12-10 Registry Services, LLC +// boston : Registry Services, LLC +// https://www.iana.org/domains/root/db/boston.html boston -// bot : 2014-12-18 Amazon Registry Services, Inc. +// bot : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/bot.html bot -// boutique : 2013-11-14 Binky Moon, LLC +// boutique : Binky Moon, LLC +// https://www.iana.org/domains/root/db/boutique.html boutique -// box : 2015-11-12 Intercap Registry Inc. +// box : Intercap Registry Inc. +// https://www.iana.org/domains/root/db/box.html box -// bradesco : 2014-12-18 Banco Bradesco S.A. +// bradesco : Banco Bradesco S.A. +// https://www.iana.org/domains/root/db/bradesco.html bradesco -// bridgestone : 2014-12-18 Bridgestone Corporation +// bridgestone : Bridgestone Corporation +// https://www.iana.org/domains/root/db/bridgestone.html bridgestone -// broadway : 2014-12-22 Celebrate Broadway, Inc. +// broadway : Celebrate Broadway, Inc. +// https://www.iana.org/domains/root/db/broadway.html broadway -// broker : 2014-12-11 Dog Beach, LLC +// broker : Dog Beach, LLC +// https://www.iana.org/domains/root/db/broker.html broker -// brother : 2015-01-29 Brother Industries, Ltd. +// brother : Brother Industries, Ltd. +// https://www.iana.org/domains/root/db/brother.html brother -// brussels : 2014-02-06 DNS.be vzw +// brussels : DNS.be vzw +// https://www.iana.org/domains/root/db/brussels.html brussels -// build : 2013-11-07 Plan Bee LLC +// build : Plan Bee LLC +// https://www.iana.org/domains/root/db/build.html build -// builders : 2013-11-07 Binky Moon, LLC +// builders : Binky Moon, LLC +// https://www.iana.org/domains/root/db/builders.html builders -// business : 2013-11-07 Binky Moon, LLC +// business : Binky Moon, LLC +// https://www.iana.org/domains/root/db/business.html business -// buy : 2014-12-18 Amazon Registry Services, Inc. +// buy : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/buy.html buy -// buzz : 2013-10-02 DOTSTRATEGY CO. +// buzz : DOTSTRATEGY CO. +// https://www.iana.org/domains/root/db/buzz.html buzz -// bzh : 2014-02-27 Association www.bzh +// bzh : Association www.bzh +// https://www.iana.org/domains/root/db/bzh.html bzh -// cab : 2013-10-24 Binky Moon, LLC +// cab : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cab.html cab -// cafe : 2015-02-11 Binky Moon, LLC +// cafe : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cafe.html cafe -// cal : 2014-07-24 Charleston Road Registry Inc. +// cal : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/cal.html cal -// call : 2014-12-18 Amazon Registry Services, Inc. +// call : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/call.html call -// calvinklein : 2015-07-30 PVH gTLD Holdings LLC +// calvinklein : PVH gTLD Holdings LLC +// https://www.iana.org/domains/root/db/calvinklein.html calvinklein -// cam : 2016-04-21 Cam Connecting SARL +// cam : Cam Connecting SARL +// https://www.iana.org/domains/root/db/cam.html cam -// camera : 2013-08-27 Binky Moon, LLC +// camera : Binky Moon, LLC +// https://www.iana.org/domains/root/db/camera.html camera -// camp : 2013-11-07 Binky Moon, LLC +// camp : Binky Moon, LLC +// https://www.iana.org/domains/root/db/camp.html camp -// canon : 2014-09-12 Canon Inc. +// canon : Canon Inc. +// https://www.iana.org/domains/root/db/canon.html canon -// capetown : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry +// capetown : ZA Central Registry NPC trading as ZA Central Registry +// https://www.iana.org/domains/root/db/capetown.html capetown -// capital : 2014-03-06 Binky Moon, LLC +// capital : Binky Moon, LLC +// https://www.iana.org/domains/root/db/capital.html capital -// capitalone : 2015-08-06 Capital One Financial Corporation +// capitalone : Capital One Financial Corporation +// https://www.iana.org/domains/root/db/capitalone.html capitalone -// car : 2015-01-22 XYZ.COM LLC +// car : XYZ.COM LLC +// https://www.iana.org/domains/root/db/car.html car -// caravan : 2013-12-12 Caravan International, Inc. +// caravan : Caravan International, Inc. +// https://www.iana.org/domains/root/db/caravan.html caravan -// cards : 2013-12-05 Binky Moon, LLC +// cards : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cards.html cards -// care : 2014-03-06 Binky Moon, LLC +// care : Binky Moon, LLC +// https://www.iana.org/domains/root/db/care.html care -// career : 2013-10-09 dotCareer LLC +// career : dotCareer LLC +// https://www.iana.org/domains/root/db/career.html career -// careers : 2013-10-02 Binky Moon, LLC +// careers : Binky Moon, LLC +// https://www.iana.org/domains/root/db/careers.html careers -// cars : 2014-11-13 XYZ.COM LLC +// cars : XYZ.COM LLC +// https://www.iana.org/domains/root/db/cars.html cars -// casa : 2013-11-21 Registry Services, LLC +// casa : Registry Services, LLC +// https://www.iana.org/domains/root/db/casa.html casa -// case : 2015-09-03 Digity, LLC +// case : Digity, LLC +// https://www.iana.org/domains/root/db/case.html case -// cash : 2014-03-06 Binky Moon, LLC +// cash : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cash.html cash -// casino : 2014-12-18 Binky Moon, LLC +// casino : Binky Moon, LLC +// https://www.iana.org/domains/root/db/casino.html casino -// catering : 2013-12-05 Binky Moon, LLC +// catering : Binky Moon, LLC +// https://www.iana.org/domains/root/db/catering.html catering -// catholic : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// catholic : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// https://www.iana.org/domains/root/db/catholic.html catholic -// cba : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA +// cba : COMMONWEALTH BANK OF AUSTRALIA +// https://www.iana.org/domains/root/db/cba.html cba -// cbn : 2014-08-22 The Christian Broadcasting Network, Inc. +// cbn : The Christian Broadcasting Network, Inc. +// https://www.iana.org/domains/root/db/cbn.html cbn -// cbre : 2015-07-02 CBRE, Inc. +// cbre : CBRE, Inc. +// https://www.iana.org/domains/root/db/cbre.html cbre -// cbs : 2015-08-06 CBS Domains Inc. -cbs - -// center : 2013-11-07 Binky Moon, LLC +// center : Binky Moon, LLC +// https://www.iana.org/domains/root/db/center.html center -// ceo : 2013-11-07 CEOTLD Pty Ltd +// ceo : XYZ.COM LLC +// https://www.iana.org/domains/root/db/ceo.html ceo -// cern : 2014-06-05 European Organization for Nuclear Research ("CERN") +// cern : European Organization for Nuclear Research ("CERN") +// https://www.iana.org/domains/root/db/cern.html cern -// cfa : 2014-08-28 CFA Institute +// cfa : CFA Institute +// https://www.iana.org/domains/root/db/cfa.html cfa -// cfd : 2014-12-11 ShortDot SA +// cfd : ShortDot SA +// https://www.iana.org/domains/root/db/cfd.html cfd -// chanel : 2015-04-09 Chanel International B.V. +// chanel : Chanel International B.V. +// https://www.iana.org/domains/root/db/chanel.html chanel -// channel : 2014-05-08 Charleston Road Registry Inc. +// channel : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/channel.html channel -// charity : 2018-04-11 Public Interest Registry +// charity : Public Interest Registry +// https://www.iana.org/domains/root/db/charity.html charity -// chase : 2015-04-30 JPMorgan Chase Bank, National Association +// chase : JPMorgan Chase Bank, National Association +// https://www.iana.org/domains/root/db/chase.html chase -// chat : 2014-12-04 Binky Moon, LLC +// chat : Binky Moon, LLC +// https://www.iana.org/domains/root/db/chat.html chat -// cheap : 2013-11-14 Binky Moon, LLC +// cheap : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cheap.html cheap -// chintai : 2015-06-11 CHINTAI Corporation +// chintai : CHINTAI Corporation +// https://www.iana.org/domains/root/db/chintai.html chintai -// christmas : 2013-11-21 XYZ.COM LLC +// christmas : XYZ.COM LLC +// https://www.iana.org/domains/root/db/christmas.html christmas -// chrome : 2014-07-24 Charleston Road Registry Inc. +// chrome : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/chrome.html chrome -// church : 2014-02-06 Binky Moon, LLC +// church : Binky Moon, LLC +// https://www.iana.org/domains/root/db/church.html church -// cipriani : 2015-02-19 Hotel Cipriani Srl +// cipriani : Hotel Cipriani Srl +// https://www.iana.org/domains/root/db/cipriani.html cipriani -// circle : 2014-12-18 Amazon Registry Services, Inc. +// circle : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/circle.html circle -// cisco : 2014-12-22 Cisco Technology, Inc. +// cisco : Cisco Technology, Inc. +// https://www.iana.org/domains/root/db/cisco.html cisco -// citadel : 2015-07-23 Citadel Domain LLC +// citadel : Citadel Domain LLC +// https://www.iana.org/domains/root/db/citadel.html citadel -// citi : 2015-07-30 Citigroup Inc. +// citi : Citigroup Inc. +// https://www.iana.org/domains/root/db/citi.html citi -// citic : 2014-01-09 CITIC Group Corporation +// citic : CITIC Group Corporation +// https://www.iana.org/domains/root/db/citic.html citic -// city : 2014-05-29 Binky Moon, LLC +// city : Binky Moon, LLC +// https://www.iana.org/domains/root/db/city.html city -// cityeats : 2014-12-11 Lifestyle Domain Holdings, Inc. -cityeats - -// claims : 2014-03-20 Binky Moon, LLC +// claims : Binky Moon, LLC +// https://www.iana.org/domains/root/db/claims.html claims -// cleaning : 2013-12-05 Binky Moon, LLC +// cleaning : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cleaning.html cleaning -// click : 2014-06-05 Internet Naming Company LLC +// click : Internet Naming Company LLC +// https://www.iana.org/domains/root/db/click.html click -// clinic : 2014-03-20 Binky Moon, LLC +// clinic : Binky Moon, LLC +// https://www.iana.org/domains/root/db/clinic.html clinic -// clinique : 2015-10-01 The Estée Lauder Companies Inc. +// clinique : The Estée Lauder Companies Inc. +// https://www.iana.org/domains/root/db/clinique.html clinique -// clothing : 2013-08-27 Binky Moon, LLC +// clothing : Binky Moon, LLC +// https://www.iana.org/domains/root/db/clothing.html clothing -// cloud : 2015-04-16 Aruba PEC S.p.A. +// cloud : Aruba PEC S.p.A. +// https://www.iana.org/domains/root/db/cloud.html cloud -// club : 2013-11-08 Registry Services, LLC +// club : Registry Services, LLC +// https://www.iana.org/domains/root/db/club.html club -// clubmed : 2015-06-25 Club Méditerranée S.A. +// clubmed : Club Méditerranée S.A. +// https://www.iana.org/domains/root/db/clubmed.html clubmed -// coach : 2014-10-09 Binky Moon, LLC +// coach : Binky Moon, LLC +// https://www.iana.org/domains/root/db/coach.html coach -// codes : 2013-10-31 Binky Moon, LLC +// codes : Binky Moon, LLC +// https://www.iana.org/domains/root/db/codes.html codes -// coffee : 2013-10-17 Binky Moon, LLC +// coffee : Binky Moon, LLC +// https://www.iana.org/domains/root/db/coffee.html coffee -// college : 2014-01-16 XYZ.COM LLC +// college : XYZ.COM LLC +// https://www.iana.org/domains/root/db/college.html college -// cologne : 2014-02-05 dotKoeln GmbH +// cologne : dotKoeln GmbH +// https://www.iana.org/domains/root/db/cologne.html cologne -// comcast : 2015-07-23 Comcast IP Holdings I, LLC +// comcast : Comcast IP Holdings I, LLC +// https://www.iana.org/domains/root/db/comcast.html comcast -// commbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA +// commbank : COMMONWEALTH BANK OF AUSTRALIA +// https://www.iana.org/domains/root/db/commbank.html commbank -// community : 2013-12-05 Binky Moon, LLC +// community : Binky Moon, LLC +// https://www.iana.org/domains/root/db/community.html community -// company : 2013-11-07 Binky Moon, LLC +// company : Binky Moon, LLC +// https://www.iana.org/domains/root/db/company.html company -// compare : 2015-10-08 Registry Services, LLC +// compare : Registry Services, LLC +// https://www.iana.org/domains/root/db/compare.html compare -// computer : 2013-10-24 Binky Moon, LLC +// computer : Binky Moon, LLC +// https://www.iana.org/domains/root/db/computer.html computer -// comsec : 2015-01-08 VeriSign, Inc. +// comsec : VeriSign, Inc. +// https://www.iana.org/domains/root/db/comsec.html comsec -// condos : 2013-12-05 Binky Moon, LLC +// condos : Binky Moon, LLC +// https://www.iana.org/domains/root/db/condos.html condos -// construction : 2013-09-16 Binky Moon, LLC +// construction : Binky Moon, LLC +// https://www.iana.org/domains/root/db/construction.html construction -// consulting : 2013-12-05 Dog Beach, LLC +// consulting : Dog Beach, LLC +// https://www.iana.org/domains/root/db/consulting.html consulting -// contact : 2015-01-08 Dog Beach, LLC +// contact : Dog Beach, LLC +// https://www.iana.org/domains/root/db/contact.html contact -// contractors : 2013-09-10 Binky Moon, LLC +// contractors : Binky Moon, LLC +// https://www.iana.org/domains/root/db/contractors.html contractors -// cooking : 2013-11-21 Registry Services, LLC +// cooking : Registry Services, LLC +// https://www.iana.org/domains/root/db/cooking.html cooking -// cookingchannel : 2015-07-02 Lifestyle Domain Holdings, Inc. -cookingchannel - -// cool : 2013-11-14 Binky Moon, LLC +// cool : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cool.html cool -// corsica : 2014-09-25 Collectivité de Corse +// corsica : Collectivité de Corse +// https://www.iana.org/domains/root/db/corsica.html corsica -// country : 2013-12-19 Internet Naming Company LLC +// country : Internet Naming Company LLC +// https://www.iana.org/domains/root/db/country.html country -// coupon : 2015-02-26 Amazon Registry Services, Inc. +// coupon : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/coupon.html coupon -// coupons : 2015-03-26 Binky Moon, LLC +// coupons : Binky Moon, LLC +// https://www.iana.org/domains/root/db/coupons.html coupons -// courses : 2014-12-04 Registry Services, LLC +// courses : Registry Services, LLC +// https://www.iana.org/domains/root/db/courses.html courses -// cpa : 2019-06-10 American Institute of Certified Public Accountants +// cpa : American Institute of Certified Public Accountants +// https://www.iana.org/domains/root/db/cpa.html cpa -// credit : 2014-03-20 Binky Moon, LLC +// credit : Binky Moon, LLC +// https://www.iana.org/domains/root/db/credit.html credit -// creditcard : 2014-03-20 Binky Moon, LLC +// creditcard : Binky Moon, LLC +// https://www.iana.org/domains/root/db/creditcard.html creditcard -// creditunion : 2015-01-22 DotCooperation LLC +// creditunion : DotCooperation LLC +// https://www.iana.org/domains/root/db/creditunion.html creditunion -// cricket : 2014-10-09 dot Cricket Limited +// cricket : dot Cricket Limited +// https://www.iana.org/domains/root/db/cricket.html cricket -// crown : 2014-10-24 Crown Equipment Corporation +// crown : Crown Equipment Corporation +// https://www.iana.org/domains/root/db/crown.html crown -// crs : 2014-04-03 Federated Co-operatives Limited +// crs : Federated Co-operatives Limited +// https://www.iana.org/domains/root/db/crs.html crs -// cruise : 2015-12-10 Viking River Cruises (Bermuda) Ltd. +// cruise : Viking River Cruises (Bermuda) Ltd. +// https://www.iana.org/domains/root/db/cruise.html cruise -// cruises : 2013-12-05 Binky Moon, LLC +// cruises : Binky Moon, LLC +// https://www.iana.org/domains/root/db/cruises.html cruises -// cuisinella : 2014-04-03 SCHMIDT GROUPE S.A.S. +// cuisinella : SCHMIDT GROUPE S.A.S. +// https://www.iana.org/domains/root/db/cuisinella.html cuisinella -// cymru : 2014-05-08 Nominet UK +// cymru : Nominet UK +// https://www.iana.org/domains/root/db/cymru.html cymru -// cyou : 2015-01-22 ShortDot SA +// cyou : ShortDot SA +// https://www.iana.org/domains/root/db/cyou.html cyou -// dabur : 2014-02-06 Dabur India Limited +// dabur : Dabur India Limited +// https://www.iana.org/domains/root/db/dabur.html dabur -// dad : 2014-01-23 Charleston Road Registry Inc. +// dad : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/dad.html dad -// dance : 2013-10-24 Dog Beach, LLC +// dance : Dog Beach, LLC +// https://www.iana.org/domains/root/db/dance.html dance -// data : 2016-06-02 Dish DBS Corporation +// data : Dish DBS Corporation +// https://www.iana.org/domains/root/db/data.html data -// date : 2014-11-20 dot Date Limited +// date : dot Date Limited +// https://www.iana.org/domains/root/db/date.html date -// dating : 2013-12-05 Binky Moon, LLC +// dating : Binky Moon, LLC +// https://www.iana.org/domains/root/db/dating.html dating -// datsun : 2014-03-27 NISSAN MOTOR CO., LTD. +// datsun : NISSAN MOTOR CO., LTD. +// https://www.iana.org/domains/root/db/datsun.html datsun -// day : 2014-01-30 Charleston Road Registry Inc. +// day : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/day.html day -// dclk : 2014-11-20 Charleston Road Registry Inc. +// dclk : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/dclk.html dclk -// dds : 2015-05-07 Registry Services, LLC +// dds : Registry Services, LLC +// https://www.iana.org/domains/root/db/dds.html dds -// deal : 2015-06-25 Amazon Registry Services, Inc. +// deal : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/deal.html deal -// dealer : 2014-12-22 Intercap Registry Inc. +// dealer : Intercap Registry Inc. +// https://www.iana.org/domains/root/db/dealer.html dealer -// deals : 2014-05-22 Binky Moon, LLC +// deals : Binky Moon, LLC +// https://www.iana.org/domains/root/db/deals.html deals -// degree : 2014-03-06 Dog Beach, LLC +// degree : Dog Beach, LLC +// https://www.iana.org/domains/root/db/degree.html degree -// delivery : 2014-09-11 Binky Moon, LLC +// delivery : Binky Moon, LLC +// https://www.iana.org/domains/root/db/delivery.html delivery -// dell : 2014-10-24 Dell Inc. +// dell : Dell Inc. +// https://www.iana.org/domains/root/db/dell.html dell -// deloitte : 2015-07-31 Deloitte Touche Tohmatsu +// deloitte : Deloitte Touche Tohmatsu +// https://www.iana.org/domains/root/db/deloitte.html deloitte -// delta : 2015-02-19 Delta Air Lines, Inc. +// delta : Delta Air Lines, Inc. +// https://www.iana.org/domains/root/db/delta.html delta -// democrat : 2013-10-24 Dog Beach, LLC +// democrat : Dog Beach, LLC +// https://www.iana.org/domains/root/db/democrat.html democrat -// dental : 2014-03-20 Binky Moon, LLC +// dental : Binky Moon, LLC +// https://www.iana.org/domains/root/db/dental.html dental -// dentist : 2014-03-20 Dog Beach, LLC +// dentist : Dog Beach, LLC +// https://www.iana.org/domains/root/db/dentist.html dentist -// desi : 2013-11-14 Desi Networks LLC -desi - -// design : 2014-11-07 Registry Services, LLC +// design : Registry Services, LLC +// https://www.iana.org/domains/root/db/design.html design -// dev : 2014-10-16 Charleston Road Registry Inc. +// dev : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/dev.html dev -// dhl : 2015-07-23 Deutsche Post AG +// dhl : Deutsche Post AG +// https://www.iana.org/domains/root/db/dhl.html dhl -// diamonds : 2013-09-22 Binky Moon, LLC +// diamonds : Binky Moon, LLC +// https://www.iana.org/domains/root/db/diamonds.html diamonds -// diet : 2014-06-26 XYZ.COM LLC +// diet : XYZ.COM LLC +// https://www.iana.org/domains/root/db/diet.html diet -// digital : 2014-03-06 Binky Moon, LLC +// digital : Binky Moon, LLC +// https://www.iana.org/domains/root/db/digital.html digital -// direct : 2014-04-10 Binky Moon, LLC +// direct : Binky Moon, LLC +// https://www.iana.org/domains/root/db/direct.html direct -// directory : 2013-09-20 Binky Moon, LLC +// directory : Binky Moon, LLC +// https://www.iana.org/domains/root/db/directory.html directory -// discount : 2014-03-06 Binky Moon, LLC +// discount : Binky Moon, LLC +// https://www.iana.org/domains/root/db/discount.html discount -// discover : 2015-07-23 Discover Financial Services +// discover : Discover Financial Services +// https://www.iana.org/domains/root/db/discover.html discover -// dish : 2015-07-30 Dish DBS Corporation +// dish : Dish DBS Corporation +// https://www.iana.org/domains/root/db/dish.html dish -// diy : 2015-11-05 Lifestyle Domain Holdings, Inc. +// diy : Lifestyle Domain Holdings, Inc. +// https://www.iana.org/domains/root/db/diy.html diy -// dnp : 2013-12-13 Dai Nippon Printing Co., Ltd. +// dnp : Dai Nippon Printing Co., Ltd. +// https://www.iana.org/domains/root/db/dnp.html dnp -// docs : 2014-10-16 Charleston Road Registry Inc. +// docs : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/docs.html docs -// doctor : 2016-06-02 Binky Moon, LLC +// doctor : Binky Moon, LLC +// https://www.iana.org/domains/root/db/doctor.html doctor -// dog : 2014-12-04 Binky Moon, LLC +// dog : Binky Moon, LLC +// https://www.iana.org/domains/root/db/dog.html dog -// domains : 2013-10-17 Binky Moon, LLC +// domains : Binky Moon, LLC +// https://www.iana.org/domains/root/db/domains.html domains -// dot : 2015-05-21 Dish DBS Corporation +// dot : Dish DBS Corporation +// https://www.iana.org/domains/root/db/dot.html dot -// download : 2014-11-20 dot Support Limited +// download : dot Support Limited +// https://www.iana.org/domains/root/db/download.html download -// drive : 2015-03-05 Charleston Road Registry Inc. +// drive : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/drive.html drive -// dtv : 2015-06-04 Dish DBS Corporation +// dtv : Dish DBS Corporation +// https://www.iana.org/domains/root/db/dtv.html dtv -// dubai : 2015-01-01 Dubai Smart Government Department +// dubai : Dubai Smart Government Department +// https://www.iana.org/domains/root/db/dubai.html dubai -// dunlop : 2015-07-02 The Goodyear Tire & Rubber Company +// dunlop : The Goodyear Tire & Rubber Company +// https://www.iana.org/domains/root/db/dunlop.html dunlop -// dupont : 2015-06-25 DuPont Specialty Products USA, LLC +// dupont : DuPont Specialty Products USA, LLC +// https://www.iana.org/domains/root/db/dupont.html dupont -// durban : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry +// durban : ZA Central Registry NPC trading as ZA Central Registry +// https://www.iana.org/domains/root/db/durban.html durban -// dvag : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG +// dvag : Deutsche Vermögensberatung Aktiengesellschaft DVAG +// https://www.iana.org/domains/root/db/dvag.html dvag -// dvr : 2016-05-26 DISH Technologies L.L.C. +// dvr : DISH Technologies L.L.C. +// https://www.iana.org/domains/root/db/dvr.html dvr -// earth : 2014-12-04 Interlink Systems Innovation Institute K.K. +// earth : Interlink Systems Innovation Institute K.K. +// https://www.iana.org/domains/root/db/earth.html earth -// eat : 2014-01-23 Charleston Road Registry Inc. +// eat : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/eat.html eat -// eco : 2016-07-08 Big Room Inc. +// eco : Big Room Inc. +// https://www.iana.org/domains/root/db/eco.html eco -// edeka : 2014-12-18 EDEKA Verband kaufmännischer Genossenschaften e.V. +// edeka : EDEKA Verband kaufmännischer Genossenschaften e.V. +// https://www.iana.org/domains/root/db/edeka.html edeka -// education : 2013-11-07 Binky Moon, LLC +// education : Binky Moon, LLC +// https://www.iana.org/domains/root/db/education.html education -// email : 2013-10-31 Binky Moon, LLC +// email : Binky Moon, LLC +// https://www.iana.org/domains/root/db/email.html email -// emerck : 2014-04-03 Merck KGaA +// emerck : Merck KGaA +// https://www.iana.org/domains/root/db/emerck.html emerck -// energy : 2014-09-11 Binky Moon, LLC +// energy : Binky Moon, LLC +// https://www.iana.org/domains/root/db/energy.html energy -// engineer : 2014-03-06 Dog Beach, LLC +// engineer : Dog Beach, LLC +// https://www.iana.org/domains/root/db/engineer.html engineer -// engineering : 2014-03-06 Binky Moon, LLC +// engineering : Binky Moon, LLC +// https://www.iana.org/domains/root/db/engineering.html engineering -// enterprises : 2013-09-20 Binky Moon, LLC +// enterprises : Binky Moon, LLC +// https://www.iana.org/domains/root/db/enterprises.html enterprises -// epson : 2014-12-04 Seiko Epson Corporation +// epson : Seiko Epson Corporation +// https://www.iana.org/domains/root/db/epson.html epson -// equipment : 2013-08-27 Binky Moon, LLC +// equipment : Binky Moon, LLC +// https://www.iana.org/domains/root/db/equipment.html equipment -// ericsson : 2015-07-09 Telefonaktiebolaget L M Ericsson +// ericsson : Telefonaktiebolaget L M Ericsson +// https://www.iana.org/domains/root/db/ericsson.html ericsson -// erni : 2014-04-03 ERNI Group Holding AG +// erni : ERNI Group Holding AG +// https://www.iana.org/domains/root/db/erni.html erni -// esq : 2014-05-08 Charleston Road Registry Inc. +// esq : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/esq.html esq -// estate : 2013-08-27 Binky Moon, LLC +// estate : Binky Moon, LLC +// https://www.iana.org/domains/root/db/estate.html estate -// etisalat : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat) +// etisalat : Emirates Telecommunications Corporation (trading as Etisalat) +// https://www.iana.org/domains/root/db/etisalat.html etisalat -// eurovision : 2014-04-24 European Broadcasting Union (EBU) +// eurovision : European Broadcasting Union (EBU) +// https://www.iana.org/domains/root/db/eurovision.html eurovision -// eus : 2013-12-12 Puntueus Fundazioa +// eus : Puntueus Fundazioa +// https://www.iana.org/domains/root/db/eus.html eus -// events : 2013-12-05 Binky Moon, LLC +// events : Binky Moon, LLC +// https://www.iana.org/domains/root/db/events.html events -// exchange : 2014-03-06 Binky Moon, LLC +// exchange : Binky Moon, LLC +// https://www.iana.org/domains/root/db/exchange.html exchange -// expert : 2013-11-21 Binky Moon, LLC +// expert : Binky Moon, LLC +// https://www.iana.org/domains/root/db/expert.html expert -// exposed : 2013-12-05 Binky Moon, LLC +// exposed : Binky Moon, LLC +// https://www.iana.org/domains/root/db/exposed.html exposed -// express : 2015-02-11 Binky Moon, LLC +// express : Binky Moon, LLC +// https://www.iana.org/domains/root/db/express.html express -// extraspace : 2015-05-14 Extra Space Storage LLC +// extraspace : Extra Space Storage LLC +// https://www.iana.org/domains/root/db/extraspace.html extraspace -// fage : 2014-12-18 Fage International S.A. +// fage : Fage International S.A. +// https://www.iana.org/domains/root/db/fage.html fage -// fail : 2014-03-06 Binky Moon, LLC +// fail : Binky Moon, LLC +// https://www.iana.org/domains/root/db/fail.html fail -// fairwinds : 2014-11-13 FairWinds Partners, LLC +// fairwinds : FairWinds Partners, LLC +// https://www.iana.org/domains/root/db/fairwinds.html fairwinds -// faith : 2014-11-20 dot Faith Limited +// faith : dot Faith Limited +// https://www.iana.org/domains/root/db/faith.html faith -// family : 2015-04-02 Dog Beach, LLC +// family : Dog Beach, LLC +// https://www.iana.org/domains/root/db/family.html family -// fan : 2014-03-06 Dog Beach, LLC +// fan : Dog Beach, LLC +// https://www.iana.org/domains/root/db/fan.html fan -// fans : 2014-11-07 ZDNS International Limited +// fans : ZDNS International Limited +// https://www.iana.org/domains/root/db/fans.html fans -// farm : 2013-11-07 Binky Moon, LLC +// farm : Binky Moon, LLC +// https://www.iana.org/domains/root/db/farm.html farm -// farmers : 2015-07-09 Farmers Insurance Exchange +// farmers : Farmers Insurance Exchange +// https://www.iana.org/domains/root/db/farmers.html farmers -// fashion : 2014-07-03 Registry Services, LLC +// fashion : Registry Services, LLC +// https://www.iana.org/domains/root/db/fashion.html fashion -// fast : 2014-12-18 Amazon Registry Services, Inc. +// fast : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/fast.html fast -// fedex : 2015-08-06 Federal Express Corporation +// fedex : Federal Express Corporation +// https://www.iana.org/domains/root/db/fedex.html fedex -// feedback : 2013-12-19 Top Level Spectrum, Inc. +// feedback : Top Level Spectrum, Inc. +// https://www.iana.org/domains/root/db/feedback.html feedback -// ferrari : 2015-07-31 Fiat Chrysler Automobiles N.V. +// ferrari : Fiat Chrysler Automobiles N.V. +// https://www.iana.org/domains/root/db/ferrari.html ferrari -// ferrero : 2014-12-18 Ferrero Trading Lux S.A. +// ferrero : Ferrero Trading Lux S.A. +// https://www.iana.org/domains/root/db/ferrero.html ferrero -// fiat : 2015-07-31 Fiat Chrysler Automobiles N.V. -fiat - -// fidelity : 2015-07-30 Fidelity Brokerage Services LLC +// fidelity : Fidelity Brokerage Services LLC +// https://www.iana.org/domains/root/db/fidelity.html fidelity -// fido : 2015-08-06 Rogers Communications Canada Inc. +// fido : Rogers Communications Canada Inc. +// https://www.iana.org/domains/root/db/fido.html fido -// film : 2015-01-08 Motion Picture Domain Registry Pty Ltd +// film : Motion Picture Domain Registry Pty Ltd +// https://www.iana.org/domains/root/db/film.html film -// final : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br +// final : Núcleo de Informação e Coordenação do Ponto BR - NIC.br +// https://www.iana.org/domains/root/db/final.html final -// finance : 2014-03-20 Binky Moon, LLC +// finance : Binky Moon, LLC +// https://www.iana.org/domains/root/db/finance.html finance -// financial : 2014-03-06 Binky Moon, LLC +// financial : Binky Moon, LLC +// https://www.iana.org/domains/root/db/financial.html financial -// fire : 2015-06-25 Amazon Registry Services, Inc. +// fire : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/fire.html fire -// firestone : 2014-12-18 Bridgestone Licensing Services, Inc +// firestone : Bridgestone Licensing Services, Inc +// https://www.iana.org/domains/root/db/firestone.html firestone -// firmdale : 2014-03-27 Firmdale Holdings Limited +// firmdale : Firmdale Holdings Limited +// https://www.iana.org/domains/root/db/firmdale.html firmdale -// fish : 2013-12-12 Binky Moon, LLC +// fish : Binky Moon, LLC +// https://www.iana.org/domains/root/db/fish.html fish -// fishing : 2013-11-21 Registry Services, LLC +// fishing : Registry Services, LLC +// https://www.iana.org/domains/root/db/fishing.html fishing -// fit : 2014-11-07 Registry Services, LLC +// fit : Registry Services, LLC +// https://www.iana.org/domains/root/db/fit.html fit -// fitness : 2014-03-06 Binky Moon, LLC +// fitness : Binky Moon, LLC +// https://www.iana.org/domains/root/db/fitness.html fitness -// flickr : 2015-04-02 Flickr, Inc. +// flickr : Flickr, Inc. +// https://www.iana.org/domains/root/db/flickr.html flickr -// flights : 2013-12-05 Binky Moon, LLC +// flights : Binky Moon, LLC +// https://www.iana.org/domains/root/db/flights.html flights -// flir : 2015-07-23 FLIR Systems, Inc. +// flir : FLIR Systems, Inc. +// https://www.iana.org/domains/root/db/flir.html flir -// florist : 2013-11-07 Binky Moon, LLC +// florist : Binky Moon, LLC +// https://www.iana.org/domains/root/db/florist.html florist -// flowers : 2014-10-09 XYZ.COM LLC +// flowers : XYZ.COM LLC +// https://www.iana.org/domains/root/db/flowers.html flowers -// fly : 2014-05-08 Charleston Road Registry Inc. +// fly : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/fly.html fly -// foo : 2014-01-23 Charleston Road Registry Inc. +// foo : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/foo.html foo -// food : 2016-04-21 Lifestyle Domain Holdings, Inc. +// food : Lifestyle Domain Holdings, Inc. +// https://www.iana.org/domains/root/db/food.html food -// foodnetwork : 2015-07-02 Lifestyle Domain Holdings, Inc. -foodnetwork - -// football : 2014-12-18 Binky Moon, LLC +// football : Binky Moon, LLC +// https://www.iana.org/domains/root/db/football.html football -// ford : 2014-11-13 Ford Motor Company +// ford : Ford Motor Company +// https://www.iana.org/domains/root/db/ford.html ford -// forex : 2014-12-11 Dog Beach, LLC +// forex : Dog Beach, LLC +// https://www.iana.org/domains/root/db/forex.html forex -// forsale : 2014-05-22 Dog Beach, LLC +// forsale : Dog Beach, LLC +// https://www.iana.org/domains/root/db/forsale.html forsale -// forum : 2015-04-02 Fegistry, LLC +// forum : Fegistry, LLC +// https://www.iana.org/domains/root/db/forum.html forum -// foundation : 2013-12-05 Public Interest Registry +// foundation : Public Interest Registry +// https://www.iana.org/domains/root/db/foundation.html foundation -// fox : 2015-09-11 FOX Registry, LLC +// fox : FOX Registry, LLC +// https://www.iana.org/domains/root/db/fox.html fox -// free : 2015-12-10 Amazon Registry Services, Inc. +// free : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/free.html free -// fresenius : 2015-07-30 Fresenius Immobilien-Verwaltungs-GmbH +// fresenius : Fresenius Immobilien-Verwaltungs-GmbH +// https://www.iana.org/domains/root/db/fresenius.html fresenius -// frl : 2014-05-15 FRLregistry B.V. +// frl : FRLregistry B.V. +// https://www.iana.org/domains/root/db/frl.html frl -// frogans : 2013-12-19 OP3FT +// frogans : OP3FT +// https://www.iana.org/domains/root/db/frogans.html frogans -// frontdoor : 2015-07-02 Lifestyle Domain Holdings, Inc. -frontdoor - -// frontier : 2015-02-05 Frontier Communications Corporation +// frontier : Frontier Communications Corporation +// https://www.iana.org/domains/root/db/frontier.html frontier -// ftr : 2015-07-16 Frontier Communications Corporation +// ftr : Frontier Communications Corporation +// https://www.iana.org/domains/root/db/ftr.html ftr -// fujitsu : 2015-07-30 Fujitsu Limited +// fujitsu : Fujitsu Limited +// https://www.iana.org/domains/root/db/fujitsu.html fujitsu -// fun : 2016-01-14 Radix FZC +// fun : Radix FZC DMCC +// https://www.iana.org/domains/root/db/fun.html fun -// fund : 2014-03-20 Binky Moon, LLC +// fund : Binky Moon, LLC +// https://www.iana.org/domains/root/db/fund.html fund -// furniture : 2014-03-20 Binky Moon, LLC +// furniture : Binky Moon, LLC +// https://www.iana.org/domains/root/db/furniture.html furniture -// futbol : 2013-09-20 Dog Beach, LLC +// futbol : Dog Beach, LLC +// https://www.iana.org/domains/root/db/futbol.html futbol -// fyi : 2015-04-02 Binky Moon, LLC +// fyi : Binky Moon, LLC +// https://www.iana.org/domains/root/db/fyi.html fyi -// gal : 2013-11-07 Asociación puntoGAL +// gal : Asociación puntoGAL +// https://www.iana.org/domains/root/db/gal.html gal -// gallery : 2013-09-13 Binky Moon, LLC +// gallery : Binky Moon, LLC +// https://www.iana.org/domains/root/db/gallery.html gallery -// gallo : 2015-06-11 Gallo Vineyards, Inc. +// gallo : Gallo Vineyards, Inc. +// https://www.iana.org/domains/root/db/gallo.html gallo -// gallup : 2015-02-19 Gallup, Inc. +// gallup : Gallup, Inc. +// https://www.iana.org/domains/root/db/gallup.html gallup -// game : 2015-05-28 XYZ.COM LLC +// game : XYZ.COM LLC +// https://www.iana.org/domains/root/db/game.html game -// games : 2015-05-28 Dog Beach, LLC +// games : Dog Beach, LLC +// https://www.iana.org/domains/root/db/games.html games -// gap : 2015-07-31 The Gap, Inc. +// gap : The Gap, Inc. +// https://www.iana.org/domains/root/db/gap.html gap -// garden : 2014-06-26 Registry Services, LLC +// garden : Registry Services, LLC +// https://www.iana.org/domains/root/db/garden.html garden -// gay : 2019-05-23 Top Level Design, LLC +// gay : Registry Services, LLC +// https://www.iana.org/domains/root/db/gay.html gay -// gbiz : 2014-07-17 Charleston Road Registry Inc. +// gbiz : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/gbiz.html gbiz -// gdn : 2014-07-31 Joint Stock Company "Navigation-information systems" +// gdn : Joint Stock Company "Navigation-information systems" +// https://www.iana.org/domains/root/db/gdn.html gdn -// gea : 2014-12-04 GEA Group Aktiengesellschaft +// gea : GEA Group Aktiengesellschaft +// https://www.iana.org/domains/root/db/gea.html gea -// gent : 2014-01-23 Easyhost BV +// gent : Easyhost BV +// https://www.iana.org/domains/root/db/gent.html gent -// genting : 2015-03-12 Resorts World Inc Pte. Ltd. +// genting : Resorts World Inc Pte. Ltd. +// https://www.iana.org/domains/root/db/genting.html genting -// george : 2015-07-31 Wal-Mart Stores, Inc. +// george : Wal-Mart Stores, Inc. +// https://www.iana.org/domains/root/db/george.html george -// ggee : 2014-01-09 GMO Internet, Inc. +// ggee : GMO Internet, Inc. +// https://www.iana.org/domains/root/db/ggee.html ggee -// gift : 2013-10-17 DotGift, LLC +// gift : DotGift, LLC +// https://www.iana.org/domains/root/db/gift.html gift -// gifts : 2014-07-03 Binky Moon, LLC +// gifts : Binky Moon, LLC +// https://www.iana.org/domains/root/db/gifts.html gifts -// gives : 2014-03-06 Public Interest Registry +// gives : Public Interest Registry +// https://www.iana.org/domains/root/db/gives.html gives -// giving : 2014-11-13 Public Interest Registry +// giving : Public Interest Registry +// https://www.iana.org/domains/root/db/giving.html giving -// glass : 2013-11-07 Binky Moon, LLC +// glass : Binky Moon, LLC +// https://www.iana.org/domains/root/db/glass.html glass -// gle : 2014-07-24 Charleston Road Registry Inc. +// gle : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/gle.html gle -// global : 2014-04-17 Identity Digital Limited +// global : Identity Digital Limited +// https://www.iana.org/domains/root/db/global.html global -// globo : 2013-12-19 Globo Comunicação e Participações S.A +// globo : Globo Comunicação e Participações S.A +// https://www.iana.org/domains/root/db/globo.html globo -// gmail : 2014-05-01 Charleston Road Registry Inc. +// gmail : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/gmail.html gmail -// gmbh : 2016-01-29 Binky Moon, LLC +// gmbh : Binky Moon, LLC +// https://www.iana.org/domains/root/db/gmbh.html gmbh -// gmo : 2014-01-09 GMO Internet, Inc. +// gmo : GMO Internet, Inc. +// https://www.iana.org/domains/root/db/gmo.html gmo -// gmx : 2014-04-24 1&1 Mail & Media GmbH +// gmx : 1&1 Mail & Media GmbH +// https://www.iana.org/domains/root/db/gmx.html gmx -// godaddy : 2015-07-23 Go Daddy East, LLC +// godaddy : Go Daddy East, LLC +// https://www.iana.org/domains/root/db/godaddy.html godaddy -// gold : 2015-01-22 Binky Moon, LLC +// gold : Binky Moon, LLC +// https://www.iana.org/domains/root/db/gold.html gold -// goldpoint : 2014-11-20 YODOBASHI CAMERA CO.,LTD. +// goldpoint : YODOBASHI CAMERA CO.,LTD. +// https://www.iana.org/domains/root/db/goldpoint.html goldpoint -// golf : 2014-12-18 Binky Moon, LLC +// golf : Binky Moon, LLC +// https://www.iana.org/domains/root/db/golf.html golf -// goo : 2014-12-18 NTT Resonant Inc. +// goo : NTT Resonant Inc. +// https://www.iana.org/domains/root/db/goo.html goo -// goodyear : 2015-07-02 The Goodyear Tire & Rubber Company +// goodyear : The Goodyear Tire & Rubber Company +// https://www.iana.org/domains/root/db/goodyear.html goodyear -// goog : 2014-11-20 Charleston Road Registry Inc. +// goog : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/goog.html goog -// google : 2014-07-24 Charleston Road Registry Inc. +// google : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/google.html google -// gop : 2014-01-16 Republican State Leadership Committee, Inc. +// gop : Republican State Leadership Committee, Inc. +// https://www.iana.org/domains/root/db/gop.html gop -// got : 2014-12-18 Amazon Registry Services, Inc. +// got : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/got.html got -// grainger : 2015-05-07 Grainger Registry Services, LLC +// grainger : Grainger Registry Services, LLC +// https://www.iana.org/domains/root/db/grainger.html grainger -// graphics : 2013-09-13 Binky Moon, LLC +// graphics : Binky Moon, LLC +// https://www.iana.org/domains/root/db/graphics.html graphics -// gratis : 2014-03-20 Binky Moon, LLC +// gratis : Binky Moon, LLC +// https://www.iana.org/domains/root/db/gratis.html gratis -// green : 2014-05-08 Identity Digital Limited +// green : Identity Digital Limited +// https://www.iana.org/domains/root/db/green.html green -// gripe : 2014-03-06 Binky Moon, LLC +// gripe : Binky Moon, LLC +// https://www.iana.org/domains/root/db/gripe.html gripe -// grocery : 2016-06-16 Wal-Mart Stores, Inc. +// grocery : Wal-Mart Stores, Inc. +// https://www.iana.org/domains/root/db/grocery.html grocery -// group : 2014-08-15 Binky Moon, LLC +// group : Binky Moon, LLC +// https://www.iana.org/domains/root/db/group.html group -// guardian : 2015-07-30 The Guardian Life Insurance Company of America +// guardian : The Guardian Life Insurance Company of America +// https://www.iana.org/domains/root/db/guardian.html guardian -// gucci : 2014-11-13 Guccio Gucci S.p.a. +// gucci : Guccio Gucci S.p.a. +// https://www.iana.org/domains/root/db/gucci.html gucci -// guge : 2014-08-28 Charleston Road Registry Inc. +// guge : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/guge.html guge -// guide : 2013-09-13 Binky Moon, LLC +// guide : Binky Moon, LLC +// https://www.iana.org/domains/root/db/guide.html guide -// guitars : 2013-11-14 XYZ.COM LLC +// guitars : XYZ.COM LLC +// https://www.iana.org/domains/root/db/guitars.html guitars -// guru : 2013-08-27 Binky Moon, LLC +// guru : Binky Moon, LLC +// https://www.iana.org/domains/root/db/guru.html guru -// hair : 2015-12-03 XYZ.COM LLC +// hair : XYZ.COM LLC +// https://www.iana.org/domains/root/db/hair.html hair -// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH +// hamburg : Hamburg Top-Level-Domain GmbH +// https://www.iana.org/domains/root/db/hamburg.html hamburg -// hangout : 2014-11-13 Charleston Road Registry Inc. +// hangout : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/hangout.html hangout -// haus : 2013-12-05 Dog Beach, LLC +// haus : Dog Beach, LLC +// https://www.iana.org/domains/root/db/haus.html haus -// hbo : 2015-07-30 HBO Registry Services, Inc. +// hbo : HBO Registry Services, Inc. +// https://www.iana.org/domains/root/db/hbo.html hbo -// hdfc : 2015-07-30 HOUSING DEVELOPMENT FINANCE CORPORATION LIMITED +// hdfc : HOUSING DEVELOPMENT FINANCE CORPORATION LIMITED +// https://www.iana.org/domains/root/db/hdfc.html hdfc -// hdfcbank : 2015-02-12 HDFC Bank Limited +// hdfcbank : HDFC Bank Limited +// https://www.iana.org/domains/root/db/hdfcbank.html hdfcbank -// health : 2015-02-11 DotHealth, LLC +// health : Registry Services, LLC +// https://www.iana.org/domains/root/db/health.html health -// healthcare : 2014-06-12 Binky Moon, LLC +// healthcare : Binky Moon, LLC +// https://www.iana.org/domains/root/db/healthcare.html healthcare -// help : 2014-06-26 Innovation service Limited +// help : Innovation service Limited +// https://www.iana.org/domains/root/db/help.html help -// helsinki : 2015-02-05 City of Helsinki +// helsinki : City of Helsinki +// https://www.iana.org/domains/root/db/helsinki.html helsinki -// here : 2014-02-06 Charleston Road Registry Inc. +// here : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/here.html here -// hermes : 2014-07-10 HERMES INTERNATIONAL +// hermes : HERMES INTERNATIONAL +// https://www.iana.org/domains/root/db/hermes.html hermes -// hgtv : 2015-07-02 Lifestyle Domain Holdings, Inc. -hgtv - -// hiphop : 2014-03-06 Dot Hip Hop, LLC +// hiphop : Dot Hip Hop, LLC +// https://www.iana.org/domains/root/db/hiphop.html hiphop -// hisamitsu : 2015-07-16 Hisamitsu Pharmaceutical Co.,Inc. +// hisamitsu : Hisamitsu Pharmaceutical Co.,Inc. +// https://www.iana.org/domains/root/db/hisamitsu.html hisamitsu -// hitachi : 2014-10-31 Hitachi, Ltd. +// hitachi : Hitachi, Ltd. +// https://www.iana.org/domains/root/db/hitachi.html hitachi -// hiv : 2014-03-13 Internet Naming Company LLC +// hiv : Internet Naming Company LLC +// https://www.iana.org/domains/root/db/hiv.html hiv -// hkt : 2015-05-14 PCCW-HKT DataCom Services Limited +// hkt : PCCW-HKT DataCom Services Limited +// https://www.iana.org/domains/root/db/hkt.html hkt -// hockey : 2015-03-19 Binky Moon, LLC +// hockey : Binky Moon, LLC +// https://www.iana.org/domains/root/db/hockey.html hockey -// holdings : 2013-08-27 Binky Moon, LLC +// holdings : Binky Moon, LLC +// https://www.iana.org/domains/root/db/holdings.html holdings -// holiday : 2013-11-07 Binky Moon, LLC +// holiday : Binky Moon, LLC +// https://www.iana.org/domains/root/db/holiday.html holiday -// homedepot : 2015-04-02 Home Depot Product Authority, LLC +// homedepot : Home Depot Product Authority, LLC +// https://www.iana.org/domains/root/db/homedepot.html homedepot -// homegoods : 2015-07-16 The TJX Companies, Inc. +// homegoods : The TJX Companies, Inc. +// https://www.iana.org/domains/root/db/homegoods.html homegoods -// homes : 2014-01-09 XYZ.COM LLC +// homes : XYZ.COM LLC +// https://www.iana.org/domains/root/db/homes.html homes -// homesense : 2015-07-16 The TJX Companies, Inc. +// homesense : The TJX Companies, Inc. +// https://www.iana.org/domains/root/db/homesense.html homesense -// honda : 2014-12-18 Honda Motor Co., Ltd. +// honda : Honda Motor Co., Ltd. +// https://www.iana.org/domains/root/db/honda.html honda -// horse : 2013-11-21 Registry Services, LLC +// horse : Registry Services, LLC +// https://www.iana.org/domains/root/db/horse.html horse -// hospital : 2016-10-20 Binky Moon, LLC +// hospital : Binky Moon, LLC +// https://www.iana.org/domains/root/db/hospital.html hospital -// host : 2014-04-17 Radix FZC +// host : Radix FZC DMCC +// https://www.iana.org/domains/root/db/host.html host -// hosting : 2014-05-29 XYZ.COM LLC +// hosting : XYZ.COM LLC +// https://www.iana.org/domains/root/db/hosting.html hosting -// hot : 2015-08-27 Amazon Registry Services, Inc. +// hot : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/hot.html hot -// hoteles : 2015-03-05 Travel Reservations SRL -hoteles - -// hotels : 2016-04-07 Booking.com B.V. +// hotels : Booking.com B.V. +// https://www.iana.org/domains/root/db/hotels.html hotels -// hotmail : 2014-12-18 Microsoft Corporation +// hotmail : Microsoft Corporation +// https://www.iana.org/domains/root/db/hotmail.html hotmail -// house : 2013-11-07 Binky Moon, LLC +// house : Binky Moon, LLC +// https://www.iana.org/domains/root/db/house.html house -// how : 2014-01-23 Charleston Road Registry Inc. +// how : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/how.html how -// hsbc : 2014-10-24 HSBC Global Services (UK) Limited +// hsbc : HSBC Global Services (UK) Limited +// https://www.iana.org/domains/root/db/hsbc.html hsbc -// hughes : 2015-07-30 Hughes Satellite Systems Corporation +// hughes : Hughes Satellite Systems Corporation +// https://www.iana.org/domains/root/db/hughes.html hughes -// hyatt : 2015-07-30 Hyatt GTLD, L.L.C. +// hyatt : Hyatt GTLD, L.L.C. +// https://www.iana.org/domains/root/db/hyatt.html hyatt -// hyundai : 2015-07-09 Hyundai Motor Company +// hyundai : Hyundai Motor Company +// https://www.iana.org/domains/root/db/hyundai.html hyundai -// ibm : 2014-07-31 International Business Machines Corporation +// ibm : International Business Machines Corporation +// https://www.iana.org/domains/root/db/ibm.html ibm -// icbc : 2015-02-19 Industrial and Commercial Bank of China Limited +// icbc : Industrial and Commercial Bank of China Limited +// https://www.iana.org/domains/root/db/icbc.html icbc -// ice : 2014-10-30 IntercontinentalExchange, Inc. +// ice : IntercontinentalExchange, Inc. +// https://www.iana.org/domains/root/db/ice.html ice -// icu : 2015-01-08 ShortDot SA +// icu : ShortDot SA +// https://www.iana.org/domains/root/db/icu.html icu -// ieee : 2015-07-23 IEEE Global LLC +// ieee : IEEE Global LLC +// https://www.iana.org/domains/root/db/ieee.html ieee -// ifm : 2014-01-30 ifm electronic gmbh +// ifm : ifm electronic gmbh +// https://www.iana.org/domains/root/db/ifm.html ifm -// ikano : 2015-07-09 Ikano S.A. +// ikano : Ikano S.A. +// https://www.iana.org/domains/root/db/ikano.html ikano -// imamat : 2015-08-06 Fondation Aga Khan (Aga Khan Foundation) +// imamat : Fondation Aga Khan (Aga Khan Foundation) +// https://www.iana.org/domains/root/db/imamat.html imamat -// imdb : 2015-06-25 Amazon Registry Services, Inc. +// imdb : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/imdb.html imdb -// immo : 2014-07-10 Binky Moon, LLC +// immo : Binky Moon, LLC +// https://www.iana.org/domains/root/db/immo.html immo -// immobilien : 2013-11-07 Dog Beach, LLC +// immobilien : Dog Beach, LLC +// https://www.iana.org/domains/root/db/immobilien.html immobilien -// inc : 2018-03-10 Intercap Registry Inc. +// inc : Intercap Registry Inc. +// https://www.iana.org/domains/root/db/inc.html inc -// industries : 2013-12-05 Binky Moon, LLC +// industries : Binky Moon, LLC +// https://www.iana.org/domains/root/db/industries.html industries -// infiniti : 2014-03-27 NISSAN MOTOR CO., LTD. +// infiniti : NISSAN MOTOR CO., LTD. +// https://www.iana.org/domains/root/db/infiniti.html infiniti -// ing : 2014-01-23 Charleston Road Registry Inc. +// ing : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/ing.html ing -// ink : 2013-12-05 Top Level Design, LLC +// ink : Registry Services, LLC +// https://www.iana.org/domains/root/db/ink.html ink -// institute : 2013-11-07 Binky Moon, LLC +// institute : Binky Moon, LLC +// https://www.iana.org/domains/root/db/institute.html institute -// insurance : 2015-02-19 fTLD Registry Services LLC +// insurance : fTLD Registry Services LLC +// https://www.iana.org/domains/root/db/insurance.html insurance -// insure : 2014-03-20 Binky Moon, LLC +// insure : Binky Moon, LLC +// https://www.iana.org/domains/root/db/insure.html insure -// international : 2013-11-07 Binky Moon, LLC +// international : Binky Moon, LLC +// https://www.iana.org/domains/root/db/international.html international -// intuit : 2015-07-30 Intuit Administrative Services, Inc. +// intuit : Intuit Administrative Services, Inc. +// https://www.iana.org/domains/root/db/intuit.html intuit -// investments : 2014-03-20 Binky Moon, LLC +// investments : Binky Moon, LLC +// https://www.iana.org/domains/root/db/investments.html investments -// ipiranga : 2014-08-28 Ipiranga Produtos de Petroleo S.A. +// ipiranga : Ipiranga Produtos de Petroleo S.A. +// https://www.iana.org/domains/root/db/ipiranga.html ipiranga -// irish : 2014-08-07 Binky Moon, LLC +// irish : Binky Moon, LLC +// https://www.iana.org/domains/root/db/irish.html irish -// ismaili : 2015-08-06 Fondation Aga Khan (Aga Khan Foundation) +// ismaili : Fondation Aga Khan (Aga Khan Foundation) +// https://www.iana.org/domains/root/db/ismaili.html ismaili -// ist : 2014-08-28 Istanbul Metropolitan Municipality +// ist : Istanbul Metropolitan Municipality +// https://www.iana.org/domains/root/db/ist.html ist -// istanbul : 2014-08-28 Istanbul Metropolitan Municipality +// istanbul : Istanbul Metropolitan Municipality +// https://www.iana.org/domains/root/db/istanbul.html istanbul -// itau : 2014-10-02 Itau Unibanco Holding S.A. +// itau : Itau Unibanco Holding S.A. +// https://www.iana.org/domains/root/db/itau.html itau -// itv : 2015-07-09 ITV Services Limited +// itv : ITV Services Limited +// https://www.iana.org/domains/root/db/itv.html itv -// jaguar : 2014-11-13 Jaguar Land Rover Ltd +// jaguar : Jaguar Land Rover Ltd +// https://www.iana.org/domains/root/db/jaguar.html jaguar -// java : 2014-06-19 Oracle Corporation +// java : Oracle Corporation +// https://www.iana.org/domains/root/db/java.html java -// jcb : 2014-11-20 JCB Co., Ltd. +// jcb : JCB Co., Ltd. +// https://www.iana.org/domains/root/db/jcb.html jcb -// jeep : 2015-07-30 FCA US LLC. +// jeep : FCA US LLC. +// https://www.iana.org/domains/root/db/jeep.html jeep -// jetzt : 2014-01-09 Binky Moon, LLC +// jetzt : Binky Moon, LLC +// https://www.iana.org/domains/root/db/jetzt.html jetzt -// jewelry : 2015-03-05 Binky Moon, LLC +// jewelry : Binky Moon, LLC +// https://www.iana.org/domains/root/db/jewelry.html jewelry -// jio : 2015-04-02 Reliance Industries Limited +// jio : Reliance Industries Limited +// https://www.iana.org/domains/root/db/jio.html jio -// jll : 2015-04-02 Jones Lang LaSalle Incorporated +// jll : Jones Lang LaSalle Incorporated +// https://www.iana.org/domains/root/db/jll.html jll -// jmp : 2015-03-26 Matrix IP LLC +// jmp : Matrix IP LLC +// https://www.iana.org/domains/root/db/jmp.html jmp -// jnj : 2015-06-18 Johnson & Johnson Services, Inc. +// jnj : Johnson & Johnson Services, Inc. +// https://www.iana.org/domains/root/db/jnj.html jnj -// joburg : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry +// joburg : ZA Central Registry NPC trading as ZA Central Registry +// https://www.iana.org/domains/root/db/joburg.html joburg -// jot : 2014-12-18 Amazon Registry Services, Inc. +// jot : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/jot.html jot -// joy : 2014-12-18 Amazon Registry Services, Inc. +// joy : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/joy.html joy -// jpmorgan : 2015-04-30 JPMorgan Chase Bank, National Association +// jpmorgan : JPMorgan Chase Bank, National Association +// https://www.iana.org/domains/root/db/jpmorgan.html jpmorgan -// jprs : 2014-09-18 Japan Registry Services Co., Ltd. +// jprs : Japan Registry Services Co., Ltd. +// https://www.iana.org/domains/root/db/jprs.html jprs -// juegos : 2014-03-20 Internet Naming Company LLC +// juegos : Internet Naming Company LLC +// https://www.iana.org/domains/root/db/juegos.html juegos -// juniper : 2015-07-30 JUNIPER NETWORKS, INC. +// juniper : JUNIPER NETWORKS, INC. +// https://www.iana.org/domains/root/db/juniper.html juniper -// kaufen : 2013-11-07 Dog Beach, LLC +// kaufen : Dog Beach, LLC +// https://www.iana.org/domains/root/db/kaufen.html kaufen -// kddi : 2014-09-12 KDDI CORPORATION +// kddi : KDDI CORPORATION +// https://www.iana.org/domains/root/db/kddi.html kddi -// kerryhotels : 2015-04-30 Kerry Trading Co. Limited +// kerryhotels : Kerry Trading Co. Limited +// https://www.iana.org/domains/root/db/kerryhotels.html kerryhotels -// kerrylogistics : 2015-04-09 Kerry Trading Co. Limited +// kerrylogistics : Kerry Trading Co. Limited +// https://www.iana.org/domains/root/db/kerrylogistics.html kerrylogistics -// kerryproperties : 2015-04-09 Kerry Trading Co. Limited +// kerryproperties : Kerry Trading Co. Limited +// https://www.iana.org/domains/root/db/kerryproperties.html kerryproperties -// kfh : 2014-12-04 Kuwait Finance House +// kfh : Kuwait Finance House +// https://www.iana.org/domains/root/db/kfh.html kfh -// kia : 2015-07-09 KIA MOTORS CORPORATION +// kia : KIA MOTORS CORPORATION +// https://www.iana.org/domains/root/db/kia.html kia -// kids : 2021-08-13 DotKids Foundation Limited +// kids : DotKids Foundation Limited +// https://www.iana.org/domains/root/db/kids.html kids -// kim : 2013-09-23 Identity Digital Limited +// kim : Identity Digital Limited +// https://www.iana.org/domains/root/db/kim.html kim -// kinder : 2014-11-07 Ferrero Trading Lux S.A. -kinder - -// kindle : 2015-06-25 Amazon Registry Services, Inc. +// kindle : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/kindle.html kindle -// kitchen : 2013-09-20 Binky Moon, LLC +// kitchen : Binky Moon, LLC +// https://www.iana.org/domains/root/db/kitchen.html kitchen -// kiwi : 2013-09-20 DOT KIWI LIMITED +// kiwi : DOT KIWI LIMITED +// https://www.iana.org/domains/root/db/kiwi.html kiwi -// koeln : 2014-01-09 dotKoeln GmbH +// koeln : dotKoeln GmbH +// https://www.iana.org/domains/root/db/koeln.html koeln -// komatsu : 2015-01-08 Komatsu Ltd. +// komatsu : Komatsu Ltd. +// https://www.iana.org/domains/root/db/komatsu.html komatsu -// kosher : 2015-08-20 Kosher Marketing Assets LLC +// kosher : Kosher Marketing Assets LLC +// https://www.iana.org/domains/root/db/kosher.html kosher -// kpmg : 2015-04-23 KPMG International Cooperative (KPMG International Genossenschaft) +// kpmg : KPMG International Cooperative (KPMG International Genossenschaft) +// https://www.iana.org/domains/root/db/kpmg.html kpmg -// kpn : 2015-01-08 Koninklijke KPN N.V. +// kpn : Koninklijke KPN N.V. +// https://www.iana.org/domains/root/db/kpn.html kpn -// krd : 2013-12-05 KRG Department of Information Technology +// krd : KRG Department of Information Technology +// https://www.iana.org/domains/root/db/krd.html krd -// kred : 2013-12-19 KredTLD Pty Ltd +// kred : KredTLD Pty Ltd +// https://www.iana.org/domains/root/db/kred.html kred -// kuokgroup : 2015-04-09 Kerry Trading Co. Limited +// kuokgroup : Kerry Trading Co. Limited +// https://www.iana.org/domains/root/db/kuokgroup.html kuokgroup -// kyoto : 2014-11-07 Academic Institution: Kyoto Jyoho Gakuen +// kyoto : Academic Institution: Kyoto Jyoho Gakuen +// https://www.iana.org/domains/root/db/kyoto.html kyoto -// lacaixa : 2014-01-09 Fundación Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa” +// lacaixa : Fundación Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa” +// https://www.iana.org/domains/root/db/lacaixa.html lacaixa -// lamborghini : 2015-06-04 Automobili Lamborghini S.p.A. +// lamborghini : Automobili Lamborghini S.p.A. +// https://www.iana.org/domains/root/db/lamborghini.html lamborghini -// lamer : 2015-10-01 The Estée Lauder Companies Inc. +// lamer : The Estée Lauder Companies Inc. +// https://www.iana.org/domains/root/db/lamer.html lamer -// lancaster : 2015-02-12 LANCASTER +// lancaster : LANCASTER +// https://www.iana.org/domains/root/db/lancaster.html lancaster -// lancia : 2015-07-31 Fiat Chrysler Automobiles N.V. -lancia - -// land : 2013-09-10 Binky Moon, LLC +// land : Binky Moon, LLC +// https://www.iana.org/domains/root/db/land.html land -// landrover : 2014-11-13 Jaguar Land Rover Ltd +// landrover : Jaguar Land Rover Ltd +// https://www.iana.org/domains/root/db/landrover.html landrover -// lanxess : 2015-07-30 LANXESS Corporation +// lanxess : LANXESS Corporation +// https://www.iana.org/domains/root/db/lanxess.html lanxess -// lasalle : 2015-04-02 Jones Lang LaSalle Incorporated +// lasalle : Jones Lang LaSalle Incorporated +// https://www.iana.org/domains/root/db/lasalle.html lasalle -// lat : 2014-10-16 XYZ.COM LLC +// lat : XYZ.COM LLC +// https://www.iana.org/domains/root/db/lat.html lat -// latino : 2015-07-30 Dish DBS Corporation +// latino : Dish DBS Corporation +// https://www.iana.org/domains/root/db/latino.html latino -// latrobe : 2014-06-16 La Trobe University +// latrobe : La Trobe University +// https://www.iana.org/domains/root/db/latrobe.html latrobe -// law : 2015-01-22 Registry Services, LLC +// law : Registry Services, LLC +// https://www.iana.org/domains/root/db/law.html law -// lawyer : 2014-03-20 Dog Beach, LLC +// lawyer : Dog Beach, LLC +// https://www.iana.org/domains/root/db/lawyer.html lawyer -// lds : 2014-03-20 IRI Domain Management, LLC +// lds : IRI Domain Management, LLC +// https://www.iana.org/domains/root/db/lds.html lds -// lease : 2014-03-06 Binky Moon, LLC +// lease : Binky Moon, LLC +// https://www.iana.org/domains/root/db/lease.html lease -// leclerc : 2014-08-07 A.C.D. LEC Association des Centres Distributeurs Edouard Leclerc +// leclerc : A.C.D. LEC Association des Centres Distributeurs Edouard Leclerc +// https://www.iana.org/domains/root/db/leclerc.html leclerc -// lefrak : 2015-07-16 LeFrak Organization, Inc. +// lefrak : LeFrak Organization, Inc. +// https://www.iana.org/domains/root/db/lefrak.html lefrak -// legal : 2014-10-16 Binky Moon, LLC +// legal : Binky Moon, LLC +// https://www.iana.org/domains/root/db/legal.html legal -// lego : 2015-07-16 LEGO Juris A/S +// lego : LEGO Juris A/S +// https://www.iana.org/domains/root/db/lego.html lego -// lexus : 2015-04-23 TOYOTA MOTOR CORPORATION +// lexus : TOYOTA MOTOR CORPORATION +// https://www.iana.org/domains/root/db/lexus.html lexus -// lgbt : 2014-05-08 Identity Digital Limited +// lgbt : Identity Digital Limited +// https://www.iana.org/domains/root/db/lgbt.html lgbt -// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG +// lidl : Schwarz Domains und Services GmbH & Co. KG +// https://www.iana.org/domains/root/db/lidl.html lidl -// life : 2014-02-06 Binky Moon, LLC +// life : Binky Moon, LLC +// https://www.iana.org/domains/root/db/life.html life -// lifeinsurance : 2015-01-15 American Council of Life Insurers +// lifeinsurance : American Council of Life Insurers +// https://www.iana.org/domains/root/db/lifeinsurance.html lifeinsurance -// lifestyle : 2014-12-11 Lifestyle Domain Holdings, Inc. +// lifestyle : Lifestyle Domain Holdings, Inc. +// https://www.iana.org/domains/root/db/lifestyle.html lifestyle -// lighting : 2013-08-27 Binky Moon, LLC +// lighting : Binky Moon, LLC +// https://www.iana.org/domains/root/db/lighting.html lighting -// like : 2014-12-18 Amazon Registry Services, Inc. +// like : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/like.html like -// lilly : 2015-07-31 Eli Lilly and Company +// lilly : Eli Lilly and Company +// https://www.iana.org/domains/root/db/lilly.html lilly -// limited : 2014-03-06 Binky Moon, LLC +// limited : Binky Moon, LLC +// https://www.iana.org/domains/root/db/limited.html limited -// limo : 2013-10-17 Binky Moon, LLC +// limo : Binky Moon, LLC +// https://www.iana.org/domains/root/db/limo.html limo -// lincoln : 2014-11-13 Ford Motor Company +// lincoln : Ford Motor Company +// https://www.iana.org/domains/root/db/lincoln.html lincoln -// link : 2013-11-14 Nova Registry Ltd +// link : Nova Registry Ltd +// https://www.iana.org/domains/root/db/link.html link -// lipsy : 2015-06-25 Lipsy Ltd +// lipsy : Lipsy Ltd +// https://www.iana.org/domains/root/db/lipsy.html lipsy -// live : 2014-12-04 Dog Beach, LLC +// live : Dog Beach, LLC +// https://www.iana.org/domains/root/db/live.html live -// living : 2015-07-30 Lifestyle Domain Holdings, Inc. +// living : Lifestyle Domain Holdings, Inc. +// https://www.iana.org/domains/root/db/living.html living -// llc : 2017-12-14 Identity Digital Limited +// llc : Identity Digital Limited +// https://www.iana.org/domains/root/db/llc.html llc -// llp : 2019-08-26 Intercap Registry Inc. +// llp : Intercap Registry Inc. +// https://www.iana.org/domains/root/db/llp.html llp -// loan : 2014-11-20 dot Loan Limited +// loan : dot Loan Limited +// https://www.iana.org/domains/root/db/loan.html loan -// loans : 2014-03-20 Binky Moon, LLC +// loans : Binky Moon, LLC +// https://www.iana.org/domains/root/db/loans.html loans -// locker : 2015-06-04 Dish DBS Corporation +// locker : Orange Domains LLC +// https://www.iana.org/domains/root/db/locker.html locker -// locus : 2015-06-25 Locus Analytics LLC +// locus : Locus Analytics LLC +// https://www.iana.org/domains/root/db/locus.html locus -// lol : 2015-01-30 XYZ.COM LLC +// lol : XYZ.COM LLC +// https://www.iana.org/domains/root/db/lol.html lol -// london : 2013-11-14 Dot London Domains Limited +// london : Dot London Domains Limited +// https://www.iana.org/domains/root/db/london.html london -// lotte : 2014-11-07 Lotte Holdings Co., Ltd. +// lotte : Lotte Holdings Co., Ltd. +// https://www.iana.org/domains/root/db/lotte.html lotte -// lotto : 2014-04-10 Identity Digital Limited +// lotto : Identity Digital Limited +// https://www.iana.org/domains/root/db/lotto.html lotto -// love : 2014-12-22 Merchant Law Group LLP +// love : Merchant Law Group LLP +// https://www.iana.org/domains/root/db/love.html love -// lpl : 2015-07-30 LPL Holdings, Inc. +// lpl : LPL Holdings, Inc. +// https://www.iana.org/domains/root/db/lpl.html lpl -// lplfinancial : 2015-07-30 LPL Holdings, Inc. +// lplfinancial : LPL Holdings, Inc. +// https://www.iana.org/domains/root/db/lplfinancial.html lplfinancial -// ltd : 2014-09-25 Binky Moon, LLC +// ltd : Binky Moon, LLC +// https://www.iana.org/domains/root/db/ltd.html ltd -// ltda : 2014-04-17 InterNetX, Corp +// ltda : InterNetX, Corp +// https://www.iana.org/domains/root/db/ltda.html ltda -// lundbeck : 2015-08-06 H. Lundbeck A/S +// lundbeck : H. Lundbeck A/S +// https://www.iana.org/domains/root/db/lundbeck.html lundbeck -// luxe : 2014-01-09 Registry Services, LLC +// luxe : Registry Services, LLC +// https://www.iana.org/domains/root/db/luxe.html luxe -// luxury : 2013-10-17 Luxury Partners, LLC +// luxury : Luxury Partners, LLC +// https://www.iana.org/domains/root/db/luxury.html luxury -// madrid : 2014-05-01 Comunidad de Madrid +// madrid : Comunidad de Madrid +// https://www.iana.org/domains/root/db/madrid.html madrid -// maif : 2014-10-02 Mutuelle Assurance Instituteur France (MAIF) +// maif : Mutuelle Assurance Instituteur France (MAIF) +// https://www.iana.org/domains/root/db/maif.html maif -// maison : 2013-12-05 Binky Moon, LLC +// maison : Binky Moon, LLC +// https://www.iana.org/domains/root/db/maison.html maison -// makeup : 2015-01-15 XYZ.COM LLC +// makeup : XYZ.COM LLC +// https://www.iana.org/domains/root/db/makeup.html makeup -// man : 2014-12-04 MAN SE +// man : MAN SE +// https://www.iana.org/domains/root/db/man.html man -// management : 2013-11-07 Binky Moon, LLC +// management : Binky Moon, LLC +// https://www.iana.org/domains/root/db/management.html management -// mango : 2013-10-24 PUNTO FA S.L. +// mango : PUNTO FA S.L. +// https://www.iana.org/domains/root/db/mango.html mango -// map : 2016-06-09 Charleston Road Registry Inc. +// map : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/map.html map -// market : 2014-03-06 Dog Beach, LLC +// market : Dog Beach, LLC +// https://www.iana.org/domains/root/db/market.html market -// marketing : 2013-11-07 Binky Moon, LLC +// marketing : Binky Moon, LLC +// https://www.iana.org/domains/root/db/marketing.html marketing -// markets : 2014-12-11 Dog Beach, LLC +// markets : Dog Beach, LLC +// https://www.iana.org/domains/root/db/markets.html markets -// marriott : 2014-10-09 Marriott Worldwide Corporation +// marriott : Marriott Worldwide Corporation +// https://www.iana.org/domains/root/db/marriott.html marriott -// marshalls : 2015-07-16 The TJX Companies, Inc. +// marshalls : The TJX Companies, Inc. +// https://www.iana.org/domains/root/db/marshalls.html marshalls -// maserati : 2015-07-31 Fiat Chrysler Automobiles N.V. -maserati - -// mattel : 2015-08-06 Mattel Sites, Inc. +// mattel : Mattel Sites, Inc. +// https://www.iana.org/domains/root/db/mattel.html mattel -// mba : 2015-04-02 Binky Moon, LLC +// mba : Binky Moon, LLC +// https://www.iana.org/domains/root/db/mba.html mba -// mckinsey : 2015-07-31 McKinsey Holdings, Inc. +// mckinsey : McKinsey Holdings, Inc. +// https://www.iana.org/domains/root/db/mckinsey.html mckinsey -// med : 2015-08-06 Medistry LLC +// med : Medistry LLC +// https://www.iana.org/domains/root/db/med.html med -// media : 2014-03-06 Binky Moon, LLC +// media : Binky Moon, LLC +// https://www.iana.org/domains/root/db/media.html media -// meet : 2014-01-16 Charleston Road Registry Inc. +// meet : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/meet.html meet -// melbourne : 2014-05-29 The Crown in right of the State of Victoria, represented by its Department of State Development, Business and Innovation +// melbourne : The Crown in right of the State of Victoria, represented by its Department of State Development, Business and Innovation +// https://www.iana.org/domains/root/db/melbourne.html melbourne -// meme : 2014-01-30 Charleston Road Registry Inc. +// meme : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/meme.html meme -// memorial : 2014-10-16 Dog Beach, LLC +// memorial : Dog Beach, LLC +// https://www.iana.org/domains/root/db/memorial.html memorial -// men : 2015-02-26 Exclusive Registry Limited +// men : Exclusive Registry Limited +// https://www.iana.org/domains/root/db/men.html men -// menu : 2013-09-11 Dot Menu Registry, LLC +// menu : Dot Menu Registry, LLC +// https://www.iana.org/domains/root/db/menu.html menu -// merckmsd : 2016-07-14 MSD Registry Holdings, Inc. +// merckmsd : MSD Registry Holdings, Inc. +// https://www.iana.org/domains/root/db/merckmsd.html merckmsd -// miami : 2013-12-19 Registry Services, LLC +// miami : Registry Services, LLC +// https://www.iana.org/domains/root/db/miami.html miami -// microsoft : 2014-12-18 Microsoft Corporation +// microsoft : Microsoft Corporation +// https://www.iana.org/domains/root/db/microsoft.html microsoft -// mini : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft +// mini : Bayerische Motoren Werke Aktiengesellschaft +// https://www.iana.org/domains/root/db/mini.html mini -// mint : 2015-07-30 Intuit Administrative Services, Inc. +// mint : Intuit Administrative Services, Inc. +// https://www.iana.org/domains/root/db/mint.html mint -// mit : 2015-07-02 Massachusetts Institute of Technology +// mit : Massachusetts Institute of Technology +// https://www.iana.org/domains/root/db/mit.html mit -// mitsubishi : 2015-07-23 Mitsubishi Corporation +// mitsubishi : Mitsubishi Corporation +// https://www.iana.org/domains/root/db/mitsubishi.html mitsubishi -// mlb : 2015-05-21 MLB Advanced Media DH, LLC +// mlb : MLB Advanced Media DH, LLC +// https://www.iana.org/domains/root/db/mlb.html mlb -// mls : 2015-04-23 The Canadian Real Estate Association +// mls : The Canadian Real Estate Association +// https://www.iana.org/domains/root/db/mls.html mls -// mma : 2014-11-07 MMA IARD +// mma : MMA IARD +// https://www.iana.org/domains/root/db/mma.html mma -// mobile : 2016-06-02 Dish DBS Corporation +// mobile : Dish DBS Corporation +// https://www.iana.org/domains/root/db/mobile.html mobile -// moda : 2013-11-07 Dog Beach, LLC +// moda : Dog Beach, LLC +// https://www.iana.org/domains/root/db/moda.html moda -// moe : 2013-11-13 Interlink Systems Innovation Institute K.K. +// moe : Interlink Systems Innovation Institute K.K. +// https://www.iana.org/domains/root/db/moe.html moe -// moi : 2014-12-18 Amazon Registry Services, Inc. +// moi : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/moi.html moi -// mom : 2015-04-16 XYZ.COM LLC +// mom : XYZ.COM LLC +// https://www.iana.org/domains/root/db/mom.html mom -// monash : 2013-09-30 Monash University +// monash : Monash University +// https://www.iana.org/domains/root/db/monash.html monash -// money : 2014-10-16 Binky Moon, LLC +// money : Binky Moon, LLC +// https://www.iana.org/domains/root/db/money.html money -// monster : 2015-09-11 XYZ.COM LLC +// monster : XYZ.COM LLC +// https://www.iana.org/domains/root/db/monster.html monster -// mormon : 2013-12-05 IRI Domain Management, LLC +// mormon : IRI Domain Management, LLC +// https://www.iana.org/domains/root/db/mormon.html mormon -// mortgage : 2014-03-20 Dog Beach, LLC +// mortgage : Dog Beach, LLC +// https://www.iana.org/domains/root/db/mortgage.html mortgage -// moscow : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID) +// moscow : Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID) +// https://www.iana.org/domains/root/db/moscow.html moscow -// moto : 2015-06-04 Motorola Trademark Holdings, LLC +// moto : Motorola Trademark Holdings, LLC +// https://www.iana.org/domains/root/db/moto.html moto -// motorcycles : 2014-01-09 XYZ.COM LLC +// motorcycles : XYZ.COM LLC +// https://www.iana.org/domains/root/db/motorcycles.html motorcycles -// mov : 2014-01-30 Charleston Road Registry Inc. +// mov : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/mov.html mov -// movie : 2015-02-05 Binky Moon, LLC +// movie : Binky Moon, LLC +// https://www.iana.org/domains/root/db/movie.html movie -// msd : 2015-07-23 MSD Registry Holdings, Inc. +// msd : MSD Registry Holdings, Inc. +// https://www.iana.org/domains/root/db/msd.html msd -// mtn : 2014-12-04 MTN Dubai Limited +// mtn : MTN Dubai Limited +// https://www.iana.org/domains/root/db/mtn.html mtn -// mtr : 2015-03-12 MTR Corporation Limited +// mtr : MTR Corporation Limited +// https://www.iana.org/domains/root/db/mtr.html mtr -// music : 2021-05-04 DotMusic Limited +// music : DotMusic Limited +// https://www.iana.org/domains/root/db/music.html music -// mutual : 2015-04-02 Northwestern Mutual MU TLD Registry, LLC -mutual - -// nab : 2015-08-20 National Australia Bank Limited +// nab : National Australia Bank Limited +// https://www.iana.org/domains/root/db/nab.html nab -// nagoya : 2013-10-24 GMO Registry, Inc. +// nagoya : GMO Registry, Inc. +// https://www.iana.org/domains/root/db/nagoya.html nagoya -// natura : 2015-03-12 NATURA COSMÉTICOS S.A. +// natura : NATURA COSMÉTICOS S.A. +// https://www.iana.org/domains/root/db/natura.html natura -// navy : 2014-03-06 Dog Beach, LLC +// navy : Dog Beach, LLC +// https://www.iana.org/domains/root/db/navy.html navy -// nba : 2015-07-31 NBA REGISTRY, LLC +// nba : NBA REGISTRY, LLC +// https://www.iana.org/domains/root/db/nba.html nba -// nec : 2015-01-08 NEC Corporation +// nec : NEC Corporation +// https://www.iana.org/domains/root/db/nec.html nec -// netbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA +// netbank : COMMONWEALTH BANK OF AUSTRALIA +// https://www.iana.org/domains/root/db/netbank.html netbank -// netflix : 2015-06-18 Netflix, Inc. +// netflix : Netflix, Inc. +// https://www.iana.org/domains/root/db/netflix.html netflix -// network : 2013-11-14 Binky Moon, LLC +// network : Binky Moon, LLC +// https://www.iana.org/domains/root/db/network.html network -// neustar : 2013-12-05 NeuStar, Inc. +// neustar : NeuStar, Inc. +// https://www.iana.org/domains/root/db/neustar.html neustar -// new : 2014-01-30 Charleston Road Registry Inc. +// new : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/new.html new -// news : 2014-12-18 Dog Beach, LLC +// news : Dog Beach, LLC +// https://www.iana.org/domains/root/db/news.html news -// next : 2015-06-18 Next plc +// next : Next plc +// https://www.iana.org/domains/root/db/next.html next -// nextdirect : 2015-06-18 Next plc +// nextdirect : Next plc +// https://www.iana.org/domains/root/db/nextdirect.html nextdirect -// nexus : 2014-07-24 Charleston Road Registry Inc. +// nexus : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/nexus.html nexus -// nfl : 2015-07-23 NFL Reg Ops LLC +// nfl : NFL Reg Ops LLC +// https://www.iana.org/domains/root/db/nfl.html nfl -// ngo : 2014-03-06 Public Interest Registry +// ngo : Public Interest Registry +// https://www.iana.org/domains/root/db/ngo.html ngo -// nhk : 2014-02-13 Japan Broadcasting Corporation (NHK) +// nhk : Japan Broadcasting Corporation (NHK) +// https://www.iana.org/domains/root/db/nhk.html nhk -// nico : 2014-12-04 DWANGO Co., Ltd. +// nico : DWANGO Co., Ltd. +// https://www.iana.org/domains/root/db/nico.html nico -// nike : 2015-07-23 NIKE, Inc. +// nike : NIKE, Inc. +// https://www.iana.org/domains/root/db/nike.html nike -// nikon : 2015-05-21 NIKON CORPORATION +// nikon : NIKON CORPORATION +// https://www.iana.org/domains/root/db/nikon.html nikon -// ninja : 2013-11-07 Dog Beach, LLC +// ninja : Dog Beach, LLC +// https://www.iana.org/domains/root/db/ninja.html ninja -// nissan : 2014-03-27 NISSAN MOTOR CO., LTD. +// nissan : NISSAN MOTOR CO., LTD. +// https://www.iana.org/domains/root/db/nissan.html nissan -// nissay : 2015-10-29 Nippon Life Insurance Company +// nissay : Nippon Life Insurance Company +// https://www.iana.org/domains/root/db/nissay.html nissay -// nokia : 2015-01-08 Nokia Corporation +// nokia : Nokia Corporation +// https://www.iana.org/domains/root/db/nokia.html nokia -// northwesternmutual : 2015-06-18 Northwestern Mutual Registry, LLC -northwesternmutual - -// norton : 2014-12-04 NortonLifeLock Inc. +// norton : NortonLifeLock Inc. +// https://www.iana.org/domains/root/db/norton.html norton -// now : 2015-06-25 Amazon Registry Services, Inc. +// now : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/now.html now -// nowruz : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// nowruz : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// https://www.iana.org/domains/root/db/nowruz.html nowruz -// nowtv : 2015-05-14 Starbucks (HK) Limited +// nowtv : Starbucks (HK) Limited +// https://www.iana.org/domains/root/db/nowtv.html nowtv -// nra : 2014-05-22 NRA Holdings Company, INC. +// nra : NRA Holdings Company, INC. +// https://www.iana.org/domains/root/db/nra.html nra -// nrw : 2013-11-21 Minds + Machines GmbH +// nrw : Minds + Machines GmbH +// https://www.iana.org/domains/root/db/nrw.html nrw -// ntt : 2014-10-31 NIPPON TELEGRAPH AND TELEPHONE CORPORATION +// ntt : NIPPON TELEGRAPH AND TELEPHONE CORPORATION +// https://www.iana.org/domains/root/db/ntt.html ntt -// nyc : 2014-01-23 The City of New York by and through the New York City Department of Information Technology & Telecommunications +// nyc : The City of New York by and through the New York City Department of Information Technology & Telecommunications +// https://www.iana.org/domains/root/db/nyc.html nyc -// obi : 2014-09-25 OBI Group Holding SE & Co. KGaA +// obi : OBI Group Holding SE & Co. KGaA +// https://www.iana.org/domains/root/db/obi.html obi -// observer : 2015-04-30 Dog Beach, LLC +// observer : Fegistry, LLC +// https://www.iana.org/domains/root/db/observer.html observer -// office : 2015-03-12 Microsoft Corporation +// office : Microsoft Corporation +// https://www.iana.org/domains/root/db/office.html office -// okinawa : 2013-12-05 BRregistry, Inc. +// okinawa : BRregistry, Inc. +// https://www.iana.org/domains/root/db/okinawa.html okinawa -// olayan : 2015-05-14 Crescent Holding GmbH +// olayan : Competrol (Luxembourg) Sarl +// https://www.iana.org/domains/root/db/olayan.html olayan -// olayangroup : 2015-05-14 Crescent Holding GmbH +// olayangroup : Competrol (Luxembourg) Sarl +// https://www.iana.org/domains/root/db/olayangroup.html olayangroup -// oldnavy : 2015-07-31 The Gap, Inc. +// oldnavy : The Gap, Inc. +// https://www.iana.org/domains/root/db/oldnavy.html oldnavy -// ollo : 2015-06-04 Dish DBS Corporation +// ollo : Dish DBS Corporation +// https://www.iana.org/domains/root/db/ollo.html ollo -// omega : 2015-01-08 The Swatch Group Ltd +// omega : The Swatch Group Ltd +// https://www.iana.org/domains/root/db/omega.html omega -// one : 2014-11-07 One.com A/S +// one : One.com A/S +// https://www.iana.org/domains/root/db/one.html one -// ong : 2014-03-06 Public Interest Registry +// ong : Public Interest Registry +// https://www.iana.org/domains/root/db/ong.html ong -// onl : 2013-09-16 iRegistry GmbH +// onl : iRegistry GmbH +// https://www.iana.org/domains/root/db/onl.html onl -// online : 2015-01-15 Radix FZC +// online : Radix FZC DMCC +// https://www.iana.org/domains/root/db/online.html online -// ooo : 2014-01-09 INFIBEAM AVENUES LIMITED +// ooo : INFIBEAM AVENUES LIMITED +// https://www.iana.org/domains/root/db/ooo.html ooo -// open : 2015-07-31 American Express Travel Related Services Company, Inc. +// open : American Express Travel Related Services Company, Inc. +// https://www.iana.org/domains/root/db/open.html open -// oracle : 2014-06-19 Oracle Corporation +// oracle : Oracle Corporation +// https://www.iana.org/domains/root/db/oracle.html oracle -// orange : 2015-03-12 Orange Brand Services Limited +// orange : Orange Brand Services Limited +// https://www.iana.org/domains/root/db/orange.html orange -// organic : 2014-03-27 Identity Digital Limited +// organic : Identity Digital Limited +// https://www.iana.org/domains/root/db/organic.html organic -// origins : 2015-10-01 The Estée Lauder Companies Inc. +// origins : The Estée Lauder Companies Inc. +// https://www.iana.org/domains/root/db/origins.html origins -// osaka : 2014-09-04 Osaka Registry Co., Ltd. +// osaka : Osaka Registry Co., Ltd. +// https://www.iana.org/domains/root/db/osaka.html osaka -// otsuka : 2013-10-11 Otsuka Holdings Co., Ltd. +// otsuka : Otsuka Holdings Co., Ltd. +// https://www.iana.org/domains/root/db/otsuka.html otsuka -// ott : 2015-06-04 Dish DBS Corporation +// ott : Dish DBS Corporation +// https://www.iana.org/domains/root/db/ott.html ott -// ovh : 2014-01-16 MédiaBC +// ovh : MédiaBC +// https://www.iana.org/domains/root/db/ovh.html ovh -// page : 2014-12-04 Charleston Road Registry Inc. +// page : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/page.html page -// panasonic : 2015-07-30 Panasonic Holdings Corporation +// panasonic : Panasonic Holdings Corporation +// https://www.iana.org/domains/root/db/panasonic.html panasonic -// paris : 2014-01-30 City of Paris +// paris : City of Paris +// https://www.iana.org/domains/root/db/paris.html paris -// pars : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// pars : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// https://www.iana.org/domains/root/db/pars.html pars -// partners : 2013-12-05 Binky Moon, LLC +// partners : Binky Moon, LLC +// https://www.iana.org/domains/root/db/partners.html partners -// parts : 2013-12-05 Binky Moon, LLC +// parts : Binky Moon, LLC +// https://www.iana.org/domains/root/db/parts.html parts -// party : 2014-09-11 Blue Sky Registry Limited +// party : Blue Sky Registry Limited +// https://www.iana.org/domains/root/db/party.html party -// passagens : 2015-03-05 Travel Reservations SRL -passagens - -// pay : 2015-08-27 Amazon Registry Services, Inc. +// pay : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/pay.html pay -// pccw : 2015-05-14 PCCW Enterprises Limited +// pccw : PCCW Enterprises Limited +// https://www.iana.org/domains/root/db/pccw.html pccw -// pet : 2015-05-07 Identity Digital Limited +// pet : Identity Digital Limited +// https://www.iana.org/domains/root/db/pet.html pet -// pfizer : 2015-09-11 Pfizer Inc. +// pfizer : Pfizer Inc. +// https://www.iana.org/domains/root/db/pfizer.html pfizer -// pharmacy : 2014-06-19 National Association of Boards of Pharmacy +// pharmacy : National Association of Boards of Pharmacy +// https://www.iana.org/domains/root/db/pharmacy.html pharmacy -// phd : 2016-07-28 Charleston Road Registry Inc. +// phd : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/phd.html phd -// philips : 2014-11-07 Koninklijke Philips N.V. +// philips : Koninklijke Philips N.V. +// https://www.iana.org/domains/root/db/philips.html philips -// phone : 2016-06-02 Dish DBS Corporation +// phone : Dish DBS Corporation +// https://www.iana.org/domains/root/db/phone.html phone -// photo : 2013-11-14 Registry Services, LLC +// photo : Registry Services, LLC +// https://www.iana.org/domains/root/db/photo.html photo -// photography : 2013-09-20 Binky Moon, LLC +// photography : Binky Moon, LLC +// https://www.iana.org/domains/root/db/photography.html photography -// photos : 2013-10-17 Binky Moon, LLC +// photos : Binky Moon, LLC +// https://www.iana.org/domains/root/db/photos.html photos -// physio : 2014-05-01 PhysBiz Pty Ltd +// physio : PhysBiz Pty Ltd +// https://www.iana.org/domains/root/db/physio.html physio -// pics : 2013-11-14 XYZ.COM LLC +// pics : XYZ.COM LLC +// https://www.iana.org/domains/root/db/pics.html pics -// pictet : 2014-06-26 Pictet Europe S.A. +// pictet : Pictet Europe S.A. +// https://www.iana.org/domains/root/db/pictet.html pictet -// pictures : 2014-03-06 Binky Moon, LLC +// pictures : Binky Moon, LLC +// https://www.iana.org/domains/root/db/pictures.html pictures -// pid : 2015-01-08 Top Level Spectrum, Inc. +// pid : Top Level Spectrum, Inc. +// https://www.iana.org/domains/root/db/pid.html pid -// pin : 2014-12-18 Amazon Registry Services, Inc. +// pin : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/pin.html pin -// ping : 2015-06-11 Ping Registry Provider, Inc. +// ping : Ping Registry Provider, Inc. +// https://www.iana.org/domains/root/db/ping.html ping -// pink : 2013-10-01 Identity Digital Limited +// pink : Identity Digital Limited +// https://www.iana.org/domains/root/db/pink.html pink -// pioneer : 2015-07-16 Pioneer Corporation +// pioneer : Pioneer Corporation +// https://www.iana.org/domains/root/db/pioneer.html pioneer -// pizza : 2014-06-26 Binky Moon, LLC +// pizza : Binky Moon, LLC +// https://www.iana.org/domains/root/db/pizza.html pizza -// place : 2014-04-24 Binky Moon, LLC +// place : Binky Moon, LLC +// https://www.iana.org/domains/root/db/place.html place -// play : 2015-03-05 Charleston Road Registry Inc. +// play : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/play.html play -// playstation : 2015-07-02 Sony Interactive Entertainment Inc. +// playstation : Sony Interactive Entertainment Inc. +// https://www.iana.org/domains/root/db/playstation.html playstation -// plumbing : 2013-09-10 Binky Moon, LLC +// plumbing : Binky Moon, LLC +// https://www.iana.org/domains/root/db/plumbing.html plumbing -// plus : 2015-02-05 Binky Moon, LLC +// plus : Binky Moon, LLC +// https://www.iana.org/domains/root/db/plus.html plus -// pnc : 2015-07-02 PNC Domain Co., LLC +// pnc : PNC Domain Co., LLC +// https://www.iana.org/domains/root/db/pnc.html pnc -// pohl : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG +// pohl : Deutsche Vermögensberatung Aktiengesellschaft DVAG +// https://www.iana.org/domains/root/db/pohl.html pohl -// poker : 2014-07-03 Identity Digital Limited +// poker : Identity Digital Limited +// https://www.iana.org/domains/root/db/poker.html poker -// politie : 2015-08-20 Politie Nederland +// politie : Politie Nederland +// https://www.iana.org/domains/root/db/politie.html politie -// porn : 2014-10-16 ICM Registry PN LLC +// porn : ICM Registry PN LLC +// https://www.iana.org/domains/root/db/porn.html porn -// pramerica : 2015-07-30 Prudential Financial, Inc. +// pramerica : Prudential Financial, Inc. +// https://www.iana.org/domains/root/db/pramerica.html pramerica -// praxi : 2013-12-05 Praxi S.p.A. +// praxi : Praxi S.p.A. +// https://www.iana.org/domains/root/db/praxi.html praxi -// press : 2014-04-03 Radix FZC +// press : Radix FZC DMCC +// https://www.iana.org/domains/root/db/press.html press -// prime : 2015-06-25 Amazon Registry Services, Inc. +// prime : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/prime.html prime -// prod : 2014-01-23 Charleston Road Registry Inc. +// prod : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/prod.html prod -// productions : 2013-12-05 Binky Moon, LLC +// productions : Binky Moon, LLC +// https://www.iana.org/domains/root/db/productions.html productions -// prof : 2014-07-24 Charleston Road Registry Inc. +// prof : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/prof.html prof -// progressive : 2015-07-23 Progressive Casualty Insurance Company +// progressive : Progressive Casualty Insurance Company +// https://www.iana.org/domains/root/db/progressive.html progressive -// promo : 2014-12-18 Identity Digital Limited +// promo : Identity Digital Limited +// https://www.iana.org/domains/root/db/promo.html promo -// properties : 2013-12-05 Binky Moon, LLC +// properties : Binky Moon, LLC +// https://www.iana.org/domains/root/db/properties.html properties -// property : 2014-05-22 Internet Naming Company LLC +// property : Digital Property Infrastructure Limited +// https://www.iana.org/domains/root/db/property.html property -// protection : 2015-04-23 XYZ.COM LLC +// protection : XYZ.COM LLC +// https://www.iana.org/domains/root/db/protection.html protection -// pru : 2015-07-30 Prudential Financial, Inc. +// pru : Prudential Financial, Inc. +// https://www.iana.org/domains/root/db/pru.html pru -// prudential : 2015-07-30 Prudential Financial, Inc. +// prudential : Prudential Financial, Inc. +// https://www.iana.org/domains/root/db/prudential.html prudential -// pub : 2013-12-12 Dog Beach, LLC +// pub : Dog Beach, LLC +// https://www.iana.org/domains/root/db/pub.html pub -// pwc : 2015-10-29 PricewaterhouseCoopers LLP +// pwc : PricewaterhouseCoopers LLP +// https://www.iana.org/domains/root/db/pwc.html pwc -// qpon : 2013-11-14 dotQPON LLC +// qpon : dotQPON LLC +// https://www.iana.org/domains/root/db/qpon.html qpon -// quebec : 2013-12-19 PointQuébec Inc +// quebec : PointQuébec Inc +// https://www.iana.org/domains/root/db/quebec.html quebec -// quest : 2015-03-26 XYZ.COM LLC +// quest : XYZ.COM LLC +// https://www.iana.org/domains/root/db/quest.html quest -// racing : 2014-12-04 Premier Registry Limited +// racing : Premier Registry Limited +// https://www.iana.org/domains/root/db/racing.html racing -// radio : 2016-07-21 European Broadcasting Union (EBU) +// radio : European Broadcasting Union (EBU) +// https://www.iana.org/domains/root/db/radio.html radio -// read : 2014-12-18 Amazon Registry Services, Inc. +// read : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/read.html read -// realestate : 2015-09-11 dotRealEstate LLC +// realestate : dotRealEstate LLC +// https://www.iana.org/domains/root/db/realestate.html realestate -// realtor : 2014-05-29 Real Estate Domains LLC +// realtor : Real Estate Domains LLC +// https://www.iana.org/domains/root/db/realtor.html realtor -// realty : 2015-03-19 Dog Beach, LLC +// realty : Internet Naming Company LLC +// https://www.iana.org/domains/root/db/realty.html realty -// recipes : 2013-10-17 Binky Moon, LLC +// recipes : Binky Moon, LLC +// https://www.iana.org/domains/root/db/recipes.html recipes -// red : 2013-11-07 Identity Digital Limited +// red : Identity Digital Limited +// https://www.iana.org/domains/root/db/red.html red -// redstone : 2014-10-31 Redstone Haute Couture Co., Ltd. +// redstone : Redstone Haute Couture Co., Ltd. +// https://www.iana.org/domains/root/db/redstone.html redstone -// redumbrella : 2015-03-26 Travelers TLD, LLC +// redumbrella : Travelers TLD, LLC +// https://www.iana.org/domains/root/db/redumbrella.html redumbrella -// rehab : 2014-03-06 Dog Beach, LLC +// rehab : Dog Beach, LLC +// https://www.iana.org/domains/root/db/rehab.html rehab -// reise : 2014-03-13 Binky Moon, LLC +// reise : Binky Moon, LLC +// https://www.iana.org/domains/root/db/reise.html reise -// reisen : 2014-03-06 Binky Moon, LLC +// reisen : Binky Moon, LLC +// https://www.iana.org/domains/root/db/reisen.html reisen -// reit : 2014-09-04 National Association of Real Estate Investment Trusts, Inc. +// reit : National Association of Real Estate Investment Trusts, Inc. +// https://www.iana.org/domains/root/db/reit.html reit -// reliance : 2015-04-02 Reliance Industries Limited +// reliance : Reliance Industries Limited +// https://www.iana.org/domains/root/db/reliance.html reliance -// ren : 2013-12-12 ZDNS International Limited +// ren : ZDNS International Limited +// https://www.iana.org/domains/root/db/ren.html ren -// rent : 2014-12-04 XYZ.COM LLC +// rent : XYZ.COM LLC +// https://www.iana.org/domains/root/db/rent.html rent -// rentals : 2013-12-05 Binky Moon, LLC +// rentals : Binky Moon, LLC +// https://www.iana.org/domains/root/db/rentals.html rentals -// repair : 2013-11-07 Binky Moon, LLC +// repair : Binky Moon, LLC +// https://www.iana.org/domains/root/db/repair.html repair -// report : 2013-12-05 Binky Moon, LLC +// report : Binky Moon, LLC +// https://www.iana.org/domains/root/db/report.html report -// republican : 2014-03-20 Dog Beach, LLC +// republican : Dog Beach, LLC +// https://www.iana.org/domains/root/db/republican.html republican -// rest : 2013-12-19 Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable +// rest : Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable +// https://www.iana.org/domains/root/db/rest.html rest -// restaurant : 2014-07-03 Binky Moon, LLC +// restaurant : Binky Moon, LLC +// https://www.iana.org/domains/root/db/restaurant.html restaurant -// review : 2014-11-20 dot Review Limited +// review : dot Review Limited +// https://www.iana.org/domains/root/db/review.html review -// reviews : 2013-09-13 Dog Beach, LLC +// reviews : Dog Beach, LLC +// https://www.iana.org/domains/root/db/reviews.html reviews -// rexroth : 2015-06-18 Robert Bosch GMBH +// rexroth : Robert Bosch GMBH +// https://www.iana.org/domains/root/db/rexroth.html rexroth -// rich : 2013-11-21 iRegistry GmbH +// rich : iRegistry GmbH +// https://www.iana.org/domains/root/db/rich.html rich -// richardli : 2015-05-14 Pacific Century Asset Management (HK) Limited +// richardli : Pacific Century Asset Management (HK) Limited +// https://www.iana.org/domains/root/db/richardli.html richardli -// ricoh : 2014-11-20 Ricoh Company, Ltd. +// ricoh : Ricoh Company, Ltd. +// https://www.iana.org/domains/root/db/ricoh.html ricoh -// ril : 2015-04-02 Reliance Industries Limited +// ril : Reliance Industries Limited +// https://www.iana.org/domains/root/db/ril.html ril -// rio : 2014-02-27 Empresa Municipal de Informática SA - IPLANRIO +// rio : Empresa Municipal de Informática SA - IPLANRIO +// https://www.iana.org/domains/root/db/rio.html rio -// rip : 2014-07-10 Dog Beach, LLC +// rip : Dog Beach, LLC +// https://www.iana.org/domains/root/db/rip.html rip -// rocher : 2014-12-18 Ferrero Trading Lux S.A. -rocher - -// rocks : 2013-11-14 Dog Beach, LLC +// rocks : Dog Beach, LLC +// https://www.iana.org/domains/root/db/rocks.html rocks -// rodeo : 2013-12-19 Registry Services, LLC +// rodeo : Registry Services, LLC +// https://www.iana.org/domains/root/db/rodeo.html rodeo -// rogers : 2015-08-06 Rogers Communications Canada Inc. +// rogers : Rogers Communications Canada Inc. +// https://www.iana.org/domains/root/db/rogers.html rogers -// room : 2014-12-18 Amazon Registry Services, Inc. +// room : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/room.html room -// rsvp : 2014-05-08 Charleston Road Registry Inc. +// rsvp : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/rsvp.html rsvp -// rugby : 2016-12-15 World Rugby Strategic Developments Limited +// rugby : World Rugby Strategic Developments Limited +// https://www.iana.org/domains/root/db/rugby.html rugby -// ruhr : 2013-10-02 dotSaarland GmbH +// ruhr : dotSaarland GmbH +// https://www.iana.org/domains/root/db/ruhr.html ruhr -// run : 2015-03-19 Binky Moon, LLC +// run : Binky Moon, LLC +// https://www.iana.org/domains/root/db/run.html run -// rwe : 2015-04-02 RWE AG +// rwe : RWE AG +// https://www.iana.org/domains/root/db/rwe.html rwe -// ryukyu : 2014-01-09 BRregistry, Inc. +// ryukyu : BRregistry, Inc. +// https://www.iana.org/domains/root/db/ryukyu.html ryukyu -// saarland : 2013-12-12 dotSaarland GmbH +// saarland : dotSaarland GmbH +// https://www.iana.org/domains/root/db/saarland.html saarland -// safe : 2014-12-18 Amazon Registry Services, Inc. +// safe : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/safe.html safe -// safety : 2015-01-08 Safety Registry Services, LLC. +// safety : Safety Registry Services, LLC. +// https://www.iana.org/domains/root/db/safety.html safety -// sakura : 2014-12-18 SAKURA Internet Inc. +// sakura : SAKURA Internet Inc. +// https://www.iana.org/domains/root/db/sakura.html sakura -// sale : 2014-10-16 Dog Beach, LLC +// sale : Dog Beach, LLC +// https://www.iana.org/domains/root/db/sale.html sale -// salon : 2014-12-11 Binky Moon, LLC +// salon : Binky Moon, LLC +// https://www.iana.org/domains/root/db/salon.html salon -// samsclub : 2015-07-31 Wal-Mart Stores, Inc. +// samsclub : Wal-Mart Stores, Inc. +// https://www.iana.org/domains/root/db/samsclub.html samsclub -// samsung : 2014-04-03 SAMSUNG SDS CO., LTD +// samsung : SAMSUNG SDS CO., LTD +// https://www.iana.org/domains/root/db/samsung.html samsung -// sandvik : 2014-11-13 Sandvik AB +// sandvik : Sandvik AB +// https://www.iana.org/domains/root/db/sandvik.html sandvik -// sandvikcoromant : 2014-11-07 Sandvik AB +// sandvikcoromant : Sandvik AB +// https://www.iana.org/domains/root/db/sandvikcoromant.html sandvikcoromant -// sanofi : 2014-10-09 Sanofi +// sanofi : Sanofi +// https://www.iana.org/domains/root/db/sanofi.html sanofi -// sap : 2014-03-27 SAP AG +// sap : SAP AG +// https://www.iana.org/domains/root/db/sap.html sap -// sarl : 2014-07-03 Binky Moon, LLC +// sarl : Binky Moon, LLC +// https://www.iana.org/domains/root/db/sarl.html sarl -// sas : 2015-04-02 Research IP LLC +// sas : Research IP LLC +// https://www.iana.org/domains/root/db/sas.html sas -// save : 2015-06-25 Amazon Registry Services, Inc. +// save : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/save.html save -// saxo : 2014-10-31 Saxo Bank A/S +// saxo : Saxo Bank A/S +// https://www.iana.org/domains/root/db/saxo.html saxo -// sbi : 2015-03-12 STATE BANK OF INDIA +// sbi : STATE BANK OF INDIA +// https://www.iana.org/domains/root/db/sbi.html sbi -// sbs : 2014-11-07 ShortDot SA +// sbs : ShortDot SA +// https://www.iana.org/domains/root/db/sbs.html sbs -// sca : 2014-03-13 SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ) +// sca : SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ) +// https://www.iana.org/domains/root/db/sca.html sca -// scb : 2014-02-20 The Siam Commercial Bank Public Company Limited ("SCB") +// scb : The Siam Commercial Bank Public Company Limited ("SCB") +// https://www.iana.org/domains/root/db/scb.html scb -// schaeffler : 2015-08-06 Schaeffler Technologies AG & Co. KG +// schaeffler : Schaeffler Technologies AG & Co. KG +// https://www.iana.org/domains/root/db/schaeffler.html schaeffler -// schmidt : 2014-04-03 SCHMIDT GROUPE S.A.S. +// schmidt : SCHMIDT GROUPE S.A.S. +// https://www.iana.org/domains/root/db/schmidt.html schmidt -// scholarships : 2014-04-24 Scholarships.com, LLC +// scholarships : Scholarships.com, LLC +// https://www.iana.org/domains/root/db/scholarships.html scholarships -// school : 2014-12-18 Binky Moon, LLC +// school : Binky Moon, LLC +// https://www.iana.org/domains/root/db/school.html school -// schule : 2014-03-06 Binky Moon, LLC +// schule : Binky Moon, LLC +// https://www.iana.org/domains/root/db/schule.html schule -// schwarz : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG +// schwarz : Schwarz Domains und Services GmbH & Co. KG +// https://www.iana.org/domains/root/db/schwarz.html schwarz -// science : 2014-09-11 dot Science Limited +// science : dot Science Limited +// https://www.iana.org/domains/root/db/science.html science -// scot : 2014-01-23 Dot Scot Registry Limited +// scot : Dot Scot Registry Limited +// https://www.iana.org/domains/root/db/scot.html scot -// search : 2016-06-09 Charleston Road Registry Inc. +// search : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/search.html search -// seat : 2014-05-22 SEAT, S.A. (Sociedad Unipersonal) +// seat : SEAT, S.A. (Sociedad Unipersonal) +// https://www.iana.org/domains/root/db/seat.html seat -// secure : 2015-08-27 Amazon Registry Services, Inc. +// secure : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/secure.html secure -// security : 2015-05-14 XYZ.COM LLC +// security : XYZ.COM LLC +// https://www.iana.org/domains/root/db/security.html security -// seek : 2014-12-04 Seek Limited +// seek : Seek Limited +// https://www.iana.org/domains/root/db/seek.html seek -// select : 2015-10-08 Registry Services, LLC +// select : Registry Services, LLC +// https://www.iana.org/domains/root/db/select.html select -// sener : 2014-10-24 Sener Ingeniería y Sistemas, S.A. +// sener : Sener Ingeniería y Sistemas, S.A. +// https://www.iana.org/domains/root/db/sener.html sener -// services : 2014-02-27 Binky Moon, LLC +// services : Binky Moon, LLC +// https://www.iana.org/domains/root/db/services.html services -// seven : 2015-08-06 Seven West Media Ltd +// seven : Seven West Media Ltd +// https://www.iana.org/domains/root/db/seven.html seven -// sew : 2014-07-17 SEW-EURODRIVE GmbH & Co KG +// sew : SEW-EURODRIVE GmbH & Co KG +// https://www.iana.org/domains/root/db/sew.html sew -// sex : 2014-11-13 ICM Registry SX LLC +// sex : ICM Registry SX LLC +// https://www.iana.org/domains/root/db/sex.html sex -// sexy : 2013-09-11 Internet Naming Company LLC +// sexy : Internet Naming Company LLC +// https://www.iana.org/domains/root/db/sexy.html sexy -// sfr : 2015-08-13 Societe Francaise du Radiotelephone - SFR +// sfr : Societe Francaise du Radiotelephone - SFR +// https://www.iana.org/domains/root/db/sfr.html sfr -// shangrila : 2015-09-03 Shangri‐La International Hotel Management Limited +// shangrila : Shangri‐La International Hotel Management Limited +// https://www.iana.org/domains/root/db/shangrila.html shangrila -// sharp : 2014-05-01 Sharp Corporation +// sharp : Sharp Corporation +// https://www.iana.org/domains/root/db/sharp.html sharp -// shaw : 2015-04-23 Shaw Cablesystems G.P. +// shaw : Shaw Cablesystems G.P. +// https://www.iana.org/domains/root/db/shaw.html shaw -// shell : 2015-07-30 Shell Information Technology International Inc +// shell : Shell Information Technology International Inc +// https://www.iana.org/domains/root/db/shell.html shell -// shia : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// shia : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// https://www.iana.org/domains/root/db/shia.html shia -// shiksha : 2013-11-14 Identity Digital Limited +// shiksha : Identity Digital Limited +// https://www.iana.org/domains/root/db/shiksha.html shiksha -// shoes : 2013-10-02 Binky Moon, LLC +// shoes : Binky Moon, LLC +// https://www.iana.org/domains/root/db/shoes.html shoes -// shop : 2016-04-08 GMO Registry, Inc. +// shop : GMO Registry, Inc. +// https://www.iana.org/domains/root/db/shop.html shop -// shopping : 2016-03-31 Binky Moon, LLC +// shopping : Binky Moon, LLC +// https://www.iana.org/domains/root/db/shopping.html shopping -// shouji : 2015-01-08 Beijing Qihu Keji Co., Ltd. +// shouji : Beijing Qihu Keji Co., Ltd. +// https://www.iana.org/domains/root/db/shouji.html shouji -// show : 2015-03-05 Binky Moon, LLC +// show : Binky Moon, LLC +// https://www.iana.org/domains/root/db/show.html show -// showtime : 2015-08-06 CBS Domains Inc. -showtime - -// silk : 2015-06-25 Amazon Registry Services, Inc. +// silk : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/silk.html silk -// sina : 2015-03-12 Sina Corporation +// sina : Sina Corporation +// https://www.iana.org/domains/root/db/sina.html sina -// singles : 2013-08-27 Binky Moon, LLC +// singles : Binky Moon, LLC +// https://www.iana.org/domains/root/db/singles.html singles -// site : 2015-01-15 Radix FZC +// site : Radix FZC DMCC +// https://www.iana.org/domains/root/db/site.html site -// ski : 2015-04-09 Identity Digital Limited +// ski : Identity Digital Limited +// https://www.iana.org/domains/root/db/ski.html ski -// skin : 2015-01-15 XYZ.COM LLC +// skin : XYZ.COM LLC +// https://www.iana.org/domains/root/db/skin.html skin -// sky : 2014-06-19 Sky International AG +// sky : Sky International AG +// https://www.iana.org/domains/root/db/sky.html sky -// skype : 2014-12-18 Microsoft Corporation +// skype : Microsoft Corporation +// https://www.iana.org/domains/root/db/skype.html skype -// sling : 2015-07-30 DISH Technologies L.L.C. +// sling : DISH Technologies L.L.C. +// https://www.iana.org/domains/root/db/sling.html sling -// smart : 2015-07-09 Smart Communications, Inc. (SMART) +// smart : Smart Communications, Inc. (SMART) +// https://www.iana.org/domains/root/db/smart.html smart -// smile : 2014-12-18 Amazon Registry Services, Inc. +// smile : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/smile.html smile -// sncf : 2015-02-19 Société Nationale SNCF +// sncf : Société Nationale SNCF +// https://www.iana.org/domains/root/db/sncf.html sncf -// soccer : 2015-03-26 Binky Moon, LLC +// soccer : Binky Moon, LLC +// https://www.iana.org/domains/root/db/soccer.html soccer -// social : 2013-11-07 Dog Beach, LLC +// social : Dog Beach, LLC +// https://www.iana.org/domains/root/db/social.html social -// softbank : 2015-07-02 SoftBank Group Corp. +// softbank : SoftBank Group Corp. +// https://www.iana.org/domains/root/db/softbank.html softbank -// software : 2014-03-20 Dog Beach, LLC +// software : Dog Beach, LLC +// https://www.iana.org/domains/root/db/software.html software -// sohu : 2013-12-19 Sohu.com Limited +// sohu : Sohu.com Limited +// https://www.iana.org/domains/root/db/sohu.html sohu -// solar : 2013-11-07 Binky Moon, LLC +// solar : Binky Moon, LLC +// https://www.iana.org/domains/root/db/solar.html solar -// solutions : 2013-11-07 Binky Moon, LLC +// solutions : Binky Moon, LLC +// https://www.iana.org/domains/root/db/solutions.html solutions -// song : 2015-02-26 Amazon Registry Services, Inc. +// song : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/song.html song -// sony : 2015-01-08 Sony Corporation +// sony : Sony Corporation +// https://www.iana.org/domains/root/db/sony.html sony -// soy : 2014-01-23 Charleston Road Registry Inc. +// soy : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/soy.html soy -// spa : 2019-09-19 Asia Spa and Wellness Promotion Council Limited +// spa : Asia Spa and Wellness Promotion Council Limited +// https://www.iana.org/domains/root/db/spa.html spa -// space : 2014-04-03 Radix FZC +// space : Radix FZC DMCC +// https://www.iana.org/domains/root/db/space.html space -// sport : 2017-11-16 Global Association of International Sports Federations (GAISF) +// sport : SportAccord +// https://www.iana.org/domains/root/db/sport.html sport -// spot : 2015-02-26 Amazon Registry Services, Inc. +// spot : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/spot.html spot -// srl : 2015-05-07 InterNetX, Corp +// srl : InterNetX, Corp +// https://www.iana.org/domains/root/db/srl.html srl -// stada : 2014-11-13 STADA Arzneimittel AG +// stada : STADA Arzneimittel AG +// https://www.iana.org/domains/root/db/stada.html stada -// staples : 2015-07-30 Staples, Inc. +// staples : Staples, Inc. +// https://www.iana.org/domains/root/db/staples.html staples -// star : 2015-01-08 Star India Private Limited +// star : Star India Private Limited +// https://www.iana.org/domains/root/db/star.html star -// statebank : 2015-03-12 STATE BANK OF INDIA +// statebank : STATE BANK OF INDIA +// https://www.iana.org/domains/root/db/statebank.html statebank -// statefarm : 2015-07-30 State Farm Mutual Automobile Insurance Company +// statefarm : State Farm Mutual Automobile Insurance Company +// https://www.iana.org/domains/root/db/statefarm.html statefarm -// stc : 2014-10-09 Saudi Telecom Company +// stc : Saudi Telecom Company +// https://www.iana.org/domains/root/db/stc.html stc -// stcgroup : 2014-10-09 Saudi Telecom Company +// stcgroup : Saudi Telecom Company +// https://www.iana.org/domains/root/db/stcgroup.html stcgroup -// stockholm : 2014-12-18 Stockholms kommun +// stockholm : Stockholms kommun +// https://www.iana.org/domains/root/db/stockholm.html stockholm -// storage : 2014-12-22 XYZ.COM LLC +// storage : XYZ.COM LLC +// https://www.iana.org/domains/root/db/storage.html storage -// store : 2015-04-09 Radix FZC +// store : Radix FZC DMCC +// https://www.iana.org/domains/root/db/store.html store -// stream : 2016-01-08 dot Stream Limited +// stream : dot Stream Limited +// https://www.iana.org/domains/root/db/stream.html stream -// studio : 2015-02-11 Dog Beach, LLC +// studio : Dog Beach, LLC +// https://www.iana.org/domains/root/db/studio.html studio -// study : 2014-12-11 Registry Services, LLC +// study : Registry Services, LLC +// https://www.iana.org/domains/root/db/study.html study -// style : 2014-12-04 Binky Moon, LLC +// style : Binky Moon, LLC +// https://www.iana.org/domains/root/db/style.html style -// sucks : 2014-12-22 Vox Populi Registry Ltd. +// sucks : Vox Populi Registry Ltd. +// https://www.iana.org/domains/root/db/sucks.html sucks -// supplies : 2013-12-19 Binky Moon, LLC +// supplies : Binky Moon, LLC +// https://www.iana.org/domains/root/db/supplies.html supplies -// supply : 2013-12-19 Binky Moon, LLC +// supply : Binky Moon, LLC +// https://www.iana.org/domains/root/db/supply.html supply -// support : 2013-10-24 Binky Moon, LLC +// support : Binky Moon, LLC +// https://www.iana.org/domains/root/db/support.html support -// surf : 2014-01-09 Registry Services, LLC +// surf : Registry Services, LLC +// https://www.iana.org/domains/root/db/surf.html surf -// surgery : 2014-03-20 Binky Moon, LLC +// surgery : Binky Moon, LLC +// https://www.iana.org/domains/root/db/surgery.html surgery -// suzuki : 2014-02-20 SUZUKI MOTOR CORPORATION +// suzuki : SUZUKI MOTOR CORPORATION +// https://www.iana.org/domains/root/db/suzuki.html suzuki -// swatch : 2015-01-08 The Swatch Group Ltd +// swatch : The Swatch Group Ltd +// https://www.iana.org/domains/root/db/swatch.html swatch -// swiss : 2014-10-16 Swiss Confederation +// swiss : Swiss Confederation +// https://www.iana.org/domains/root/db/swiss.html swiss -// sydney : 2014-09-18 State of New South Wales, Department of Premier and Cabinet +// sydney : State of New South Wales, Department of Premier and Cabinet +// https://www.iana.org/domains/root/db/sydney.html sydney -// systems : 2013-11-07 Binky Moon, LLC +// systems : Binky Moon, LLC +// https://www.iana.org/domains/root/db/systems.html systems -// tab : 2014-12-04 Tabcorp Holdings Limited +// tab : Tabcorp Holdings Limited +// https://www.iana.org/domains/root/db/tab.html tab -// taipei : 2014-07-10 Taipei City Government +// taipei : Taipei City Government +// https://www.iana.org/domains/root/db/taipei.html taipei -// talk : 2015-04-09 Amazon Registry Services, Inc. +// talk : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/talk.html talk -// taobao : 2015-01-15 Alibaba Group Holding Limited +// taobao : Alibaba Group Holding Limited +// https://www.iana.org/domains/root/db/taobao.html taobao -// target : 2015-07-31 Target Domain Holdings, LLC +// target : Target Domain Holdings, LLC +// https://www.iana.org/domains/root/db/target.html target -// tatamotors : 2015-03-12 Tata Motors Ltd +// tatamotors : Tata Motors Ltd +// https://www.iana.org/domains/root/db/tatamotors.html tatamotors -// tatar : 2014-04-24 Limited Liability Company "Coordination Center of Regional Domain of Tatarstan Republic" +// tatar : Limited Liability Company "Coordination Center of Regional Domain of Tatarstan Republic" +// https://www.iana.org/domains/root/db/tatar.html tatar -// tattoo : 2013-08-30 Top Level Design, LLC +// tattoo : Registry Services, LLC +// https://www.iana.org/domains/root/db/tattoo.html tattoo -// tax : 2014-03-20 Binky Moon, LLC +// tax : Binky Moon, LLC +// https://www.iana.org/domains/root/db/tax.html tax -// taxi : 2015-03-19 Binky Moon, LLC +// taxi : Binky Moon, LLC +// https://www.iana.org/domains/root/db/taxi.html taxi -// tci : 2014-09-12 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// tci : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// https://www.iana.org/domains/root/db/tci.html tci -// tdk : 2015-06-11 TDK Corporation +// tdk : TDK Corporation +// https://www.iana.org/domains/root/db/tdk.html tdk -// team : 2015-03-05 Binky Moon, LLC +// team : Binky Moon, LLC +// https://www.iana.org/domains/root/db/team.html team -// tech : 2015-01-30 Radix FZC +// tech : Radix FZC DMCC +// https://www.iana.org/domains/root/db/tech.html tech -// technology : 2013-09-13 Binky Moon, LLC +// technology : Binky Moon, LLC +// https://www.iana.org/domains/root/db/technology.html technology -// temasek : 2014-08-07 Temasek Holdings (Private) Limited +// temasek : Temasek Holdings (Private) Limited +// https://www.iana.org/domains/root/db/temasek.html temasek -// tennis : 2014-12-04 Binky Moon, LLC +// tennis : Binky Moon, LLC +// https://www.iana.org/domains/root/db/tennis.html tennis -// teva : 2015-07-02 Teva Pharmaceutical Industries Limited +// teva : Teva Pharmaceutical Industries Limited +// https://www.iana.org/domains/root/db/teva.html teva -// thd : 2015-04-02 Home Depot Product Authority, LLC +// thd : Home Depot Product Authority, LLC +// https://www.iana.org/domains/root/db/thd.html thd -// theater : 2015-03-19 Binky Moon, LLC +// theater : Binky Moon, LLC +// https://www.iana.org/domains/root/db/theater.html theater -// theatre : 2015-05-07 XYZ.COM LLC +// theatre : XYZ.COM LLC +// https://www.iana.org/domains/root/db/theatre.html theatre -// tiaa : 2015-07-23 Teachers Insurance and Annuity Association of America +// tiaa : Teachers Insurance and Annuity Association of America +// https://www.iana.org/domains/root/db/tiaa.html tiaa -// tickets : 2015-02-05 XYZ.COM LLC +// tickets : XYZ.COM LLC +// https://www.iana.org/domains/root/db/tickets.html tickets -// tienda : 2013-11-14 Binky Moon, LLC +// tienda : Binky Moon, LLC +// https://www.iana.org/domains/root/db/tienda.html tienda -// tiffany : 2015-01-30 Tiffany and Company -tiffany - -// tips : 2013-09-20 Binky Moon, LLC +// tips : Binky Moon, LLC +// https://www.iana.org/domains/root/db/tips.html tips -// tires : 2014-11-07 Binky Moon, LLC +// tires : Binky Moon, LLC +// https://www.iana.org/domains/root/db/tires.html tires -// tirol : 2014-04-24 punkt Tirol GmbH +// tirol : punkt Tirol GmbH +// https://www.iana.org/domains/root/db/tirol.html tirol -// tjmaxx : 2015-07-16 The TJX Companies, Inc. +// tjmaxx : The TJX Companies, Inc. +// https://www.iana.org/domains/root/db/tjmaxx.html tjmaxx -// tjx : 2015-07-16 The TJX Companies, Inc. +// tjx : The TJX Companies, Inc. +// https://www.iana.org/domains/root/db/tjx.html tjx -// tkmaxx : 2015-07-16 The TJX Companies, Inc. +// tkmaxx : The TJX Companies, Inc. +// https://www.iana.org/domains/root/db/tkmaxx.html tkmaxx -// tmall : 2015-01-15 Alibaba Group Holding Limited +// tmall : Alibaba Group Holding Limited +// https://www.iana.org/domains/root/db/tmall.html tmall -// today : 2013-09-20 Binky Moon, LLC +// today : Binky Moon, LLC +// https://www.iana.org/domains/root/db/today.html today -// tokyo : 2013-11-13 GMO Registry, Inc. +// tokyo : GMO Registry, Inc. +// https://www.iana.org/domains/root/db/tokyo.html tokyo -// tools : 2013-11-21 Binky Moon, LLC +// tools : Binky Moon, LLC +// https://www.iana.org/domains/root/db/tools.html tools -// top : 2014-03-20 .TOP Registry +// top : .TOP Registry +// https://www.iana.org/domains/root/db/top.html top -// toray : 2014-12-18 Toray Industries, Inc. +// toray : Toray Industries, Inc. +// https://www.iana.org/domains/root/db/toray.html toray -// toshiba : 2014-04-10 TOSHIBA Corporation +// toshiba : TOSHIBA Corporation +// https://www.iana.org/domains/root/db/toshiba.html toshiba -// total : 2015-08-06 TotalEnergies SE +// total : TotalEnergies SE +// https://www.iana.org/domains/root/db/total.html total -// tours : 2015-01-22 Binky Moon, LLC +// tours : Binky Moon, LLC +// https://www.iana.org/domains/root/db/tours.html tours -// town : 2014-03-06 Binky Moon, LLC +// town : Binky Moon, LLC +// https://www.iana.org/domains/root/db/town.html town -// toyota : 2015-04-23 TOYOTA MOTOR CORPORATION +// toyota : TOYOTA MOTOR CORPORATION +// https://www.iana.org/domains/root/db/toyota.html toyota -// toys : 2014-03-06 Binky Moon, LLC +// toys : Binky Moon, LLC +// https://www.iana.org/domains/root/db/toys.html toys -// trade : 2014-01-23 Elite Registry Limited +// trade : Elite Registry Limited +// https://www.iana.org/domains/root/db/trade.html trade -// trading : 2014-12-11 Dog Beach, LLC +// trading : Dog Beach, LLC +// https://www.iana.org/domains/root/db/trading.html trading -// training : 2013-11-07 Binky Moon, LLC +// training : Binky Moon, LLC +// https://www.iana.org/domains/root/db/training.html training -// travel : 2015-10-09 Dog Beach, LLC +// travel : Dog Beach, LLC +// https://www.iana.org/domains/root/db/travel.html travel -// travelchannel : 2015-07-02 Lifestyle Domain Holdings, Inc. -travelchannel - -// travelers : 2015-03-26 Travelers TLD, LLC +// travelers : Travelers TLD, LLC +// https://www.iana.org/domains/root/db/travelers.html travelers -// travelersinsurance : 2015-03-26 Travelers TLD, LLC +// travelersinsurance : Travelers TLD, LLC +// https://www.iana.org/domains/root/db/travelersinsurance.html travelersinsurance -// trust : 2014-10-16 Internet Naming Company LLC +// trust : Internet Naming Company LLC +// https://www.iana.org/domains/root/db/trust.html trust -// trv : 2015-03-26 Travelers TLD, LLC +// trv : Travelers TLD, LLC +// https://www.iana.org/domains/root/db/trv.html trv -// tube : 2015-06-11 Latin American Telecom LLC +// tube : Latin American Telecom LLC +// https://www.iana.org/domains/root/db/tube.html tube -// tui : 2014-07-03 TUI AG +// tui : TUI AG +// https://www.iana.org/domains/root/db/tui.html tui -// tunes : 2015-02-26 Amazon Registry Services, Inc. +// tunes : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/tunes.html tunes -// tushu : 2014-12-18 Amazon Registry Services, Inc. +// tushu : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/tushu.html tushu -// tvs : 2015-02-19 T V SUNDRAM IYENGAR & SONS LIMITED +// tvs : T V SUNDRAM IYENGAR & SONS LIMITED +// https://www.iana.org/domains/root/db/tvs.html tvs -// ubank : 2015-08-20 National Australia Bank Limited +// ubank : National Australia Bank Limited +// https://www.iana.org/domains/root/db/ubank.html ubank -// ubs : 2014-12-11 UBS AG +// ubs : UBS AG +// https://www.iana.org/domains/root/db/ubs.html ubs -// unicom : 2015-10-15 China United Network Communications Corporation Limited +// unicom : China United Network Communications Corporation Limited +// https://www.iana.org/domains/root/db/unicom.html unicom -// university : 2014-03-06 Binky Moon, LLC +// university : Binky Moon, LLC +// https://www.iana.org/domains/root/db/university.html university -// uno : 2013-09-11 Radix FZC +// uno : Radix FZC DMCC +// https://www.iana.org/domains/root/db/uno.html uno -// uol : 2014-05-01 UBN INTERNET LTDA. +// uol : UBN INTERNET LTDA. +// https://www.iana.org/domains/root/db/uol.html uol -// ups : 2015-06-25 UPS Market Driver, Inc. +// ups : UPS Market Driver, Inc. +// https://www.iana.org/domains/root/db/ups.html ups -// vacations : 2013-12-05 Binky Moon, LLC +// vacations : Binky Moon, LLC +// https://www.iana.org/domains/root/db/vacations.html vacations -// vana : 2014-12-11 Lifestyle Domain Holdings, Inc. +// vana : Lifestyle Domain Holdings, Inc. +// https://www.iana.org/domains/root/db/vana.html vana -// vanguard : 2015-09-03 The Vanguard Group, Inc. +// vanguard : The Vanguard Group, Inc. +// https://www.iana.org/domains/root/db/vanguard.html vanguard -// vegas : 2014-01-16 Dot Vegas, Inc. +// vegas : Dot Vegas, Inc. +// https://www.iana.org/domains/root/db/vegas.html vegas -// ventures : 2013-08-27 Binky Moon, LLC +// ventures : Binky Moon, LLC +// https://www.iana.org/domains/root/db/ventures.html ventures -// verisign : 2015-08-13 VeriSign, Inc. +// verisign : VeriSign, Inc. +// https://www.iana.org/domains/root/db/verisign.html verisign -// versicherung : 2014-03-20 tldbox GmbH +// versicherung : tldbox GmbH +// https://www.iana.org/domains/root/db/versicherung.html versicherung -// vet : 2014-03-06 Dog Beach, LLC +// vet : Dog Beach, LLC +// https://www.iana.org/domains/root/db/vet.html vet -// viajes : 2013-10-17 Binky Moon, LLC +// viajes : Binky Moon, LLC +// https://www.iana.org/domains/root/db/viajes.html viajes -// video : 2014-10-16 Dog Beach, LLC +// video : Dog Beach, LLC +// https://www.iana.org/domains/root/db/video.html video -// vig : 2015-05-14 VIENNA INSURANCE GROUP AG Wiener Versicherung Gruppe +// vig : VIENNA INSURANCE GROUP AG Wiener Versicherung Gruppe +// https://www.iana.org/domains/root/db/vig.html vig -// viking : 2015-04-02 Viking River Cruises (Bermuda) Ltd. +// viking : Viking River Cruises (Bermuda) Ltd. +// https://www.iana.org/domains/root/db/viking.html viking -// villas : 2013-12-05 Binky Moon, LLC +// villas : Binky Moon, LLC +// https://www.iana.org/domains/root/db/villas.html villas -// vin : 2015-06-18 Binky Moon, LLC +// vin : Binky Moon, LLC +// https://www.iana.org/domains/root/db/vin.html vin -// vip : 2015-01-22 Registry Services, LLC +// vip : Registry Services, LLC +// https://www.iana.org/domains/root/db/vip.html vip -// virgin : 2014-09-25 Virgin Enterprises Limited +// virgin : Virgin Enterprises Limited +// https://www.iana.org/domains/root/db/virgin.html virgin -// visa : 2015-07-30 Visa Worldwide Pte. Limited +// visa : Visa Worldwide Pte. Limited +// https://www.iana.org/domains/root/db/visa.html visa -// vision : 2013-12-05 Binky Moon, LLC +// vision : Binky Moon, LLC +// https://www.iana.org/domains/root/db/vision.html vision -// viva : 2014-11-07 Saudi Telecom Company +// viva : Saudi Telecom Company +// https://www.iana.org/domains/root/db/viva.html viva -// vivo : 2015-07-31 Telefonica Brasil S.A. +// vivo : Telefonica Brasil S.A. +// https://www.iana.org/domains/root/db/vivo.html vivo -// vlaanderen : 2014-02-06 DNS.be vzw +// vlaanderen : DNS.be vzw +// https://www.iana.org/domains/root/db/vlaanderen.html vlaanderen -// vodka : 2013-12-19 Registry Services, LLC +// vodka : Registry Services, LLC +// https://www.iana.org/domains/root/db/vodka.html vodka -// volkswagen : 2015-05-14 Volkswagen Group of America Inc. +// volkswagen : Volkswagen Group of America Inc. +// https://www.iana.org/domains/root/db/volkswagen.html volkswagen -// volvo : 2015-11-12 Volvo Holding Sverige Aktiebolag +// volvo : Volvo Holding Sverige Aktiebolag +// https://www.iana.org/domains/root/db/volvo.html volvo -// vote : 2013-11-21 Monolith Registry LLC +// vote : Monolith Registry LLC +// https://www.iana.org/domains/root/db/vote.html vote -// voting : 2013-11-13 Valuetainment Corp. +// voting : Valuetainment Corp. +// https://www.iana.org/domains/root/db/voting.html voting -// voto : 2013-11-21 Monolith Registry LLC +// voto : Monolith Registry LLC +// https://www.iana.org/domains/root/db/voto.html voto -// voyage : 2013-08-27 Binky Moon, LLC +// voyage : Binky Moon, LLC +// https://www.iana.org/domains/root/db/voyage.html voyage -// vuelos : 2015-03-05 Travel Reservations SRL -vuelos - -// wales : 2014-05-08 Nominet UK +// wales : Nominet UK +// https://www.iana.org/domains/root/db/wales.html wales -// walmart : 2015-07-31 Wal-Mart Stores, Inc. +// walmart : Wal-Mart Stores, Inc. +// https://www.iana.org/domains/root/db/walmart.html walmart -// walter : 2014-11-13 Sandvik AB +// walter : Sandvik AB +// https://www.iana.org/domains/root/db/walter.html walter -// wang : 2013-10-24 Zodiac Wang Limited +// wang : Zodiac Wang Limited +// https://www.iana.org/domains/root/db/wang.html wang -// wanggou : 2014-12-18 Amazon Registry Services, Inc. +// wanggou : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/wanggou.html wanggou -// watch : 2013-11-14 Binky Moon, LLC +// watch : Binky Moon, LLC +// https://www.iana.org/domains/root/db/watch.html watch -// watches : 2014-12-22 Identity Digital Limited +// watches : Identity Digital Limited +// https://www.iana.org/domains/root/db/watches.html watches -// weather : 2015-01-08 International Business Machines Corporation +// weather : International Business Machines Corporation +// https://www.iana.org/domains/root/db/weather.html weather -// weatherchannel : 2015-03-12 International Business Machines Corporation +// weatherchannel : International Business Machines Corporation +// https://www.iana.org/domains/root/db/weatherchannel.html weatherchannel -// webcam : 2014-01-23 dot Webcam Limited +// webcam : dot Webcam Limited +// https://www.iana.org/domains/root/db/webcam.html webcam -// weber : 2015-06-04 Saint-Gobain Weber SA +// weber : Saint-Gobain Weber SA +// https://www.iana.org/domains/root/db/weber.html weber -// website : 2014-04-03 Radix FZC +// website : Radix FZC DMCC +// https://www.iana.org/domains/root/db/website.html website -// wedding : 2014-04-24 Registry Services, LLC +// wedding : Registry Services, LLC +// https://www.iana.org/domains/root/db/wedding.html wedding -// weibo : 2015-03-05 Sina Corporation +// weibo : Sina Corporation +// https://www.iana.org/domains/root/db/weibo.html weibo -// weir : 2015-01-29 Weir Group IP Limited +// weir : Weir Group IP Limited +// https://www.iana.org/domains/root/db/weir.html weir -// whoswho : 2014-02-20 Who's Who Registry +// whoswho : Who's Who Registry +// https://www.iana.org/domains/root/db/whoswho.html whoswho -// wien : 2013-10-28 punkt.wien GmbH +// wien : punkt.wien GmbH +// https://www.iana.org/domains/root/db/wien.html wien -// wiki : 2013-11-07 Top Level Design, LLC +// wiki : Registry Services, LLC +// https://www.iana.org/domains/root/db/wiki.html wiki -// williamhill : 2014-03-13 William Hill Organization Limited +// williamhill : William Hill Organization Limited +// https://www.iana.org/domains/root/db/williamhill.html williamhill -// win : 2014-11-20 First Registry Limited +// win : First Registry Limited +// https://www.iana.org/domains/root/db/win.html win -// windows : 2014-12-18 Microsoft Corporation +// windows : Microsoft Corporation +// https://www.iana.org/domains/root/db/windows.html windows -// wine : 2015-06-18 Binky Moon, LLC +// wine : Binky Moon, LLC +// https://www.iana.org/domains/root/db/wine.html wine -// winners : 2015-07-16 The TJX Companies, Inc. +// winners : The TJX Companies, Inc. +// https://www.iana.org/domains/root/db/winners.html winners -// wme : 2014-02-13 William Morris Endeavor Entertainment, LLC +// wme : William Morris Endeavor Entertainment, LLC +// https://www.iana.org/domains/root/db/wme.html wme -// wolterskluwer : 2015-08-06 Wolters Kluwer N.V. +// wolterskluwer : Wolters Kluwer N.V. +// https://www.iana.org/domains/root/db/wolterskluwer.html wolterskluwer -// woodside : 2015-07-09 Woodside Petroleum Limited +// woodside : Woodside Petroleum Limited +// https://www.iana.org/domains/root/db/woodside.html woodside -// work : 2013-12-19 Registry Services, LLC +// work : Registry Services, LLC +// https://www.iana.org/domains/root/db/work.html work -// works : 2013-11-14 Binky Moon, LLC +// works : Binky Moon, LLC +// https://www.iana.org/domains/root/db/works.html works -// world : 2014-06-12 Binky Moon, LLC +// world : Binky Moon, LLC +// https://www.iana.org/domains/root/db/world.html world -// wow : 2015-10-08 Amazon Registry Services, Inc. +// wow : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/wow.html wow -// wtc : 2013-12-19 World Trade Centers Association, Inc. +// wtc : World Trade Centers Association, Inc. +// https://www.iana.org/domains/root/db/wtc.html wtc -// wtf : 2014-03-06 Binky Moon, LLC +// wtf : Binky Moon, LLC +// https://www.iana.org/domains/root/db/wtf.html wtf -// xbox : 2014-12-18 Microsoft Corporation +// xbox : Microsoft Corporation +// https://www.iana.org/domains/root/db/xbox.html xbox -// xerox : 2014-10-24 Xerox DNHC LLC +// xerox : Xerox DNHC LLC +// https://www.iana.org/domains/root/db/xerox.html xerox -// xfinity : 2015-07-09 Comcast IP Holdings I, LLC +// xfinity : Comcast IP Holdings I, LLC +// https://www.iana.org/domains/root/db/xfinity.html xfinity -// xihuan : 2015-01-08 Beijing Qihu Keji Co., Ltd. +// xihuan : Beijing Qihu Keji Co., Ltd. +// https://www.iana.org/domains/root/db/xihuan.html xihuan -// xin : 2014-12-11 Elegant Leader Limited +// xin : Elegant Leader Limited +// https://www.iana.org/domains/root/db/xin.html xin -// xn--11b4c3d : 2015-01-15 VeriSign Sarl +// xn--11b4c3d : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--11b4c3d.html कॉम -// xn--1ck2e1b : 2015-02-26 Amazon Registry Services, Inc. +// xn--1ck2e1b : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--1ck2e1b.html セール -// xn--1qqw23a : 2014-01-09 Guangzhou YU Wei Information Technology Co., Ltd. +// xn--1qqw23a : Guangzhou YU Wei Information Technology Co., Ltd. +// https://www.iana.org/domains/root/db/xn--1qqw23a.html 佛山 -// xn--30rr7y : 2014-06-12 Excellent First Limited +// xn--30rr7y : Excellent First Limited +// https://www.iana.org/domains/root/db/xn--30rr7y.html 慈善 -// xn--3bst00m : 2013-09-13 Eagle Horizon Limited +// xn--3bst00m : Eagle Horizon Limited +// https://www.iana.org/domains/root/db/xn--3bst00m.html 集团 -// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED OY +// xn--3ds443g : TLD REGISTRY LIMITED OY +// https://www.iana.org/domains/root/db/xn--3ds443g.html 在线 -// xn--3pxu8k : 2015-01-15 VeriSign Sarl +// xn--3pxu8k : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--3pxu8k.html 点看 -// xn--42c2d9a : 2015-01-15 VeriSign Sarl +// xn--42c2d9a : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--42c2d9a.html คอม -// xn--45q11c : 2013-11-21 Zodiac Gemini Ltd +// xn--45q11c : Zodiac Gemini Ltd +// https://www.iana.org/domains/root/db/xn--45q11c.html 八卦 -// xn--4gbrim : 2013-10-04 Helium TLDs Ltd +// xn--4gbrim : Helium TLDs Ltd +// https://www.iana.org/domains/root/db/xn--4gbrim.html موقع -// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center +// xn--55qw42g : China Organizational Name Administration Center +// https://www.iana.org/domains/root/db/xn--55qw42g.html 公益 -// xn--55qx5d : 2013-11-14 China Internet Network Information Center (CNNIC) +// xn--55qx5d : China Internet Network Information Center (CNNIC) +// https://www.iana.org/domains/root/db/xn--55qx5d.html 公司 -// xn--5su34j936bgsg : 2015-09-03 Shangri‐La International Hotel Management Limited +// xn--5su34j936bgsg : Shangri‐La International Hotel Management Limited +// https://www.iana.org/domains/root/db/xn--5su34j936bgsg.html 香格里拉 -// xn--5tzm5g : 2014-12-22 Global Website TLD Asia Limited +// xn--5tzm5g : Global Website TLD Asia Limited +// https://www.iana.org/domains/root/db/xn--5tzm5g.html 网站 -// xn--6frz82g : 2013-09-23 Identity Digital Limited +// xn--6frz82g : Identity Digital Limited +// https://www.iana.org/domains/root/db/xn--6frz82g.html 移动 -// xn--6qq986b3xl : 2013-09-13 Tycoon Treasure Limited +// xn--6qq986b3xl : Tycoon Treasure Limited +// https://www.iana.org/domains/root/db/xn--6qq986b3xl.html 我爱你 -// xn--80adxhks : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID) +// xn--80adxhks : Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID) +// https://www.iana.org/domains/root/db/xn--80adxhks.html москва -// xn--80aqecdr1a : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// xn--80aqecdr1a : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// https://www.iana.org/domains/root/db/xn--80aqecdr1a.html католик -// xn--80asehdb : 2013-07-14 CORE Association +// xn--80asehdb : CORE Association +// https://www.iana.org/domains/root/db/xn--80asehdb.html онлайн -// xn--80aswg : 2013-07-14 CORE Association +// xn--80aswg : CORE Association +// https://www.iana.org/domains/root/db/xn--80aswg.html сайт -// xn--8y0a063a : 2015-03-26 China United Network Communications Corporation Limited +// xn--8y0a063a : China United Network Communications Corporation Limited +// https://www.iana.org/domains/root/db/xn--8y0a063a.html 联通 -// xn--9dbq2a : 2015-01-15 VeriSign Sarl +// xn--9dbq2a : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--9dbq2a.html קום -// xn--9et52u : 2014-06-12 RISE VICTORY LIMITED +// xn--9et52u : RISE VICTORY LIMITED +// https://www.iana.org/domains/root/db/xn--9et52u.html 时尚 -// xn--9krt00a : 2015-03-12 Sina Corporation +// xn--9krt00a : Sina Corporation +// https://www.iana.org/domains/root/db/xn--9krt00a.html 微博 -// xn--b4w605ferd : 2014-08-07 Temasek Holdings (Private) Limited +// xn--b4w605ferd : Temasek Holdings (Private) Limited +// https://www.iana.org/domains/root/db/xn--b4w605ferd.html 淡马锡 -// xn--bck1b9a5dre4c : 2015-02-26 Amazon Registry Services, Inc. +// xn--bck1b9a5dre4c : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--bck1b9a5dre4c.html ファッション -// xn--c1avg : 2013-11-14 Public Interest Registry +// xn--c1avg : Public Interest Registry +// https://www.iana.org/domains/root/db/xn--c1avg.html орг -// xn--c2br7g : 2015-01-15 VeriSign Sarl +// xn--c2br7g : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--c2br7g.html नेट -// xn--cck2b3b : 2015-02-26 Amazon Registry Services, Inc. +// xn--cck2b3b : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--cck2b3b.html ストア -// xn--cckwcxetd : 2019-12-19 Amazon Registry Services, Inc. +// xn--cckwcxetd : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--cckwcxetd.html アマゾン -// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD +// xn--cg4bki : SAMSUNG SDS CO., LTD +// https://www.iana.org/domains/root/db/xn--cg4bki.html 삼성 -// xn--czr694b : 2014-01-16 Internet DotTrademark Organisation Limited +// xn--czr694b : Internet DotTrademark Organisation Limited +// https://www.iana.org/domains/root/db/xn--czr694b.html 商标 -// xn--czrs0t : 2013-12-19 Binky Moon, LLC +// xn--czrs0t : Binky Moon, LLC +// https://www.iana.org/domains/root/db/xn--czrs0t.html 商店 -// xn--czru2d : 2013-11-21 Zodiac Aquarius Limited +// xn--czru2d : Zodiac Aquarius Limited +// https://www.iana.org/domains/root/db/xn--czru2d.html 商城 -// xn--d1acj3b : 2013-11-20 The Foundation for Network Initiatives “The Smart Internet” +// xn--d1acj3b : The Foundation for Network Initiatives “The Smart Internet” +// https://www.iana.org/domains/root/db/xn--d1acj3b.html дети -// xn--eckvdtc9d : 2014-12-18 Amazon Registry Services, Inc. +// xn--eckvdtc9d : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--eckvdtc9d.html ポイント -// xn--efvy88h : 2014-08-22 Guangzhou YU Wei Information Technology Co., Ltd. +// xn--efvy88h : Guangzhou YU Wei Information Technology Co., Ltd. +// https://www.iana.org/domains/root/db/xn--efvy88h.html 新闻 -// xn--fct429k : 2015-04-09 Amazon Registry Services, Inc. +// xn--fct429k : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--fct429k.html 家電 -// xn--fhbei : 2015-01-15 VeriSign Sarl +// xn--fhbei : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--fhbei.html كوم -// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED OY +// xn--fiq228c5hs : TLD REGISTRY LIMITED OY +// https://www.iana.org/domains/root/db/xn--fiq228c5hs.html 中文网 -// xn--fiq64b : 2013-10-14 CITIC Group Corporation +// xn--fiq64b : CITIC Group Corporation +// https://www.iana.org/domains/root/db/xn--fiq64b.html 中信 -// xn--fjq720a : 2014-05-22 Binky Moon, LLC +// xn--fjq720a : Binky Moon, LLC +// https://www.iana.org/domains/root/db/xn--fjq720a.html 娱乐 -// xn--flw351e : 2014-07-31 Charleston Road Registry Inc. +// xn--flw351e : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/xn--flw351e.html 谷歌 -// xn--fzys8d69uvgm : 2015-05-14 PCCW Enterprises Limited +// xn--fzys8d69uvgm : PCCW Enterprises Limited +// https://www.iana.org/domains/root/db/xn--fzys8d69uvgm.html 電訊盈科 -// xn--g2xx48c : 2015-01-30 Nawang Heli(Xiamen) Network Service Co., LTD. +// xn--g2xx48c : Nawang Heli(Xiamen) Network Service Co., LTD. +// https://www.iana.org/domains/root/db/xn--g2xx48c.html 购物 -// xn--gckr3f0f : 2015-02-26 Amazon Registry Services, Inc. +// xn--gckr3f0f : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--gckr3f0f.html クラウド -// xn--gk3at1e : 2015-10-08 Amazon Registry Services, Inc. +// xn--gk3at1e : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--gk3at1e.html 通販 -// xn--hxt814e : 2014-05-15 Zodiac Taurus Limited +// xn--hxt814e : Zodiac Taurus Limited +// https://www.iana.org/domains/root/db/xn--hxt814e.html 网店 -// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry +// xn--i1b6b1a6a2e : Public Interest Registry +// https://www.iana.org/domains/root/db/xn--i1b6b1a6a2e.html संगठन -// xn--imr513n : 2014-12-11 Internet DotTrademark Organisation Limited +// xn--imr513n : Internet DotTrademark Organisation Limited +// https://www.iana.org/domains/root/db/xn--imr513n.html 餐厅 -// xn--io0a7i : 2013-11-14 China Internet Network Information Center (CNNIC) +// xn--io0a7i : China Internet Network Information Center (CNNIC) +// https://www.iana.org/domains/root/db/xn--io0a7i.html 网络 -// xn--j1aef : 2015-01-15 VeriSign Sarl +// xn--j1aef : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--j1aef.html ком -// xn--jlq480n2rg : 2019-12-19 Amazon Registry Services, Inc. +// xn--jlq480n2rg : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--jlq480n2rg.html 亚马逊 -// xn--jvr189m : 2015-02-26 Amazon Registry Services, Inc. +// xn--jvr189m : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--jvr189m.html 食品 -// xn--kcrx77d1x4a : 2014-11-07 Koninklijke Philips N.V. +// xn--kcrx77d1x4a : Koninklijke Philips N.V. +// https://www.iana.org/domains/root/db/xn--kcrx77d1x4a.html 飞利浦 -// xn--kput3i : 2014-02-13 Beijing RITT-Net Technology Development Co., Ltd +// xn--kput3i : Beijing RITT-Net Technology Development Co., Ltd +// https://www.iana.org/domains/root/db/xn--kput3i.html 手机 -// xn--mgba3a3ejt : 2014-11-20 Aramco Services Company +// xn--mgba3a3ejt : Aramco Services Company +// https://www.iana.org/domains/root/db/xn--mgba3a3ejt.html ارامكو -// xn--mgba7c0bbn0a : 2015-05-14 Crescent Holding GmbH +// xn--mgba7c0bbn0a : Competrol (Luxembourg) Sarl +// https://www.iana.org/domains/root/db/xn--mgba7c0bbn0a.html العليان -// xn--mgbaakc7dvf : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat) +// xn--mgbaakc7dvf : Emirates Telecommunications Corporation (trading as Etisalat) +// https://www.iana.org/domains/root/db/xn--mgbaakc7dvf.html اتصالات -// xn--mgbab2bd : 2013-10-31 CORE Association +// xn--mgbab2bd : CORE Association +// https://www.iana.org/domains/root/db/xn--mgbab2bd.html بازار -// xn--mgbca7dzdo : 2015-07-30 Abu Dhabi Systems and Information Centre +// xn--mgbca7dzdo : Abu Dhabi Systems and Information Centre +// https://www.iana.org/domains/root/db/xn--mgbca7dzdo.html ابوظبي -// xn--mgbi4ecexp : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// xn--mgbi4ecexp : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// https://www.iana.org/domains/root/db/xn--mgbi4ecexp.html كاثوليك -// xn--mgbt3dhd : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// xn--mgbt3dhd : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti. +// https://www.iana.org/domains/root/db/xn--mgbt3dhd.html همراه -// xn--mk1bu44c : 2015-01-15 VeriSign Sarl +// xn--mk1bu44c : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--mk1bu44c.html 닷컴 -// xn--mxtq1m : 2014-03-06 Net-Chinese Co., Ltd. +// xn--mxtq1m : Net-Chinese Co., Ltd. +// https://www.iana.org/domains/root/db/xn--mxtq1m.html 政府 -// xn--ngbc5azd : 2013-07-13 International Domain Registry Pty. Ltd. +// xn--ngbc5azd : International Domain Registry Pty. Ltd. +// https://www.iana.org/domains/root/db/xn--ngbc5azd.html شبكة -// xn--ngbe9e0a : 2014-12-04 Kuwait Finance House +// xn--ngbe9e0a : Kuwait Finance House +// https://www.iana.org/domains/root/db/xn--ngbe9e0a.html بيتك -// xn--ngbrx : 2015-11-12 League of Arab States +// xn--ngbrx : League of Arab States +// https://www.iana.org/domains/root/db/xn--ngbrx.html عرب -// xn--nqv7f : 2013-11-14 Public Interest Registry +// xn--nqv7f : Public Interest Registry +// https://www.iana.org/domains/root/db/xn--nqv7f.html 机构 -// xn--nqv7fs00ema : 2013-11-14 Public Interest Registry +// xn--nqv7fs00ema : Public Interest Registry +// https://www.iana.org/domains/root/db/xn--nqv7fs00ema.html 组织机构 -// xn--nyqy26a : 2014-11-07 Stable Tone Limited +// xn--nyqy26a : Stable Tone Limited +// https://www.iana.org/domains/root/db/xn--nyqy26a.html 健康 -// xn--otu796d : 2017-08-06 Jiang Yu Liang Cai Technology Company Limited +// xn--otu796d : Jiang Yu Liang Cai Technology Company Limited +// https://www.iana.org/domains/root/db/xn--otu796d.html 招聘 -// xn--p1acf : 2013-12-12 Rusnames Limited +// xn--p1acf : Rusnames Limited +// https://www.iana.org/domains/root/db/xn--p1acf.html рус -// xn--pssy2u : 2015-01-15 VeriSign Sarl +// xn--pssy2u : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--pssy2u.html 大拿 -// xn--q9jyb4c : 2013-09-17 Charleston Road Registry Inc. +// xn--q9jyb4c : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/xn--q9jyb4c.html みんな -// xn--qcka1pmc : 2014-07-31 Charleston Road Registry Inc. +// xn--qcka1pmc : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/xn--qcka1pmc.html グーグル -// xn--rhqv96g : 2013-09-11 Stable Tone Limited +// xn--rhqv96g : Stable Tone Limited +// https://www.iana.org/domains/root/db/xn--rhqv96g.html 世界 -// xn--rovu88b : 2015-02-26 Amazon Registry Services, Inc. +// xn--rovu88b : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/xn--rovu88b.html 書籍 -// xn--ses554g : 2014-01-16 KNET Co., Ltd. +// xn--ses554g : KNET Co., Ltd. +// https://www.iana.org/domains/root/db/xn--ses554g.html 网址 -// xn--t60b56a : 2015-01-15 VeriSign Sarl +// xn--t60b56a : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--t60b56a.html 닷넷 -// xn--tckwe : 2015-01-15 VeriSign Sarl +// xn--tckwe : VeriSign Sarl +// https://www.iana.org/domains/root/db/xn--tckwe.html コム -// xn--tiq49xqyj : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// xn--tiq49xqyj : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication) +// https://www.iana.org/domains/root/db/xn--tiq49xqyj.html 天主教 -// xn--unup4y : 2013-07-14 Binky Moon, LLC +// xn--unup4y : Binky Moon, LLC +// https://www.iana.org/domains/root/db/xn--unup4y.html 游戏 -// xn--vermgensberater-ctb : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG +// xn--vermgensberater-ctb : Deutsche Vermögensberatung Aktiengesellschaft DVAG +// https://www.iana.org/domains/root/db/xn--vermgensberater-ctb.html vermögensberater -// xn--vermgensberatung-pwb : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG +// xn--vermgensberatung-pwb : Deutsche Vermögensberatung Aktiengesellschaft DVAG +// https://www.iana.org/domains/root/db/xn--vermgensberatung-pwb.html vermögensberatung -// xn--vhquv : 2013-08-27 Binky Moon, LLC +// xn--vhquv : Binky Moon, LLC +// https://www.iana.org/domains/root/db/xn--vhquv.html 企业 -// xn--vuq861b : 2014-10-16 Beijing Tele-info Network Technology Co., Ltd. +// xn--vuq861b : Beijing Tele-info Technology Co., Ltd. +// https://www.iana.org/domains/root/db/xn--vuq861b.html 信息 -// xn--w4r85el8fhu5dnra : 2015-04-30 Kerry Trading Co. Limited +// xn--w4r85el8fhu5dnra : Kerry Trading Co. Limited +// https://www.iana.org/domains/root/db/xn--w4r85el8fhu5dnra.html 嘉里大酒店 -// xn--w4rs40l : 2015-07-30 Kerry Trading Co. Limited +// xn--w4rs40l : Kerry Trading Co. Limited +// https://www.iana.org/domains/root/db/xn--w4rs40l.html 嘉里 -// xn--xhq521b : 2013-11-14 Guangzhou YU Wei Information Technology Co., Ltd. +// xn--xhq521b : Guangzhou YU Wei Information Technology Co., Ltd. +// https://www.iana.org/domains/root/db/xn--xhq521b.html 广东 -// xn--zfr164b : 2013-11-08 China Organizational Name Administration Center +// xn--zfr164b : China Organizational Name Administration Center +// https://www.iana.org/domains/root/db/xn--zfr164b.html 政务 -// xyz : 2013-12-05 XYZ.COM LLC +// xyz : XYZ.COM LLC +// https://www.iana.org/domains/root/db/xyz.html xyz -// yachts : 2014-01-09 XYZ.COM LLC +// yachts : XYZ.COM LLC +// https://www.iana.org/domains/root/db/yachts.html yachts -// yahoo : 2015-04-02 Oath Inc. +// yahoo : Oath Inc. +// https://www.iana.org/domains/root/db/yahoo.html yahoo -// yamaxun : 2014-12-18 Amazon Registry Services, Inc. +// yamaxun : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/yamaxun.html yamaxun -// yandex : 2014-04-10 Yandex Europe B.V. +// yandex : Yandex Europe B.V. +// https://www.iana.org/domains/root/db/yandex.html yandex -// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD. +// yodobashi : YODOBASHI CAMERA CO.,LTD. +// https://www.iana.org/domains/root/db/yodobashi.html yodobashi -// yoga : 2014-05-29 Registry Services, LLC +// yoga : Registry Services, LLC +// https://www.iana.org/domains/root/db/yoga.html yoga -// yokohama : 2013-12-12 GMO Registry, Inc. +// yokohama : GMO Registry, Inc. +// https://www.iana.org/domains/root/db/yokohama.html yokohama -// you : 2015-04-09 Amazon Registry Services, Inc. +// you : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/you.html you -// youtube : 2014-05-01 Charleston Road Registry Inc. +// youtube : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/youtube.html youtube -// yun : 2015-01-08 Beijing Qihu Keji Co., Ltd. +// yun : Beijing Qihu Keji Co., Ltd. +// https://www.iana.org/domains/root/db/yun.html yun -// zappos : 2015-06-25 Amazon Registry Services, Inc. +// zappos : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/zappos.html zappos -// zara : 2014-11-07 Industria de Diseño Textil, S.A. (INDITEX, S.A.) +// zara : Industria de Diseño Textil, S.A. (INDITEX, S.A.) +// https://www.iana.org/domains/root/db/zara.html zara -// zero : 2014-12-18 Amazon Registry Services, Inc. +// zero : Amazon Registry Services, Inc. +// https://www.iana.org/domains/root/db/zero.html zero -// zip : 2014-05-08 Charleston Road Registry Inc. +// zip : Charleston Road Registry Inc. +// https://www.iana.org/domains/root/db/zip.html zip -// zone : 2013-11-14 Binky Moon, LLC +// zone : Binky Moon, LLC +// https://www.iana.org/domains/root/db/zone.html zone -// zuerich : 2014-11-07 Kanton Zürich (Canton of Zurich) +// zuerich : Kanton Zürich (Canton of Zurich) +// https://www.iana.org/domains/root/db/zuerich.html zuerich @@ -10189,11 +11317,78 @@ // Submitted by AWS Security // Subsections of Amazon/subsidiaries will appear until "concludes" tag +// Amazon API Gateway +// Submitted by AWS Security +// Reference: 4d863337-ff98-4501-a6f2-361eba8445d6 +execute-api.cn-north-1.amazonaws.com.cn +execute-api.cn-northwest-1.amazonaws.com.cn +execute-api.af-south-1.amazonaws.com +execute-api.ap-east-1.amazonaws.com +execute-api.ap-northeast-1.amazonaws.com +execute-api.ap-northeast-2.amazonaws.com +execute-api.ap-northeast-3.amazonaws.com +execute-api.ap-south-1.amazonaws.com +execute-api.ap-south-2.amazonaws.com +execute-api.ap-southeast-1.amazonaws.com +execute-api.ap-southeast-2.amazonaws.com +execute-api.ap-southeast-3.amazonaws.com +execute-api.ap-southeast-4.amazonaws.com +execute-api.ca-central-1.amazonaws.com +execute-api.eu-central-1.amazonaws.com +execute-api.eu-central-2.amazonaws.com +execute-api.eu-north-1.amazonaws.com +execute-api.eu-south-1.amazonaws.com +execute-api.eu-south-2.amazonaws.com +execute-api.eu-west-1.amazonaws.com +execute-api.eu-west-2.amazonaws.com +execute-api.eu-west-3.amazonaws.com +execute-api.il-central-1.amazonaws.com +execute-api.me-central-1.amazonaws.com +execute-api.me-south-1.amazonaws.com +execute-api.sa-east-1.amazonaws.com +execute-api.us-east-1.amazonaws.com +execute-api.us-east-2.amazonaws.com +execute-api.us-gov-east-1.amazonaws.com +execute-api.us-gov-west-1.amazonaws.com +execute-api.us-west-1.amazonaws.com +execute-api.us-west-2.amazonaws.com + // Amazon CloudFront // Submitted by Donavan Miller // Reference: 54144616-fd49-4435-8535-19c6a601bdb3 cloudfront.net +// Amazon Cognito +// Submitted by AWS Security +// Reference: 7bee1013-f456-47df-bfe8-03c78d946d61 +auth.af-south-1.amazoncognito.com +auth.ap-northeast-1.amazoncognito.com +auth.ap-northeast-2.amazoncognito.com +auth.ap-northeast-3.amazoncognito.com +auth.ap-south-1.amazoncognito.com +auth.ap-southeast-1.amazoncognito.com +auth.ap-southeast-2.amazoncognito.com +auth.ap-southeast-3.amazoncognito.com +auth.ca-central-1.amazoncognito.com +auth.eu-central-1.amazoncognito.com +auth.eu-north-1.amazoncognito.com +auth.eu-south-1.amazoncognito.com +auth.eu-west-1.amazoncognito.com +auth.eu-west-2.amazoncognito.com +auth.eu-west-3.amazoncognito.com +auth.il-central-1.amazoncognito.com +auth.me-south-1.amazoncognito.com +auth.sa-east-1.amazoncognito.com +auth.us-east-1.amazoncognito.com +auth-fips.us-east-1.amazoncognito.com +auth.us-east-2.amazoncognito.com +auth-fips.us-east-2.amazoncognito.com +auth-fips.us-gov-west-1.amazoncognito.com +auth.us-west-1.amazoncognito.com +auth-fips.us-west-1.amazoncognito.com +auth.us-west-2.amazoncognito.com +auth-fips.us-west-2.amazoncognito.com + // Amazon EC2 // Submitted by Luke Wells // Reference: 4c38fa71-58ac-4768-99e5-689c1767e537 @@ -10202,47 +11397,307 @@ *.compute.amazonaws.com.cn us-east-1.amazonaws.com +// Amazon EMR +// Submitted by AWS Security +// Reference: 597f3f8e-9283-4e48-8e32-7ee25a1ff6ab +emrappui-prod.cn-north-1.amazonaws.com.cn +emrnotebooks-prod.cn-north-1.amazonaws.com.cn +emrstudio-prod.cn-north-1.amazonaws.com.cn +emrappui-prod.cn-northwest-1.amazonaws.com.cn +emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn +emrstudio-prod.cn-northwest-1.amazonaws.com.cn +emrappui-prod.af-south-1.amazonaws.com +emrnotebooks-prod.af-south-1.amazonaws.com +emrstudio-prod.af-south-1.amazonaws.com +emrappui-prod.ap-east-1.amazonaws.com +emrnotebooks-prod.ap-east-1.amazonaws.com +emrstudio-prod.ap-east-1.amazonaws.com +emrappui-prod.ap-northeast-1.amazonaws.com +emrnotebooks-prod.ap-northeast-1.amazonaws.com +emrstudio-prod.ap-northeast-1.amazonaws.com +emrappui-prod.ap-northeast-2.amazonaws.com +emrnotebooks-prod.ap-northeast-2.amazonaws.com +emrstudio-prod.ap-northeast-2.amazonaws.com +emrappui-prod.ap-northeast-3.amazonaws.com +emrnotebooks-prod.ap-northeast-3.amazonaws.com +emrstudio-prod.ap-northeast-3.amazonaws.com +emrappui-prod.ap-south-1.amazonaws.com +emrnotebooks-prod.ap-south-1.amazonaws.com +emrstudio-prod.ap-south-1.amazonaws.com +emrappui-prod.ap-southeast-1.amazonaws.com +emrnotebooks-prod.ap-southeast-1.amazonaws.com +emrstudio-prod.ap-southeast-1.amazonaws.com +emrappui-prod.ap-southeast-2.amazonaws.com +emrnotebooks-prod.ap-southeast-2.amazonaws.com +emrstudio-prod.ap-southeast-2.amazonaws.com +emrappui-prod.ap-southeast-3.amazonaws.com +emrnotebooks-prod.ap-southeast-3.amazonaws.com +emrstudio-prod.ap-southeast-3.amazonaws.com +emrappui-prod.ca-central-1.amazonaws.com +emrnotebooks-prod.ca-central-1.amazonaws.com +emrstudio-prod.ca-central-1.amazonaws.com +emrappui-prod.eu-central-1.amazonaws.com +emrnotebooks-prod.eu-central-1.amazonaws.com +emrstudio-prod.eu-central-1.amazonaws.com +emrappui-prod.eu-north-1.amazonaws.com +emrnotebooks-prod.eu-north-1.amazonaws.com +emrstudio-prod.eu-north-1.amazonaws.com +emrappui-prod.eu-south-1.amazonaws.com +emrnotebooks-prod.eu-south-1.amazonaws.com +emrstudio-prod.eu-south-1.amazonaws.com +emrappui-prod.eu-west-1.amazonaws.com +emrnotebooks-prod.eu-west-1.amazonaws.com +emrstudio-prod.eu-west-1.amazonaws.com +emrappui-prod.eu-west-2.amazonaws.com +emrnotebooks-prod.eu-west-2.amazonaws.com +emrstudio-prod.eu-west-2.amazonaws.com +emrappui-prod.eu-west-3.amazonaws.com +emrnotebooks-prod.eu-west-3.amazonaws.com +emrstudio-prod.eu-west-3.amazonaws.com +emrappui-prod.me-central-1.amazonaws.com +emrnotebooks-prod.me-central-1.amazonaws.com +emrstudio-prod.me-central-1.amazonaws.com +emrappui-prod.me-south-1.amazonaws.com +emrnotebooks-prod.me-south-1.amazonaws.com +emrstudio-prod.me-south-1.amazonaws.com +emrappui-prod.sa-east-1.amazonaws.com +emrnotebooks-prod.sa-east-1.amazonaws.com +emrstudio-prod.sa-east-1.amazonaws.com +emrappui-prod.us-east-1.amazonaws.com +emrnotebooks-prod.us-east-1.amazonaws.com +emrstudio-prod.us-east-1.amazonaws.com +emrappui-prod.us-east-2.amazonaws.com +emrnotebooks-prod.us-east-2.amazonaws.com +emrstudio-prod.us-east-2.amazonaws.com +emrappui-prod.us-gov-east-1.amazonaws.com +emrnotebooks-prod.us-gov-east-1.amazonaws.com +emrstudio-prod.us-gov-east-1.amazonaws.com +emrappui-prod.us-gov-west-1.amazonaws.com +emrnotebooks-prod.us-gov-west-1.amazonaws.com +emrstudio-prod.us-gov-west-1.amazonaws.com +emrappui-prod.us-west-1.amazonaws.com +emrnotebooks-prod.us-west-1.amazonaws.com +emrstudio-prod.us-west-1.amazonaws.com +emrappui-prod.us-west-2.amazonaws.com +emrnotebooks-prod.us-west-2.amazonaws.com +emrstudio-prod.us-west-2.amazonaws.com + +// Amazon Managed Workflows for Apache Airflow +// Submitted by AWS Security +// Reference: 4ab55e6f-90c0-4a8d-b6a0-52ca5dbb1c2e +*.cn-north-1.airflow.amazonaws.com.cn +*.cn-northwest-1.airflow.amazonaws.com.cn +*.ap-northeast-1.airflow.amazonaws.com +*.ap-northeast-2.airflow.amazonaws.com +*.ap-south-1.airflow.amazonaws.com +*.ap-southeast-1.airflow.amazonaws.com +*.ap-southeast-2.airflow.amazonaws.com +*.ca-central-1.airflow.amazonaws.com +*.eu-central-1.airflow.amazonaws.com +*.eu-north-1.airflow.amazonaws.com +*.eu-west-1.airflow.amazonaws.com +*.eu-west-2.airflow.amazonaws.com +*.eu-west-3.airflow.amazonaws.com +*.sa-east-1.airflow.amazonaws.com +*.us-east-1.airflow.amazonaws.com +*.us-east-2.airflow.amazonaws.com +*.us-west-2.airflow.amazonaws.com + // Amazon S3 -// Submitted by Luke Wells -// Reference: d068bd97-f0a9-4838-a6d8-954b622ef4ae +// Submitted by AWS Security +// Reference: 0e801048-08f2-4064-9cb8-e7373e0b57f4 +s3.dualstack.cn-north-1.amazonaws.com.cn +s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn +s3-website.dualstack.cn-north-1.amazonaws.com.cn s3.cn-north-1.amazonaws.com.cn +s3-accesspoint.cn-north-1.amazonaws.com.cn +s3-deprecated.cn-north-1.amazonaws.com.cn +s3-object-lambda.cn-north-1.amazonaws.com.cn +s3-website.cn-north-1.amazonaws.com.cn +s3.dualstack.cn-northwest-1.amazonaws.com.cn +s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn +s3.cn-northwest-1.amazonaws.com.cn +s3-accesspoint.cn-northwest-1.amazonaws.com.cn +s3-object-lambda.cn-northwest-1.amazonaws.com.cn +s3-website.cn-northwest-1.amazonaws.com.cn +s3.dualstack.af-south-1.amazonaws.com +s3-accesspoint.dualstack.af-south-1.amazonaws.com +s3-website.dualstack.af-south-1.amazonaws.com +s3.af-south-1.amazonaws.com +s3-accesspoint.af-south-1.amazonaws.com +s3-object-lambda.af-south-1.amazonaws.com +s3-website.af-south-1.amazonaws.com +s3.dualstack.ap-east-1.amazonaws.com +s3-accesspoint.dualstack.ap-east-1.amazonaws.com +s3.ap-east-1.amazonaws.com +s3-accesspoint.ap-east-1.amazonaws.com +s3-object-lambda.ap-east-1.amazonaws.com +s3-website.ap-east-1.amazonaws.com s3.dualstack.ap-northeast-1.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com +s3-website.dualstack.ap-northeast-1.amazonaws.com +s3.ap-northeast-1.amazonaws.com +s3-accesspoint.ap-northeast-1.amazonaws.com +s3-object-lambda.ap-northeast-1.amazonaws.com +s3-website.ap-northeast-1.amazonaws.com s3.dualstack.ap-northeast-2.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com +s3-website.dualstack.ap-northeast-2.amazonaws.com s3.ap-northeast-2.amazonaws.com +s3-accesspoint.ap-northeast-2.amazonaws.com +s3-object-lambda.ap-northeast-2.amazonaws.com s3-website.ap-northeast-2.amazonaws.com +s3.dualstack.ap-northeast-3.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com +s3-website.dualstack.ap-northeast-3.amazonaws.com +s3.ap-northeast-3.amazonaws.com +s3-accesspoint.ap-northeast-3.amazonaws.com +s3-object-lambda.ap-northeast-3.amazonaws.com +s3-website.ap-northeast-3.amazonaws.com s3.dualstack.ap-south-1.amazonaws.com +s3-accesspoint.dualstack.ap-south-1.amazonaws.com +s3-website.dualstack.ap-south-1.amazonaws.com s3.ap-south-1.amazonaws.com +s3-accesspoint.ap-south-1.amazonaws.com +s3-object-lambda.ap-south-1.amazonaws.com s3-website.ap-south-1.amazonaws.com +s3.dualstack.ap-south-2.amazonaws.com +s3-accesspoint.dualstack.ap-south-2.amazonaws.com +s3.ap-south-2.amazonaws.com +s3-accesspoint.ap-south-2.amazonaws.com +s3-object-lambda.ap-south-2.amazonaws.com +s3-website.ap-south-2.amazonaws.com s3.dualstack.ap-southeast-1.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com +s3-website.dualstack.ap-southeast-1.amazonaws.com +s3.ap-southeast-1.amazonaws.com +s3-accesspoint.ap-southeast-1.amazonaws.com +s3-object-lambda.ap-southeast-1.amazonaws.com +s3-website.ap-southeast-1.amazonaws.com s3.dualstack.ap-southeast-2.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com +s3-website.dualstack.ap-southeast-2.amazonaws.com +s3.ap-southeast-2.amazonaws.com +s3-accesspoint.ap-southeast-2.amazonaws.com +s3-object-lambda.ap-southeast-2.amazonaws.com +s3-website.ap-southeast-2.amazonaws.com +s3.dualstack.ap-southeast-3.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com +s3.ap-southeast-3.amazonaws.com +s3-accesspoint.ap-southeast-3.amazonaws.com +s3-object-lambda.ap-southeast-3.amazonaws.com +s3-website.ap-southeast-3.amazonaws.com +s3.dualstack.ap-southeast-4.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com +s3.ap-southeast-4.amazonaws.com +s3-accesspoint.ap-southeast-4.amazonaws.com +s3-object-lambda.ap-southeast-4.amazonaws.com +s3-website.ap-southeast-4.amazonaws.com s3.dualstack.ca-central-1.amazonaws.com +s3-accesspoint.dualstack.ca-central-1.amazonaws.com +s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com +s3-fips.dualstack.ca-central-1.amazonaws.com +s3-website.dualstack.ca-central-1.amazonaws.com s3.ca-central-1.amazonaws.com +s3-accesspoint.ca-central-1.amazonaws.com +s3-accesspoint-fips.ca-central-1.amazonaws.com +s3-fips.ca-central-1.amazonaws.com +s3-object-lambda.ca-central-1.amazonaws.com s3-website.ca-central-1.amazonaws.com s3.dualstack.eu-central-1.amazonaws.com +s3-accesspoint.dualstack.eu-central-1.amazonaws.com +s3-website.dualstack.eu-central-1.amazonaws.com s3.eu-central-1.amazonaws.com +s3-accesspoint.eu-central-1.amazonaws.com +s3-object-lambda.eu-central-1.amazonaws.com s3-website.eu-central-1.amazonaws.com +s3.dualstack.eu-central-2.amazonaws.com +s3-accesspoint.dualstack.eu-central-2.amazonaws.com +s3.eu-central-2.amazonaws.com +s3-accesspoint.eu-central-2.amazonaws.com +s3-object-lambda.eu-central-2.amazonaws.com +s3-website.eu-central-2.amazonaws.com +s3.dualstack.eu-north-1.amazonaws.com +s3-accesspoint.dualstack.eu-north-1.amazonaws.com +s3.eu-north-1.amazonaws.com +s3-accesspoint.eu-north-1.amazonaws.com +s3-object-lambda.eu-north-1.amazonaws.com +s3-website.eu-north-1.amazonaws.com +s3.dualstack.eu-south-1.amazonaws.com +s3-accesspoint.dualstack.eu-south-1.amazonaws.com +s3-website.dualstack.eu-south-1.amazonaws.com +s3.eu-south-1.amazonaws.com +s3-accesspoint.eu-south-1.amazonaws.com +s3-object-lambda.eu-south-1.amazonaws.com +s3-website.eu-south-1.amazonaws.com +s3.dualstack.eu-south-2.amazonaws.com +s3-accesspoint.dualstack.eu-south-2.amazonaws.com +s3.eu-south-2.amazonaws.com +s3-accesspoint.eu-south-2.amazonaws.com +s3-object-lambda.eu-south-2.amazonaws.com +s3-website.eu-south-2.amazonaws.com s3.dualstack.eu-west-1.amazonaws.com +s3-accesspoint.dualstack.eu-west-1.amazonaws.com +s3-website.dualstack.eu-west-1.amazonaws.com +s3.eu-west-1.amazonaws.com +s3-accesspoint.eu-west-1.amazonaws.com +s3-deprecated.eu-west-1.amazonaws.com +s3-object-lambda.eu-west-1.amazonaws.com +s3-website.eu-west-1.amazonaws.com s3.dualstack.eu-west-2.amazonaws.com +s3-accesspoint.dualstack.eu-west-2.amazonaws.com s3.eu-west-2.amazonaws.com +s3-accesspoint.eu-west-2.amazonaws.com +s3-object-lambda.eu-west-2.amazonaws.com s3-website.eu-west-2.amazonaws.com s3.dualstack.eu-west-3.amazonaws.com +s3-accesspoint.dualstack.eu-west-3.amazonaws.com +s3-website.dualstack.eu-west-3.amazonaws.com s3.eu-west-3.amazonaws.com +s3-accesspoint.eu-west-3.amazonaws.com +s3-object-lambda.eu-west-3.amazonaws.com s3-website.eu-west-3.amazonaws.com +s3.dualstack.il-central-1.amazonaws.com +s3-accesspoint.dualstack.il-central-1.amazonaws.com +s3.il-central-1.amazonaws.com +s3-accesspoint.il-central-1.amazonaws.com +s3-object-lambda.il-central-1.amazonaws.com +s3-website.il-central-1.amazonaws.com +s3.dualstack.me-central-1.amazonaws.com +s3-accesspoint.dualstack.me-central-1.amazonaws.com +s3.me-central-1.amazonaws.com +s3-accesspoint.me-central-1.amazonaws.com +s3-object-lambda.me-central-1.amazonaws.com +s3-website.me-central-1.amazonaws.com +s3.dualstack.me-south-1.amazonaws.com +s3-accesspoint.dualstack.me-south-1.amazonaws.com +s3.me-south-1.amazonaws.com +s3-accesspoint.me-south-1.amazonaws.com +s3-object-lambda.me-south-1.amazonaws.com +s3-website.me-south-1.amazonaws.com s3.amazonaws.com +s3-1.amazonaws.com +s3-ap-east-1.amazonaws.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com +s3-ap-northeast-3.amazonaws.com s3-ap-south-1.amazonaws.com s3-ap-southeast-1.amazonaws.com s3-ap-southeast-2.amazonaws.com s3-ca-central-1.amazonaws.com s3-eu-central-1.amazonaws.com +s3-eu-north-1.amazonaws.com s3-eu-west-1.amazonaws.com s3-eu-west-2.amazonaws.com s3-eu-west-3.amazonaws.com s3-external-1.amazonaws.com +s3-fips-us-gov-east-1.amazonaws.com s3-fips-us-gov-west-1.amazonaws.com +mrap.accesspoint.s3-global.amazonaws.com +s3-me-south-1.amazonaws.com s3-sa-east-1.amazonaws.com s3-us-east-2.amazonaws.com +s3-us-gov-east-1.amazonaws.com s3-us-gov-west-1.amazonaws.com s3-us-west-1.amazonaws.com s3-us-west-2.amazonaws.com @@ -10252,80 +11707,277 @@ s3-website-eu-west-1.amazonaws.com s3-website-sa-east-1.amazonaws.com s3-website-us-east-1.amazonaws.com +s3-website-us-gov-west-1.amazonaws.com s3-website-us-west-1.amazonaws.com s3-website-us-west-2.amazonaws.com s3.dualstack.sa-east-1.amazonaws.com +s3-accesspoint.dualstack.sa-east-1.amazonaws.com +s3-website.dualstack.sa-east-1.amazonaws.com +s3.sa-east-1.amazonaws.com +s3-accesspoint.sa-east-1.amazonaws.com +s3-object-lambda.sa-east-1.amazonaws.com +s3-website.sa-east-1.amazonaws.com s3.dualstack.us-east-1.amazonaws.com +s3-accesspoint.dualstack.us-east-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com +s3-fips.dualstack.us-east-1.amazonaws.com +s3-website.dualstack.us-east-1.amazonaws.com +s3.us-east-1.amazonaws.com +s3-accesspoint.us-east-1.amazonaws.com +s3-accesspoint-fips.us-east-1.amazonaws.com +s3-deprecated.us-east-1.amazonaws.com +s3-fips.us-east-1.amazonaws.com +s3-object-lambda.us-east-1.amazonaws.com +s3-website.us-east-1.amazonaws.com s3.dualstack.us-east-2.amazonaws.com +s3-accesspoint.dualstack.us-east-2.amazonaws.com +s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com +s3-fips.dualstack.us-east-2.amazonaws.com s3.us-east-2.amazonaws.com +s3-accesspoint.us-east-2.amazonaws.com +s3-accesspoint-fips.us-east-2.amazonaws.com +s3-deprecated.us-east-2.amazonaws.com +s3-fips.us-east-2.amazonaws.com +s3-object-lambda.us-east-2.amazonaws.com s3-website.us-east-2.amazonaws.com +s3.dualstack.us-gov-east-1.amazonaws.com +s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com +s3-fips.dualstack.us-gov-east-1.amazonaws.com +s3.us-gov-east-1.amazonaws.com +s3-accesspoint.us-gov-east-1.amazonaws.com +s3-accesspoint-fips.us-gov-east-1.amazonaws.com +s3-fips.us-gov-east-1.amazonaws.com +s3-object-lambda.us-gov-east-1.amazonaws.com +s3-website.us-gov-east-1.amazonaws.com +s3.dualstack.us-gov-west-1.amazonaws.com +s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com +s3-fips.dualstack.us-gov-west-1.amazonaws.com +s3.us-gov-west-1.amazonaws.com +s3-accesspoint.us-gov-west-1.amazonaws.com +s3-accesspoint-fips.us-gov-west-1.amazonaws.com +s3-fips.us-gov-west-1.amazonaws.com +s3-object-lambda.us-gov-west-1.amazonaws.com +s3-website.us-gov-west-1.amazonaws.com +s3.dualstack.us-west-1.amazonaws.com +s3-accesspoint.dualstack.us-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com +s3-fips.dualstack.us-west-1.amazonaws.com +s3-website.dualstack.us-west-1.amazonaws.com +s3.us-west-1.amazonaws.com +s3-accesspoint.us-west-1.amazonaws.com +s3-accesspoint-fips.us-west-1.amazonaws.com +s3-fips.us-west-1.amazonaws.com +s3-object-lambda.us-west-1.amazonaws.com +s3-website.us-west-1.amazonaws.com +s3.dualstack.us-west-2.amazonaws.com +s3-accesspoint.dualstack.us-west-2.amazonaws.com +s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com +s3-fips.dualstack.us-west-2.amazonaws.com +s3-website.dualstack.us-west-2.amazonaws.com +s3.us-west-2.amazonaws.com +s3-accesspoint.us-west-2.amazonaws.com +s3-accesspoint-fips.us-west-2.amazonaws.com +s3-deprecated.us-west-2.amazonaws.com +s3-fips.us-west-2.amazonaws.com +s3-object-lambda.us-west-2.amazonaws.com +s3-website.us-west-2.amazonaws.com + +// Amazon SageMaker Notebook Instances +// Submitted by AWS Security +// Reference: fe8c9e94-5a22-486d-8750-991a3a9b13c6 +notebook.af-south-1.sagemaker.aws +notebook.ap-east-1.sagemaker.aws +notebook.ap-northeast-1.sagemaker.aws +notebook.ap-northeast-2.sagemaker.aws +notebook.ap-northeast-3.sagemaker.aws +notebook.ap-south-1.sagemaker.aws +notebook.ap-south-2.sagemaker.aws +notebook.ap-southeast-1.sagemaker.aws +notebook.ap-southeast-2.sagemaker.aws +notebook.ap-southeast-3.sagemaker.aws +notebook.ap-southeast-4.sagemaker.aws +notebook.ca-central-1.sagemaker.aws +notebook.eu-central-1.sagemaker.aws +notebook.eu-central-2.sagemaker.aws +notebook.eu-north-1.sagemaker.aws +notebook.eu-south-1.sagemaker.aws +notebook.eu-south-2.sagemaker.aws +notebook.eu-west-1.sagemaker.aws +notebook.eu-west-2.sagemaker.aws +notebook.eu-west-3.sagemaker.aws +notebook.il-central-1.sagemaker.aws +notebook.me-central-1.sagemaker.aws +notebook.me-south-1.sagemaker.aws +notebook.sa-east-1.sagemaker.aws +notebook.us-east-1.sagemaker.aws +notebook-fips.us-east-1.sagemaker.aws +notebook.us-east-2.sagemaker.aws +notebook-fips.us-east-2.sagemaker.aws +notebook.us-gov-east-1.sagemaker.aws +notebook-fips.us-gov-east-1.sagemaker.aws +notebook.us-gov-west-1.sagemaker.aws +notebook-fips.us-gov-west-1.sagemaker.aws +notebook.us-west-1.sagemaker.aws +notebook.us-west-2.sagemaker.aws +notebook-fips.us-west-2.sagemaker.aws +notebook.cn-north-1.sagemaker.com.cn +notebook.cn-northwest-1.sagemaker.com.cn + +// Amazon SageMaker Studio +// Submitted by AWS Security +// Reference: 057ee397-6bf8-4f20-b807-d7bc145ac980 +studio.af-south-1.sagemaker.aws +studio.ap-east-1.sagemaker.aws +studio.ap-northeast-1.sagemaker.aws +studio.ap-northeast-2.sagemaker.aws +studio.ap-northeast-3.sagemaker.aws +studio.ap-south-1.sagemaker.aws +studio.ap-southeast-1.sagemaker.aws +studio.ap-southeast-2.sagemaker.aws +studio.ap-southeast-3.sagemaker.aws +studio.ca-central-1.sagemaker.aws +studio.eu-central-1.sagemaker.aws +studio.eu-north-1.sagemaker.aws +studio.eu-south-1.sagemaker.aws +studio.eu-west-1.sagemaker.aws +studio.eu-west-2.sagemaker.aws +studio.eu-west-3.sagemaker.aws +studio.il-central-1.sagemaker.aws +studio.me-central-1.sagemaker.aws +studio.me-south-1.sagemaker.aws +studio.sa-east-1.sagemaker.aws +studio.us-east-1.sagemaker.aws +studio.us-east-2.sagemaker.aws +studio.us-gov-east-1.sagemaker.aws +studio-fips.us-gov-east-1.sagemaker.aws +studio.us-gov-west-1.sagemaker.aws +studio-fips.us-gov-west-1.sagemaker.aws +studio.us-west-1.sagemaker.aws +studio.us-west-2.sagemaker.aws +studio.cn-north-1.sagemaker.com.cn +studio.cn-northwest-1.sagemaker.com.cn + +// Analytics on AWS +// Submitted by AWS Security +// Reference: 955f9f40-a495-4e73-ae85-67b77ac9cadd +analytics-gateway.ap-northeast-1.amazonaws.com +analytics-gateway.ap-northeast-2.amazonaws.com +analytics-gateway.ap-south-1.amazonaws.com +analytics-gateway.ap-southeast-1.amazonaws.com +analytics-gateway.ap-southeast-2.amazonaws.com +analytics-gateway.eu-central-1.amazonaws.com +analytics-gateway.eu-west-1.amazonaws.com +analytics-gateway.us-east-1.amazonaws.com +analytics-gateway.us-east-2.amazonaws.com +analytics-gateway.us-west-2.amazonaws.com + +// AWS Amplify +// Submitted by AWS Security +// Reference: 5ecce854-c033-4fc4-a755-1a9916d9a9bb +*.amplifyapp.com + +// AWS App Runner +// Submitted by AWS Security +// Reference: 6828c008-ba5d-442f-ade5-48da4e7c2316 +*.awsapprunner.com // AWS Cloud9 // Submitted by: AWS Security -// Reference: 2b6dfa9a-3a7f-4367-b2e7-0321e77c0d59 +// Reference: 05c44955-977c-4b57-938a-f2af92733f9f +webview-assets.aws-cloud9.af-south-1.amazonaws.com vfs.cloud9.af-south-1.amazonaws.com webview-assets.cloud9.af-south-1.amazonaws.com +webview-assets.aws-cloud9.ap-east-1.amazonaws.com vfs.cloud9.ap-east-1.amazonaws.com webview-assets.cloud9.ap-east-1.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com vfs.cloud9.ap-northeast-1.amazonaws.com webview-assets.cloud9.ap-northeast-1.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com vfs.cloud9.ap-northeast-2.amazonaws.com webview-assets.cloud9.ap-northeast-2.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com vfs.cloud9.ap-northeast-3.amazonaws.com webview-assets.cloud9.ap-northeast-3.amazonaws.com +webview-assets.aws-cloud9.ap-south-1.amazonaws.com vfs.cloud9.ap-south-1.amazonaws.com webview-assets.cloud9.ap-south-1.amazonaws.com +webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com vfs.cloud9.ap-southeast-1.amazonaws.com webview-assets.cloud9.ap-southeast-1.amazonaws.com +webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com vfs.cloud9.ap-southeast-2.amazonaws.com webview-assets.cloud9.ap-southeast-2.amazonaws.com +webview-assets.aws-cloud9.ca-central-1.amazonaws.com vfs.cloud9.ca-central-1.amazonaws.com webview-assets.cloud9.ca-central-1.amazonaws.com +webview-assets.aws-cloud9.eu-central-1.amazonaws.com vfs.cloud9.eu-central-1.amazonaws.com webview-assets.cloud9.eu-central-1.amazonaws.com +webview-assets.aws-cloud9.eu-north-1.amazonaws.com vfs.cloud9.eu-north-1.amazonaws.com webview-assets.cloud9.eu-north-1.amazonaws.com +webview-assets.aws-cloud9.eu-south-1.amazonaws.com vfs.cloud9.eu-south-1.amazonaws.com webview-assets.cloud9.eu-south-1.amazonaws.com +webview-assets.aws-cloud9.eu-west-1.amazonaws.com vfs.cloud9.eu-west-1.amazonaws.com webview-assets.cloud9.eu-west-1.amazonaws.com +webview-assets.aws-cloud9.eu-west-2.amazonaws.com vfs.cloud9.eu-west-2.amazonaws.com webview-assets.cloud9.eu-west-2.amazonaws.com +webview-assets.aws-cloud9.eu-west-3.amazonaws.com vfs.cloud9.eu-west-3.amazonaws.com webview-assets.cloud9.eu-west-3.amazonaws.com +webview-assets.aws-cloud9.me-south-1.amazonaws.com vfs.cloud9.me-south-1.amazonaws.com webview-assets.cloud9.me-south-1.amazonaws.com +webview-assets.aws-cloud9.sa-east-1.amazonaws.com vfs.cloud9.sa-east-1.amazonaws.com webview-assets.cloud9.sa-east-1.amazonaws.com +webview-assets.aws-cloud9.us-east-1.amazonaws.com vfs.cloud9.us-east-1.amazonaws.com webview-assets.cloud9.us-east-1.amazonaws.com +webview-assets.aws-cloud9.us-east-2.amazonaws.com vfs.cloud9.us-east-2.amazonaws.com webview-assets.cloud9.us-east-2.amazonaws.com +webview-assets.aws-cloud9.us-west-1.amazonaws.com vfs.cloud9.us-west-1.amazonaws.com webview-assets.cloud9.us-west-1.amazonaws.com +webview-assets.aws-cloud9.us-west-2.amazonaws.com vfs.cloud9.us-west-2.amazonaws.com webview-assets.cloud9.us-west-2.amazonaws.com // AWS Elastic Beanstalk -// Submitted by Luke Wells -// Reference: aa202394-43a0-4857-b245-8db04549137e +// Submitted by AWS Security +// Reference: bb5a965c-dec3-4967-aa22-e306ad064797 cn-north-1.eb.amazonaws.com.cn cn-northwest-1.eb.amazonaws.com.cn elasticbeanstalk.com +af-south-1.elasticbeanstalk.com +ap-east-1.elasticbeanstalk.com ap-northeast-1.elasticbeanstalk.com ap-northeast-2.elasticbeanstalk.com ap-northeast-3.elasticbeanstalk.com ap-south-1.elasticbeanstalk.com ap-southeast-1.elasticbeanstalk.com ap-southeast-2.elasticbeanstalk.com +ap-southeast-3.elasticbeanstalk.com ca-central-1.elasticbeanstalk.com eu-central-1.elasticbeanstalk.com +eu-north-1.elasticbeanstalk.com +eu-south-1.elasticbeanstalk.com eu-west-1.elasticbeanstalk.com eu-west-2.elasticbeanstalk.com eu-west-3.elasticbeanstalk.com +il-central-1.elasticbeanstalk.com +me-south-1.elasticbeanstalk.com sa-east-1.elasticbeanstalk.com us-east-1.elasticbeanstalk.com us-east-2.elasticbeanstalk.com +us-gov-east-1.elasticbeanstalk.com us-gov-west-1.elasticbeanstalk.com us-west-1.elasticbeanstalk.com us-west-2.elasticbeanstalk.com @@ -11588,7 +13240,7 @@ // Submitted by Daniel A. Maierhofer wien.funkfeuer.at -// Futureweb OG : http://www.futureweb.at +// Futureweb GmbH : https://www.futureweb.at // Submitted by Andreas Schnederle-Wagner *.futurecms.at *.ex.futurecms.at @@ -12095,7 +13747,6 @@ // Submitted by Ihor Kolodyuk mel.cloudlets.com.au cloud.interhostsolutions.be -users.scale.virtualcloud.com.br mycloud.by alp1.ae.flow.ch appengine.flow.ch @@ -12119,9 +13770,7 @@ de.trendhosting.cloud jele.club amscompute.com -clicketcloud.com dopaas.com -hidora.com paas.hosted-by-previder.com rag-cloud.hosteur.com rag-cloud-ch.hosteur.com @@ -12436,6 +14085,10 @@ 1.azurestaticapps.net 2.azurestaticapps.net 3.azurestaticapps.net +4.azurestaticapps.net +5.azurestaticapps.net +6.azurestaticapps.net +7.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net @@ -12516,6 +14169,9 @@ us.ngrok.io ngrok.pizza +// Nicolaus Copernicus University in Torun - MSK TORMAN (https://www.man.torun.pl) +torun.pl + // Nimbus Hosting Ltd. : https://www.nimbushosting.co.uk/ // Submitted by Nicholas Ford nh-serv.co.uk @@ -13230,6 +14886,20 @@ alpha.bounty-full.com beta.bounty-full.com +// Smallregistry by Promopixel SARL: https://www.smallregistry.net +// Former AFNIC's SLDs +// Submitted by Jérôme Lipowicz +aeroport.fr +avocat.fr +chambagri.fr +chirurgiens-dentistes.fr +experts-comptables.fr +medecin.fr +notaires.fr +pharmacien.fr +port.fr +veterinaire.fr + // Small Technology Foundation : https://small-tech.org // Submitted by Aral Balkan small-web.org @@ -13323,6 +14993,10 @@ // Submitted by Jacob Lee api.stdlib.com +// Storipress : https://storipress.com +// Submitted by Benno Liu +storipress.app + // Storj Labs Inc. : https://storj.io/ // Submitted by Philip Hutchins storj.farm @@ -13690,6 +15364,8 @@ // Submitted by Shahar Talmi wixsite.com editorx.io +wixstudio.io +wix.run // XenonCloud GbR: https://xenoncloud.net // Submitted by Julian Uphoff diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/VERSION openjdk-11-11.0.23+9/make/data/tzdata/VERSION --- openjdk-11-11.0.22+7/make/data/tzdata/VERSION 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/VERSION 2024-04-08 05:38:38.000000000 +0000 @@ -21,4 +21,4 @@ # or visit www.oracle.com if you need additional information or have any # questions. # -tzdata2023c +tzdata2024a diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/africa openjdk-11-11.0.23+9/make/data/tzdata/africa --- openjdk-11-11.0.22+7/make/data/tzdata/africa 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/africa 2024-04-08 05:38:38.000000000 +0000 @@ -53,6 +53,10 @@ # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # European-style abbreviations are commonly used along the Mediterranean. # For sub-Saharan Africa abbreviations were less standardized. # Previous editions of this database used WAT, CAT, SAT, and EAT @@ -136,7 +140,7 @@ # Chad # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena +Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena 1:00 - WAT 1979 Oct 14 1:00 1:00 WAST 1980 Mar 8 1:00 - WAT @@ -162,7 +166,7 @@ # Inaccessible, Nightingale: uninhabited # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Abidjan -0:16:08 - LMT 1912 +Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1 0:00 - GMT ############################################################################### @@ -308,13 +312,6 @@ # reproduced by other (more accessible) sites[, e.g.,]... # http://elgornal.net/news/news.aspx?id=4699258 -# From Paul Eggert (2014-06-04): -# Sarah El Deeb and Lee Keath of AP report that the Egyptian government says -# the change is because of blackouts in Cairo, even though Ahram Online (cited -# above) says DST had no affect on electricity consumption. There is -# no information about when DST will end this fall. See: -# http://abcnews.go.com/International/wireStory/el-sissi-pushes-egyptians-line-23614833 - # From Steffen Thorsen (2015-04-08): # Egypt will start DST on midnight after Thursday, April 30, 2015. # This is based on a law (no 35) from May 15, 2014 saying it starts the last diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/antarctica openjdk-11-11.0.23+9/make/data/tzdata/antarctica --- openjdk-11-11.0.22+7/make/data/tzdata/antarctica 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/antarctica 2024-04-08 05:38:38.000000000 +0000 @@ -103,6 +103,11 @@ # - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 4 3:00 - 2020 Mar 8 3:00 # and now - 2020 Oct 4 0:01 +# From Paul Eggert (2023-12-20): +# Transitions from 2021 on are taken from: +# https://www.timeanddate.com/time/zone/antarctica/casey +# retrieved at various dates. + # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Antarctica/Casey 0 - -00 1969 8:00 - +08 2009 Oct 18 2:00 @@ -116,7 +121,12 @@ 8:00 - +08 2019 Oct 4 3:00 11:00 - +11 2020 Mar 8 3:00 8:00 - +08 2020 Oct 4 0:01 - 11:00 - +11 + 11:00 - +11 2021 Mar 14 0:00 + 8:00 - +08 2021 Oct 3 0:01 + 11:00 - +11 2022 Mar 13 0:00 + 8:00 - +08 2022 Oct 2 0:01 + 11:00 - +11 2023 Mar 9 3:00 + 8:00 - +08 Zone Antarctica/Davis 0 - -00 1957 Jan 13 7:00 - +07 1964 Nov 0 - -00 1969 Feb @@ -263,7 +273,50 @@ # year-round from 1960/61 to 1992 # Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11 -# See Asia/Urumqi. +# From Craig Mundell (1994-12-15): +# http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP +# Vostok, which is one of the Russian stations, is set on the same +# time as Moscow, Russia. +# +# From Lee Hotz (2001-03-08): +# I queried the folks at Columbia who spent the summer at Vostok and this is +# what they had to say about time there: +# "in the US Camp (East Camp) we have been on New Zealand (McMurdo) +# time, which is 12 hours ahead of GMT. The Russian Station Vostok was +# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead +# of GMT). This is a time zone I think two hours east of Moscow. The +# natural time zone is in between the two: 8 hours ahead of GMT." +# +# From Paul Eggert (2001-05-04): +# This seems to be hopelessly confusing, so I asked Lee Hotz about it +# in person. He said that some Antarctic locations set their local +# time so that noon is the warmest part of the day, and that this +# changes during the year and does not necessarily correspond to mean +# solar noon. So the Vostok time might have been whatever the clocks +# happened to be during their visit. So we still don't really know what time +# it is at Vostok. +# +# From Zakhary V. Akulov (2023-12-17 22:00:48 +0700): +# ... from December, 18, 2023 00:00 by my decision the local time of +# the Antarctic research base Vostok will correspond to UTC+5. +# (2023-12-19): We constantly interact with Progress base, with company who +# builds new wintering station, with sledge convoys, with aviation - they all +# use UTC+5. Besides, difference between Moscow time is just 2 hours now, not 4. +# (2023-12-19, in response to the question "Has local time at Vostok +# been UTC+6 ever since 1957, or has it changed before?"): No. At least +# since my antarctic career start, 10 years ago, Vostok base has UTC+7. +# (In response to a 2023-12-18 question "from 02:00 to 00:00 today"): This. +# +# From Paul Eggert (2023-12-18): +# For lack of better info, guess Vostok was at +07 from founding through today, +# except when closed. + +# Zone NAME STDOFF RULES FORMAT [UNTIL] +Zone Antarctica/Vostok 0 - -00 1957 Dec 16 + 7:00 - +07 1994 Feb + 0 - -00 1994 Nov + 7:00 - +07 2023 Dec 18 2:00 + 5:00 - +05 # S Africa - year-round bases # Marion Island, -4653+03752 diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/asia openjdk-11-11.0.23+9/make/data/tzdata/asia --- openjdk-11-11.0.22+7/make/data/tzdata/asia 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/asia 2024-04-08 05:38:38.000000000 +0000 @@ -678,7 +678,6 @@ 8:00 PRC C%sT # Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.) -# Vostok base in Antarctica matches this since 1970. Zone Asia/Urumqi 5:50:20 - LMT 1928 6:00 - +06 @@ -2481,18 +2480,33 @@ # effective December 21st, 2018.... # http://adilet.zan.kz/rus/docs/P1800000817 (russian language). +# From Zhanbolat Raimbekov (2024-01-19): +# Kazakhstan (all parts) switching to UTC+5 on March 1, 2024 +# https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru +# [in Russian] +# (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20 +# +# From Alexander Krivenyshev (2024-01-19): +# According to a different news and the official web site for the Ministry of +# Trade and Integration of the Republic of Kazakhstan: +# https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/ + # Zone NAME STDOFF RULES FORMAT [UNTIL] # # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan -# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA, -# KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ. +# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11), +# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71), +# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33), +# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55), +# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62). Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata 5:00 - +05 1930 Jun 21 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s - 6:00 - +06 -# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43) Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2505,8 +2519,7 @@ 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 6:00 - +06 2018 Dec 21 0:00 5:00 - +05 -# -# Qostanay (aka Kostanay, Kustanay) (KZ-KUS) +# Qostanay (aka Kostanay, Kustanay) (KZ-39) # The 1991/2 rules are unclear partly because of the 1997 Turgai # reorganization. Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 @@ -2517,9 +2530,9 @@ 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s - 6:00 - +06 - -# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15) Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2529,7 +2542,7 @@ 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 5:00 - +05 -# Mangghystaū (KZ-MAN) +# Mangghystaū (KZ-47) # Aqtau was not founded until 1963, but it represents an inhabited region, # so include timestamps before 1963. Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 @@ -2541,7 +2554,7 @@ 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# Atyraū (KZ-ATY) is like Mangghystaū except it switched from +# Atyraū (KZ-23) is like Mangghystaū except it switched from # +04/+05 to +05/+06 in spring 1999, not fall 1994. Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 3:00 - +03 1930 Jun 21 @@ -2552,7 +2565,7 @@ 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# West Kazakhstan (KZ-ZAP) +# West Kazakhstan (KZ-27) # From Paul Eggert (2016-03-18): # The 1989 transition is from USSR act No. 227 (1989-03-14). Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk @@ -3450,20 +3463,30 @@ # From Heba Hamad (2023-03-22): # ... summer time will begin in Palestine from Saturday 04-29-2023, # 02:00 AM by 60 minutes forward. +# From Heba Hemad (2023-10-09): +# ... winter time will begin in Palestine from Saturday 10-28-2023, +# 02:00 AM by 60 minutes back. +# +# From Heba Hamad (2024-01-25): +# the summer time for the years 2024,2025 will begin in Palestine +# from Saturday at 02:00 AM by 60 minutes forward as shown below: +# year date +# 2024 2024-04-20 +# 2025 2025-04-12 # -# From Paul Eggert (2023-03-22): +# From Paul Eggert (2024-01-25): # For now, guess that spring and fall transitions will normally # continue to use 2022's rules, that during DST Palestine will switch # to standard time at 02:00 the last Saturday before Ramadan and back -# to DST at 02:00 the first Saturday after Ramadan, and that +# to DST at 02:00 the second Saturday after Ramadan, and that # if the normal spring-forward or fall-back transition occurs during # Ramadan the former is delayed and the latter advanced. # To implement this, I predicted Ramadan-oriented transition dates for -# 2023 through 2086 by running the following program under GNU Emacs 28.2, +# 2026 through 2086 by running the following program under GNU Emacs 29.2, # with the results integrated by hand into the table below. # Predictions after 2086 are approximated without Ramadan. # -# (let ((islamic-year 1444)) +# (let ((islamic-year 1447)) # (require 'cal-islam) # (while (< islamic-year 1510) # (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year))) @@ -3472,6 +3495,7 @@ # (while (/= saturday (mod (setq a (1- a)) 7))) # (while (/= saturday (mod b 7)) # (setq b (1+ b))) +# (setq b (+ 7 b)) # (setq a (calendar-gregorian-from-absolute a)) # (setq b (calendar-gregorian-from-absolute b)) # (insert @@ -3522,84 +3546,84 @@ Rule Palestine 2022 only - Mar 27 0:00 1:00 S Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 - Rule Palestine 2023 only - Apr 29 2:00 1:00 S -Rule Palestine 2024 only - Apr 13 2:00 1:00 S -Rule Palestine 2025 only - Apr 5 2:00 1:00 S +Rule Palestine 2024 only - Apr 20 2:00 1:00 S +Rule Palestine 2025 only - Apr 12 2:00 1:00 S Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S Rule Palestine 2036 only - Oct 18 2:00 0 - Rule Palestine 2037 only - Oct 10 2:00 0 - Rule Palestine 2038 only - Sep 25 2:00 0 - Rule Palestine 2039 only - Sep 17 2:00 0 - -Rule Palestine 2039 only - Oct 22 2:00 1:00 S -Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2040 only - Sep 1 2:00 0 - -Rule Palestine 2040 only - Oct 13 2:00 1:00 S +Rule Palestine 2040 only - Oct 20 2:00 1:00 S +Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2041 only - Aug 24 2:00 0 - -Rule Palestine 2041 only - Sep 28 2:00 1:00 S +Rule Palestine 2041 only - Oct 5 2:00 1:00 S Rule Palestine 2042 only - Aug 16 2:00 0 - -Rule Palestine 2042 only - Sep 20 2:00 1:00 S +Rule Palestine 2042 only - Sep 27 2:00 1:00 S Rule Palestine 2043 only - Aug 1 2:00 0 - -Rule Palestine 2043 only - Sep 12 2:00 1:00 S +Rule Palestine 2043 only - Sep 19 2:00 1:00 S Rule Palestine 2044 only - Jul 23 2:00 0 - -Rule Palestine 2044 only - Aug 27 2:00 1:00 S +Rule Palestine 2044 only - Sep 3 2:00 1:00 S Rule Palestine 2045 only - Jul 15 2:00 0 - -Rule Palestine 2045 only - Aug 19 2:00 1:00 S +Rule Palestine 2045 only - Aug 26 2:00 1:00 S Rule Palestine 2046 only - Jun 30 2:00 0 - -Rule Palestine 2046 only - Aug 11 2:00 1:00 S +Rule Palestine 2046 only - Aug 18 2:00 1:00 S Rule Palestine 2047 only - Jun 22 2:00 0 - -Rule Palestine 2047 only - Jul 27 2:00 1:00 S +Rule Palestine 2047 only - Aug 3 2:00 1:00 S Rule Palestine 2048 only - Jun 6 2:00 0 - -Rule Palestine 2048 only - Jul 18 2:00 1:00 S +Rule Palestine 2048 only - Jul 25 2:00 1:00 S Rule Palestine 2049 only - May 29 2:00 0 - -Rule Palestine 2049 only - Jul 3 2:00 1:00 S +Rule Palestine 2049 only - Jul 10 2:00 1:00 S Rule Palestine 2050 only - May 21 2:00 0 - -Rule Palestine 2050 only - Jun 25 2:00 1:00 S +Rule Palestine 2050 only - Jul 2 2:00 1:00 S Rule Palestine 2051 only - May 6 2:00 0 - -Rule Palestine 2051 only - Jun 17 2:00 1:00 S +Rule Palestine 2051 only - Jun 24 2:00 1:00 S Rule Palestine 2052 only - Apr 27 2:00 0 - -Rule Palestine 2052 only - Jun 1 2:00 1:00 S +Rule Palestine 2052 only - Jun 8 2:00 1:00 S Rule Palestine 2053 only - Apr 12 2:00 0 - -Rule Palestine 2053 only - May 24 2:00 1:00 S +Rule Palestine 2053 only - May 31 2:00 1:00 S Rule Palestine 2054 only - Apr 4 2:00 0 - -Rule Palestine 2054 only - May 16 2:00 1:00 S -Rule Palestine 2055 only - May 1 2:00 1:00 S -Rule Palestine 2056 only - Apr 22 2:00 1:00 S -Rule Palestine 2057 only - Apr 7 2:00 1:00 S -Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S +Rule Palestine 2054 only - May 23 2:00 1:00 S +Rule Palestine 2055 only - May 8 2:00 1:00 S +Rule Palestine 2056 only - Apr 29 2:00 1:00 S +Rule Palestine 2057 only - Apr 14 2:00 1:00 S +Rule Palestine 2058 only - Apr 6 2:00 1:00 S +Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S Rule Palestine 2068 only - Oct 20 2:00 0 - Rule Palestine 2069 only - Oct 12 2:00 0 - Rule Palestine 2070 only - Oct 4 2:00 0 - Rule Palestine 2071 only - Sep 19 2:00 0 - Rule Palestine 2072 only - Sep 10 2:00 0 - -Rule Palestine 2072 only - Oct 15 2:00 1:00 S +Rule Palestine 2072 only - Oct 22 2:00 1:00 S +Rule Palestine 2072 max - Oct Sat<=30 2:00 0 - Rule Palestine 2073 only - Sep 2 2:00 0 - -Rule Palestine 2073 only - Oct 7 2:00 1:00 S +Rule Palestine 2073 only - Oct 14 2:00 1:00 S Rule Palestine 2074 only - Aug 18 2:00 0 - -Rule Palestine 2074 only - Sep 29 2:00 1:00 S +Rule Palestine 2074 only - Oct 6 2:00 1:00 S Rule Palestine 2075 only - Aug 10 2:00 0 - -Rule Palestine 2075 only - Sep 14 2:00 1:00 S -Rule Palestine 2075 max - Oct Sat<=30 2:00 0 - +Rule Palestine 2075 only - Sep 21 2:00 1:00 S Rule Palestine 2076 only - Jul 25 2:00 0 - -Rule Palestine 2076 only - Sep 5 2:00 1:00 S +Rule Palestine 2076 only - Sep 12 2:00 1:00 S Rule Palestine 2077 only - Jul 17 2:00 0 - -Rule Palestine 2077 only - Aug 28 2:00 1:00 S +Rule Palestine 2077 only - Sep 4 2:00 1:00 S Rule Palestine 2078 only - Jul 9 2:00 0 - -Rule Palestine 2078 only - Aug 13 2:00 1:00 S +Rule Palestine 2078 only - Aug 20 2:00 1:00 S Rule Palestine 2079 only - Jun 24 2:00 0 - -Rule Palestine 2079 only - Aug 5 2:00 1:00 S +Rule Palestine 2079 only - Aug 12 2:00 1:00 S Rule Palestine 2080 only - Jun 15 2:00 0 - -Rule Palestine 2080 only - Jul 20 2:00 1:00 S +Rule Palestine 2080 only - Jul 27 2:00 1:00 S Rule Palestine 2081 only - Jun 7 2:00 0 - -Rule Palestine 2081 only - Jul 12 2:00 1:00 S +Rule Palestine 2081 only - Jul 19 2:00 1:00 S Rule Palestine 2082 only - May 23 2:00 0 - -Rule Palestine 2082 only - Jul 4 2:00 1:00 S +Rule Palestine 2082 only - Jul 11 2:00 1:00 S Rule Palestine 2083 only - May 15 2:00 0 - -Rule Palestine 2083 only - Jun 19 2:00 1:00 S +Rule Palestine 2083 only - Jun 26 2:00 1:00 S Rule Palestine 2084 only - Apr 29 2:00 0 - -Rule Palestine 2084 only - Jun 10 2:00 1:00 S +Rule Palestine 2084 only - Jun 17 2:00 1:00 S Rule Palestine 2085 only - Apr 21 2:00 0 - -Rule Palestine 2085 only - Jun 2 2:00 1:00 S +Rule Palestine 2085 only - Jun 9 2:00 1:00 S Rule Palestine 2086 only - Apr 13 2:00 0 - -Rule Palestine 2086 only - May 18 2:00 1:00 S +Rule Palestine 2086 only - May 25 2:00 1:00 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct @@ -3627,7 +3651,7 @@ # Philippines -# From Paul Eggert (2018-11-18): +# From Paul Eggert (2024-01-21): # The Spanish initially used American (west-of-Greenwich) time. # It is unknown what time Manila kept when the British occupied it from # 1762-10-06 through 1764-04; for now assume it kept American time. @@ -3635,7 +3659,7 @@ # Philippines, issued a proclamation announcing that 1844-12-30 was to # be immediately followed by 1845-01-01; see R.H. van Gent's # History of the International Date Line -# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm # The rest of the data entries are from Shanks & Pottenger. # From Jesper Nørgaard Welen (2006-04-26): @@ -4062,7 +4086,8 @@ # The English-language name of Vietnam's most populous city is "Ho Chi Minh # City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters. -# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân: +# From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngọc Quân +# and a 2024-01-14 heads-up from Đoàn Trần Công Danh: # Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)" # (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50, # is quoted verbatim in: @@ -4092,14 +4117,35 @@ # # Trần cites the following sources; it's unclear which supplied the info above. # -# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, -# No. 9, Paris, February 1982. +# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, +# No. 9, Paris, February 1982. # -# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", -# NXB Thống kê, Hanoi, 2000. +# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", +# NXB Thống kê, Hanoi, 2000. # -# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", -# NXB Thuận Hoá, Huế, 1995. +# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", +# NXB Thuận Hoá, Huế, 1995. +# +# Here is the decision for the September 1945 transition: +# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13 +# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none +# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07. +# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General) +# to set the time zone to +09, but does not say whether that decree +# merely legalized an earlier change to +09. +# +# July 1955 transition: +# Ngô Đình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781 +# Ordinance (Dụ) No. 46 (1955-06-25) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216 +# It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07). +# +# December 1959 transition: +# Ngô Đình Diệm, Công Báo Việt Nam Cộng Hòa, 1960 part 1 (1960-01-02), page 62 +# Decree (Sắc lệnh) No. 362-TTP (1959-12-30) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202 +# It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08). + # Zone NAME STDOFF RULES FORMAT [UNTIL] #STDOFF 7:06:30.13 @@ -4107,9 +4153,9 @@ 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT 7:00 - +07 1942 Dec 31 23:00 8:00 - +08 1945 Mar 14 23:00 - 9:00 - +09 1945 Sep 2 + 9:00 - +09 1945 Sep 1 24:00 7:00 - +07 1947 Apr 1 - 8:00 - +08 1955 Jul 1 + 8:00 - +08 1955 Jul 1 01:00 7:00 - +07 1959 Dec 31 23:00 8:00 - +08 1975 Jun 13 7:00 - +07 diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/australasia openjdk-11-11.0.23+9/make/data/tzdata/australasia --- openjdk-11-11.0.22+7/make/data/tzdata/australasia 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/australasia 2024-04-08 05:38:38.000000000 +0000 @@ -414,8 +414,14 @@ # Please note that there will not be any daylight savings time change # in Fiji for 2022-2023.... # https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl + +# From Almaz Mingaleev (2023-10-06): +# Cabinet approved the suspension of Daylight Saving and appropriate +# legislative changes will be considered including the repeal of the +# Daylight Saving Act 1998 +# https://www.fiji.gov.fj/Media-Centre/Speeches/English/CABINET-DECISIONS-3-OCTOBER-2023 # -# From Paul Eggert (2022-10-27): +# From Paul Eggert (2023-10-06): # For now, assume DST is suspended indefinitely. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S @@ -437,11 +443,11 @@ # French Polynesia # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea +Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea -9:00 - -09 -Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct +Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1 -9:30 - -0930 -Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete +Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete -10:00 - -10 # Clipperton (near North America) is administered from French Polynesia; # it is uninhabited. @@ -819,7 +825,7 @@ # Solomon Is # excludes Bougainville, for which see Papua New Guinea # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara +Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara 11:00 - +11 # Tokelau @@ -980,6 +986,10 @@ # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -2056,7 +2066,7 @@ # ordaining - by a masterpiece of diplomatic flattery - that # the Fourth of July should be celebrated twice in that year." # This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. -# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm # Although Shanks & Pottenger says they both switched to UT -11:30 # in 1911, and to -11 in 1950. many earlier sources give -11 diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/backward openjdk-11-11.0.23+9/make/data/tzdata/backward --- openjdk-11-11.0.22+7/make/data/tzdata/backward 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/backward 2024-04-08 05:38:38.000000000 +0000 @@ -228,7 +228,6 @@ Link Pacific/Port_Moresby Antarctica/DumontDUrville Link Pacific/Auckland Antarctica/McMurdo Link Asia/Riyadh Antarctica/Syowa -Link Asia/Urumqi Antarctica/Vostok Link Europe/Berlin Arctic/Longyearbyen Link Asia/Riyadh Asia/Aden Link Asia/Qatar Asia/Bahrain diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/etcetera openjdk-11-11.0.23+9/make/data/tzdata/etcetera --- openjdk-11-11.0.22+7/make/data/tzdata/etcetera 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/etcetera 2024-04-08 05:38:38.000000000 +0000 @@ -28,7 +28,7 @@ # These entries are for uses not otherwise covered by the tz database. # Their main practical use is for platforms like Android that lack -# support for POSIX-style TZ strings. On such platforms these entries +# support for POSIX.1-2017-style TZ strings. On such platforms these entries # can be useful if the timezone database is wrong or if a ship or # aircraft at sea is not in a timezone. diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/europe openjdk-11-11.0.23+9/make/data/tzdata/europe --- openjdk-11-11.0.22+7/make/data/tzdata/europe 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/europe 2024-04-08 05:38:38.000000000 +0000 @@ -1013,9 +1013,34 @@ # Czech Republic (Czechia) # Slovakia # -# From Paul Eggert (2018-04-15): -# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15. +# From Ivan Benovic (2024-01-30): +# https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/ +# (This is an official link to the Czechoslovak Summer Time Act of +# March 8, 1946 that authorizes the Czechoslovak government to set the +# exact dates of change to summer time and back to Central European Time. +# The act also implicitly confirms Central European Time as the +# official time zone of Czechoslovakia and currently remains in force +# in both the Czech Republic and Slovakia.) +# https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm +# (This is a link to the original legislative proposal dating back to +# February 22, 1946. The accompanying memorandum to the proposal says +# that an advisory committee on European railroad transportation that +# met in Brussels in October 1945 decided that the change of time +# should be carried out in all participating countries in a strictly +# coordinated manner....) +# +# From Paul Eggert (2024-01-30): +# The source for Czech data is: Kdy začíná a končí letní čas. # https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas +# Its main text disagrees with its quoted sources only in 1918, +# where the main text says spring and autumn transitions +# occurred at 02:00 and 03:00 respectively (as usual), +# whereas the 1918 source "Oznámení o zavedení letního času v roce 1918" +# says transitions were at 01:00 and 02:00 respectively. +# As the 1918 source appears to be a humorous piece, and it is +# unlikely that Prague would have disagreed with its neighbors by an hour, +# go with the main text for now. +# # We know of no English-language name for historical Czech winter time; # abbreviate it as "GMT", as it happened to be GMT. # @@ -1146,6 +1171,23 @@ # 2. The shift *from* DST in 2023 happens as normal, but coincides with the # shift to UTC-02 normaltime (people will not change their clocks here). # 3. After this, DST is still observed, but as -02/-01 instead of -03/-02. +# +# From Múte Bourup Egede via Jógvan Svabo Samuelsen (2023-03-15): +# Greenland will not switch to Daylight Saving Time this year, 2023, +# because the standard time for Greenland will change from UTC -3 to UTC -2. +# However, Greenland will change to Daylight Saving Time again in 2024 +# and onwards. + +# From a contributor who wishes to remain anonymous for now (2023-10-29): +# https://www.dr.dk/nyheder/seneste/i-nat-skal-uret-stilles-en-time-tilbage-men-foerste-gang-sker-det-ikke-i-groenland +# with a link to that page: +# https://naalakkersuisut.gl/Nyheder/2023/10/2710_sommertid +# ... Ittoqqortoormiit joins the time of Nuuk at March 2024. +# What would mean that America/Scoresbysund would either be in -01 year round +# or in -02/-01 like America/Nuuk, but no longer in -01/+00. +# +# From Paul Eggert (2023-10-29): +# For now, assume it will be like America/Nuuk. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule Thule 1991 1992 - Mar lastSun 2:00 1:00 D @@ -1166,10 +1208,12 @@ Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit -2:00 - -02 1980 Apr 6 2:00 -2:00 C-Eur -02/-01 1981 Mar 29 - -1:00 EU -01/+00 + -1:00 EU -01/+00 2024 Mar 31 + -2:00 EU -02/-01 Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb -3:00 - -03 1980 Apr 6 2:00 - -3:00 EU -03/-02 2023 Oct 29 1:00u + -3:00 EU -03/-02 2023 Mar 26 1:00u + -2:00 - -02 2023 Oct 29 1:00u -2:00 EU -02/-01 Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik -4:00 Thule A%sT @@ -3734,11 +3778,7 @@ # and not at 3:00 as would have been under EU rules. # This is why I have set the change to EU rules into May 1996, # so that the change in March is stil covered by the Ukraine rule. -# The next change in October 1996 happened under EU rules.... -# TZ database holds three other zones for Ukraine.... I have not yet -# worked out the consequences for these three zones, as we (me and my -# US colleague David Cochrane) are still trying to get more -# information upon these local deviations from Kiev rules. +# The next change in October 1996 happened under EU rules. # # From Paul Eggert (2022-08-27): # For now, assume that Ukraine's zones all followed the same rules, diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/iso3166.tab openjdk-11-11.0.23+9/make/data/tzdata/iso3166.tab --- openjdk-11-11.0.22+7/make/data/tzdata/iso3166.tab 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/iso3166.tab 2024-04-08 05:38:38.000000000 +0000 @@ -26,17 +26,22 @@ # This file is in the public domain, so clarified as of # 2009-05-17 by Arthur David Olson. # -# From Paul Eggert (2022-11-18): +# From Paul Eggert (2023-09-06): # This file contains a table of two-letter country codes. Columns are # separated by a single tab. Lines beginning with '#' are comments. # All text uses UTF-8 encoding. The columns of the table are as follows: # # 1. ISO 3166-1 alpha-2 country code, current as of -# ISO 3166-1 N1087 (2022-09-02). See: Updates on ISO 3166-1 -# https://isotc.iso.org/livelink/livelink/Open/16944257 -# 2. The usual English name for the coded region, -# chosen so that alphabetic sorting of subsets produces helpful lists. -# This is not the same as the English name in the ISO 3166 tables. +# ISO/TC 46 N1108 (2023-04-05). See: ISO/TC 46 Documents +# https://www.iso.org/committee/48750.html?view=documents +# 2. The usual English name for the coded region. This sometimes +# departs from ISO-listed names, sometimes so that sorted subsets +# of names are useful (e.g., "Samoa (American)" and "Samoa +# (western)" rather than "American Samoa" and "Samoa"), +# sometimes to avoid confusion among non-experts (e.g., +# "Czech Republic" and "Turkey" rather than "Czechia" and "Türkiye"), +# and sometimes to omit needless detail or churn (e.g., "Netherlands" +# rather than "Netherlands (the)" or "Netherlands (Kingdom of the)"). # # The table is sorted by country code. # diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/leapseconds openjdk-11-11.0.23+9/make/data/tzdata/leapseconds --- openjdk-11-11.0.22+7/make/data/tzdata/leapseconds 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/leapseconds 2024-04-08 05:38:38.000000000 +0000 @@ -26,13 +26,10 @@ # This file is in the public domain. # This file is generated automatically from the data in the public-domain -# NIST format leap-seconds.list file, which can be copied from -# -# or . -# The NIST file is used instead of its IERS upstream counterpart +# NIST/IERS format leap-seconds.list file, which can be copied from # -# because under US law the NIST file is public domain -# whereas the IERS file's copyright and license status is unclear. +# or, in a variant with different comments, from +# . # For more about leap-seconds.list, please see # The NTP Timescale and Leap Seconds # . @@ -95,11 +92,11 @@ # Any additional leap seconds will come after this. # This Expires line is commented out for now, # so that pre-2020a zic implementations do not reject this file. -#Expires 2023 Dec 28 00:00:00 +#Expires 2024 Dec 28 00:00:00 # POSIX timestamps for the data in this file: -#updated 1467936000 (2016-07-08 00:00:00 UTC) -#expires 1703721600 (2023-12-28 00:00:00 UTC) +#updated 1704708379 (2024-01-08 10:06:19 UTC) +#expires 1735344000 (2024-12-28 00:00:00 UTC) -# Updated through IERS Bulletin C65 -# File expires on: 28 December 2023 +# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat) +# File expires on 28 December 2024 diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/northamerica openjdk-11-11.0.23+9/make/data/tzdata/northamerica --- openjdk-11-11.0.22+7/make/data/tzdata/northamerica 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/northamerica 2024-04-08 05:38:38.000000000 +0000 @@ -1,3 +1,4 @@ +# # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -1290,6 +1291,10 @@ # # [PDF] (1914-03) # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # See the 'europe' file for Greenland. # Canada @@ -1376,7 +1381,7 @@ # From Paul Eggert (2014-10-18): # H. David Matthews and Mary Vincent's map # "It's about TIME", _Canadian Geographic_ (September-October 1998) -# http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp +# https://web.archive.org/web/19990827055050/https://canadiangeographic.ca/SO98/geomap.htm # contains detailed boundaries for regions observing nonstandard # time and daylight saving time arrangements in Canada circa 1998. # @@ -1475,7 +1480,7 @@ Rule StJohns 2007 2011 - Mar Sun>=8 0:01 1:00 D Rule StJohns 2007 2010 - Nov Sun>=1 0:01 0 S # -# St John's has an apostrophe, but Posix file names can't have apostrophes. +# St John's has an apostrophe, but POSIX file names can't have apostrophes. # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/St_Johns -3:30:52 - LMT 1884 -3:30:52 StJohns N%sT 1918 @@ -1664,6 +1669,15 @@ # Some cities in the United States have pushed the deadline back # three weeks and will change over from daylight saving in October. +# From Chris Walton (2024-01-09): +# The [Toronto] changes in 1947, 1948, and 1949 took place at 2:00 a.m. local +# time instead of midnight.... Toronto Daily Star - ... +# April 2, 1947 - Page 39 ... April 7, 1948 - Page 13 ... +# April 2, 1949 - Page 1 ... April 7, 1949 - Page 24 ... +# November 25, 1949 - Page 52 ... April 21, 1950 - Page 14 ... +# September 19, 1950 - Page 46 ... September 20, 1950 - Page 3 ... +# November 24, 1950 - Page 21 + # From Arthur David Olson (2010-07-17): # # "Standard Time and Time Zones in Canada" appeared in @@ -1725,13 +1739,9 @@ Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S -Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S -Rule Toronto 1946 only - Apr lastSun 2:00 1:00 D -Rule Toronto 1947 1949 - Apr lastSun 0:00 1:00 D -Rule Toronto 1947 1948 - Sep lastSun 0:00 0 S -Rule Toronto 1949 only - Nov lastSun 0:00 0 S -Rule Toronto 1950 1973 - Apr lastSun 2:00 1:00 D -Rule Toronto 1950 only - Nov lastSun 2:00 0 S +Rule Toronto 1945 1948 - Sep lastSun 2:00 0 S +Rule Toronto 1946 1973 - Apr lastSun 2:00 1:00 D +Rule Toronto 1949 1950 - Nov lastSun 2:00 0 S Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S # Shanks & Pottenger say Toronto ended DST a week early in 1971, # namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this @@ -3454,7 +3464,7 @@ # Martinique # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France - -4:04:20 - FFMT 1911 May # Fort-de-France MT + -4:04:20 - FFMT 1911 May 1 # Fort-de-France MT -4:00 - AST 1980 Apr 6 -4:00 1:00 ADT 1980 Sep 28 -4:00 - AST @@ -3561,7 +3571,7 @@ # St Pierre and Miquelon # There are too many St Pierres elsewhere, so we'll use 'Miquelon'. # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre +Zone America/Miquelon -3:44:40 - LMT 1911 Jun 15 # St Pierre -4:00 - AST 1980 May -3:00 - -03 1987 -3:00 Canada -03/-02 diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/southamerica openjdk-11-11.0.23+9/make/data/tzdata/southamerica --- openjdk-11-11.0.22+7/make/data/tzdata/southamerica 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/southamerica 2024-04-08 05:38:38.000000000 +0000 @@ -1593,8 +1593,11 @@ -3:00 - -03 # French Guiana +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone America/Cayenne -3:29:20 - LMT 1911 Jul +Zone America/Cayenne -3:29:20 - LMT 1911 Jul 1 -4:00 - -04 1967 Oct -3:00 - -03 @@ -1720,6 +1723,12 @@ # From Carlos Raúl Perasso (2014-02-28): # Decree 1264 can be found at: # http://www.presidencia.gov.py/archivos/documentos/DECRETO1264_ey9r8zai.pdf +# +# From Paul Eggert (2023-07-26): +# Transition dates are now set by Law No. 7115, not by presidential decree. +# https://www.abc.com.py/politica/2023/07/12/promulgacion-el-cambio-de-hora-sera-por-ley/ +# From Carlos Raúl Perasso (2023-07-27): +# http://silpy.congreso.gov.py/descarga/ley-144138 Rule Para 2013 max - Mar Sun>=22 0:00 0 - # Zone NAME STDOFF RULES FORMAT [UNTIL] diff -Nru openjdk-11-11.0.22+7/make/data/tzdata/zone.tab openjdk-11-11.0.23+9/make/data/tzdata/zone.tab --- openjdk-11-11.0.22+7/make/data/tzdata/zone.tab 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/data/tzdata/zone.tab 2024-04-08 05:38:38.000000000 +0000 @@ -71,7 +71,7 @@ AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN) AR -2411-06518 America/Argentina/Jujuy Jujuy (JY) AR -2649-06513 America/Argentina/Tucuman Tucuman (TM) -AR -2828-06547 America/Argentina/Catamarca Catamarca (CT); Chubut (CH) +AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH) AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR) AR -3132-06831 America/Argentina/San_Juan San Juan (SJ) AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ) @@ -110,7 +110,7 @@ BO -1630-06809 America/La_Paz BQ +120903-0681636 America/Kralendijk BR -0351-03225 America/Noronha Atlantic islands -BR -0127-04829 America/Belem Para (east); Amapa +BR -0127-04829 America/Belem Para (east), Amapa BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB) BR -0803-03454 America/Recife Pernambuco BR -0712-04812 America/Araguaina Tocantins @@ -130,21 +130,21 @@ BW -2439+02555 Africa/Gaborone BY +5354+02734 Europe/Minsk BZ +1730-08812 America/Belize -CA +4734-05243 America/St_Johns Newfoundland; Labrador (southeast) -CA +4439-06336 America/Halifax Atlantic - NS (most areas); PE +CA +4734-05243 America/St_Johns Newfoundland, Labrador (SE) +CA +4439-06336 America/Halifax Atlantic - NS (most areas), PE CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton) CA +4606-06447 America/Moncton Atlantic - New Brunswick CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore) -CA +4339-07923 America/Toronto Eastern - ON, QC (most areas) +CA +4339-07923 America/Toronto Eastern - ON & QC (most areas) CA +6344-06828 America/Iqaluit Eastern - NU (most areas) -CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H) -CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba +CA +484531-0913718 America/Atikokan EST - ON (Atikokan), NU (Coral H) +CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba CA +744144-0944945 America/Resolute Central - NU (Resolute) CA +624900-0920459 America/Rankin_Inlet Central - NU (central) CA +5024-10439 America/Regina CST - SK (most areas) CA +5017-10750 America/Swift_Current CST - SK (midwest) -CA +5333-11328 America/Edmonton Mountain - AB; BC (E); NT (E); SK (W) +CA +5333-11328 America/Edmonton Mountain - AB, BC(E), NT(E), SK(W) CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west) CA +682059-1334300 America/Inuvik Mountain - NT (west) CA +4906-11631 America/Creston MST - BC (Creston) @@ -230,8 +230,8 @@ HU +4730+01905 Europe/Budapest ID -0610+10648 Asia/Jakarta Java, Sumatra ID -0002+10920 Asia/Pontianak Borneo (west, central) -ID -0507+11924 Asia/Makassar Borneo (east, south); Sulawesi/Celebes, Bali, Nusa Tengarra; Timor (west) -ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya); Malukus/Moluccas +ID -0507+11924 Asia/Makassar Borneo (east, south), Sulawesi/Celebes, Bali, Nusa Tengarra, Timor (west) +ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya), Malukus/Moluccas IE +5320-00615 Europe/Dublin IL +314650+0351326 Asia/Jerusalem IM +5409-00428 Europe/Isle_of_Man @@ -378,7 +378,7 @@ RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky RU +5934+15048 Asia/Magadan MSK+08 - Magadan RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island -RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); N Kuril Is +RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E), N Kuril Is RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea RW -0157+03004 Africa/Kigali @@ -441,7 +441,7 @@ US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural) US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer) US +394421-1045903 America/Denver Mountain (most areas) -US +433649-1161209 America/Boise Mountain - ID (south); OR (east) +US +433649-1161209 America/Boise Mountain - ID (south), OR (east) US +332654-1120424 America/Phoenix MST - AZ (except Navajo) US +340308-1181434 America/Los_Angeles Pacific US +611305-1495401 America/Anchorage Alaska (most areas) diff -Nru openjdk-11-11.0.22+7/make/hotspot/lib/JvmOverrideFiles.gmk openjdk-11-11.0.23+9/make/hotspot/lib/JvmOverrideFiles.gmk --- openjdk-11-11.0.22+7/make/hotspot/lib/JvmOverrideFiles.gmk 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/hotspot/lib/JvmOverrideFiles.gmk 2024-04-08 05:38:38.000000000 +0000 @@ -40,6 +40,10 @@ # Need extra inlining to collapse all marking code into the hot marking loop BUILD_LIBJVM_shenandoahConcurrentMark.cpp_CXXFLAGS := --param inline-unit-growth=1000 endif + ifeq ($(call check-jvm-feature, dtrace), true) + # DTRACE_PROBE macros trigger a maybe-uninitialized warning on 'ret' + BUILD_LIBJVM_jni.cpp_CXXFLAGS := -Wno-maybe-uninitialized + endif endif LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE) diff -Nru openjdk-11-11.0.22+7/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java openjdk-11-11.0.23+9/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java --- openjdk-11-11.0.22+7/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,6 +30,7 @@ import java.io.DataOutputStream; import java.io.FileOutputStream; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.Locale; @@ -312,9 +313,15 @@ validCurrencyCodes.substring(i * 7 + 3, i * 7 + 6)); checkCurrencyCode(currencyCode); int tableEntry = mainTable[(currencyCode.charAt(0) - 'A') * A_TO_Z + (currencyCode.charAt(1) - 'A')]; - if (tableEntry == INVALID_COUNTRY_ENTRY || - (tableEntry & SPECIAL_CASE_COUNTRY_MASK) != 0 || - (tableEntry & SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK) != (currencyCode.charAt(2) - 'A')) { + + // Do not allow a future currency to be classified as an otherCurrency, + // otherwise it will leak out into Currency:getAvailableCurrencies + boolean futureCurrency = Arrays.asList(specialCaseNewCurrencies).contains(currencyCode); + boolean simpleCurrency = (tableEntry & SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK) == (currencyCode.charAt(2) - 'A'); + + // If neither a simple currency, or one defined in the future + // then the current currency is applicable to be added to the otherTable + if (!futureCurrency && !simpleCurrency) { if (otherCurrenciesCount == maxOtherCurrencies) { throw new RuntimeException("too many other currencies"); } diff -Nru openjdk-11-11.0.22+7/make/lib/Awt2dLibraries.gmk openjdk-11-11.0.23+9/make/lib/Awt2dLibraries.gmk --- openjdk-11-11.0.22+7/make/lib/Awt2dLibraries.gmk 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/lib/Awt2dLibraries.gmk 2024-04-08 05:38:38.000000000 +0000 @@ -516,7 +516,6 @@ LIBFREETYPE_LIBS := -lfreetype endif - # gcc_ftobjs.c := maybe-uninitialized required for GCC 7 builds. $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \ NAME := freetype, \ OPTIMIZATION := HIGHEST, \ @@ -529,7 +528,6 @@ DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \ DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \ DISABLED_WARNINGS_clang := missing-declarations, \ - DISABLED_WARNINGS_gcc_ftobjs.c := maybe-uninitialized, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ )) @@ -562,6 +560,11 @@ # hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later. LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc + # list of disabled warnings and the compilers for which it was specifically added. + # array-bounds -> GCC 12 on Alpine Linux + # parentheses -> GCC 6 + # range-loop-analysis -> clang on Xcode12 + HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing \ array-bounds # noexcept-type required for GCC 7 builds. Not required for GCC 8+. diff -Nru openjdk-11-11.0.22+7/make/test/JtregNativeHotspot.gmk openjdk-11-11.0.23+9/make/test/JtregNativeHotspot.gmk --- openjdk-11-11.0.22+7/make/test/JtregNativeHotspot.gmk 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/make/test/JtregNativeHotspot.gmk 2024-04-08 05:38:38.000000000 +0000 @@ -144,12 +144,14 @@ NO_FRAMEPOINTER_CFLAGS := -fomit-frame-pointer endif +JVMTI_COMMON_INCLUDES=-I$(TOPDIR)/test/lib/jdk/test/lib/jvmti + BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libNoFramePointer := $(NO_FRAMEPOINTER_CFLAGS) # Optimization -O3 needed, HIGH == -O3 BUILD_HOTSPOT_JTREG_LIBRARIES_OPTIMIZATION_libNoFramePointer := HIGH -BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS +BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS $(JVMTI_COMMON_INCLUDES) +BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS $(JVMTI_COMMON_INCLUDES) BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libProcessUtils := $(VM_SHARE_INCLUDES) diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp openjdk-11-11.0.23+9/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -166,8 +166,10 @@ if (index->is_register()) { // apply the shift and accumulate the displacement if (shift > 0) { - LIR_Opr tmp = new_pointer_register(); - __ shift_left(index, shift, tmp); + // Use long register to avoid overflow when shifting large index values left. + LIR_Opr tmp = new_register(T_LONG); + __ convert(Bytecodes::_i2l, index, tmp); + __ shift_left(tmp, shift, tmp); index = tmp; } if (large_disp != 0) { diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp openjdk-11-11.0.23+9/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -149,8 +149,10 @@ } } - // Neoverse N1 - if (_cpu == CPU_ARM && (_model == 0xd0c || _model2 == 0xd0c)) { + // Neoverse N1, N2 and V1 + if (_cpu == CPU_ARM && ((_model == 0xd0c || _model2 == 0xd0c) + || (_model == 0xd49 || _model2 == 0xd49) + || (_model == 0xd40 || _model2 == 0xd40))) { if (FLAG_IS_DEFAULT(UseSIMDForMemoryOps)) { FLAG_SET_DEFAULT(UseSIMDForMemoryOps, true); } diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -3145,7 +3145,7 @@ // Klass seen before, nothing to do (regardless of unknown bit). //beq(CCR1, do_nothing); - __ andi_(R0, klass, TypeEntries::type_unknown); + __ andi_(R0, tmp, TypeEntries::type_unknown); // Already unknown. Nothing to do anymore. //bne(CCR0, do_nothing); __ crorc(CCR0, Assembler::equal, CCR1, Assembler::equal); // cr0 eq = cr1 eq or cr0 ne diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2017, SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -162,8 +162,10 @@ if (index->is_register()) { // Apply the shift and accumulate the displacement. if (shift > 0) { - LIR_Opr tmp = new_pointer_register(); - __ shift_left(index, shift, tmp); + // Use long register to avoid overflow when shifting large index values left. + LIR_Opr tmp = new_register(T_LONG); + __ convert(Bytecodes::_i2l, index, tmp); + __ shift_left(tmp, shift, tmp); index = tmp; } if (large_disp != 0) { diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1779,7 +1779,7 @@ // Klass seen before, nothing to do (regardless of unknown bit). //beq(CCR1, do_nothing); - andi_(R0, klass, TypeEntries::type_unknown); + andi_(R0, tmp, TypeEntries::type_unknown); // Already unknown. Nothing to do anymore. //bne(CCR0, do_nothing); crorc(CCR0, Assembler::equal, CCR1, Assembler::equal); // cr0 eq = cr1 eq or cr0 ne diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp openjdk-11-11.0.23+9/src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2017, SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -156,8 +156,10 @@ return new LIR_Address(base, index, type); } else { if (shift > 0) { - LIR_Opr tmp = new_pointer_register(); - __ shift_left(index, shift, tmp); + // Use long register to avoid overflow when shifting large index values left. + LIR_Opr tmp = new_register(T_LONG); + __ convert(Bytecodes::_i2l, index, tmp); + __ shift_left(tmp, shift, tmp); index = tmp; } return new LIR_Address(base, index, disp, type); diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp openjdk-11-11.0.23+9/src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -160,8 +160,10 @@ if (index->is_register()) { // apply the shift and accumulate the displacement if (shift > 0) { - LIR_Opr tmp = new_pointer_register(); - __ shift_left(index, shift, tmp); + // Use long register to avoid overflow when shifting large index values left. + LIR_Opr tmp = new_register(T_LONG); + __ convert(Bytecodes::_i2l, index, tmp); + __ shift_left(tmp, shift, tmp); index = tmp; } if (large_disp != 0) { diff -Nru openjdk-11-11.0.22+7/src/hotspot/cpu/x86/assembler_x86.hpp openjdk-11-11.0.23+9/src/hotspot/cpu/x86/assembler_x86.hpp --- openjdk-11-11.0.22+7/src/hotspot/cpu/x86/assembler_x86.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/cpu/x86/assembler_x86.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -346,7 +346,7 @@ } bool xmmindex_needs_rex() const { - return _xmmindex != xnoreg && _xmmindex->encoding() >= 8; + return _xmmindex != xnoreg && ((_xmmindex->encoding() & 8) == 8); } relocInfo::relocType reloc() const { return _rspec.type(); } diff -Nru openjdk-11-11.0.22+7/src/hotspot/os/aix/os_aix.cpp openjdk-11-11.0.23+9/src/hotspot/os/aix/os_aix.cpp --- openjdk-11-11.0.22+7/src/hotspot/os/aix/os_aix.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/os/aix/os_aix.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1184,14 +1184,6 @@ void os::abort(bool dump_core, void* siginfo, const void* context) { os::shutdown(); if (dump_core) { -#ifndef PRODUCT - fdStream out(defaultStream::output_fd()); - out.print_raw("Current thread is "); - char buf[16]; - jio_snprintf(buf, sizeof(buf), UINTX_FORMAT, os::current_thread_id()); - out.print_raw_cr(buf); - out.print_raw_cr("Dumping core ..."); -#endif ::abort(); // dump core } diff -Nru openjdk-11-11.0.22+7/src/hotspot/os/bsd/os_bsd.cpp openjdk-11-11.0.23+9/src/hotspot/os/bsd/os_bsd.cpp --- openjdk-11-11.0.22+7/src/hotspot/os/bsd/os_bsd.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/os/bsd/os_bsd.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1092,14 +1092,6 @@ void os::abort(bool dump_core, void* siginfo, const void* context) { os::shutdown(); if (dump_core) { -#ifndef PRODUCT - fdStream out(defaultStream::output_fd()); - out.print_raw("Current thread is "); - char buf[16]; - jio_snprintf(buf, sizeof(buf), UINTX_FORMAT, os::current_thread_id()); - out.print_raw_cr(buf); - out.print_raw_cr("Dumping core ..."); -#endif ::abort(); // dump core } diff -Nru openjdk-11-11.0.22+7/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp openjdk-11-11.0.23+9/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp --- openjdk-11-11.0.22+7/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -105,11 +105,11 @@ private: /* controllers */ - CachingCgroupController* _memory = NULL; - CgroupV1Controller* _cpuset = NULL; - CachingCgroupController* _cpu = NULL; - CgroupV1Controller* _cpuacct = NULL; - CgroupV1Controller* _pids = NULL; + CachingCgroupController* _memory; + CgroupV1Controller* _cpuset; + CachingCgroupController* _cpu; + CgroupV1Controller* _cpuacct; + CgroupV1Controller* _pids; char * pids_max_val(); diff -Nru openjdk-11-11.0.22+7/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp openjdk-11-11.0.23+9/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp --- openjdk-11-11.0.22+7/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -51,10 +51,10 @@ class CgroupV2Subsystem: public CgroupSubsystem { private: /* One unified controller */ - CgroupController* _unified = NULL; + CgroupController* _unified; /* Caching wrappers for cpu/memory metrics */ - CachingCgroupController* _memory = NULL; - CachingCgroupController* _cpu = NULL; + CachingCgroupController* _memory; + CachingCgroupController* _cpu; char *mem_limit_val(); char *mem_swp_limit_val(); diff -Nru openjdk-11-11.0.22+7/src/hotspot/os/linux/os_linux.cpp openjdk-11-11.0.23+9/src/hotspot/os/linux/os_linux.cpp --- openjdk-11-11.0.22+7/src/hotspot/os/linux/os_linux.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/os/linux/os_linux.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1648,14 +1648,6 @@ if (DumpPrivateMappingsInCore) { ClassLoader::close_jrt_image(); } -#ifndef PRODUCT - fdStream out(defaultStream::output_fd()); - out.print_raw("Current thread is "); - char buf[16]; - jio_snprintf(buf, sizeof(buf), UINTX_FORMAT, os::current_thread_id()); - out.print_raw_cr(buf); - out.print_raw_cr("Dumping core ..."); -#endif ::abort(); // dump core } diff -Nru openjdk-11-11.0.22+7/src/hotspot/os/solaris/os_solaris.cpp openjdk-11-11.0.23+9/src/hotspot/os/solaris/os_solaris.cpp --- openjdk-11-11.0.22+7/src/hotspot/os/solaris/os_solaris.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/os/solaris/os_solaris.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1332,14 +1332,6 @@ void os::abort(bool dump_core, void* siginfo, const void* context) { os::shutdown(); if (dump_core) { -#ifndef PRODUCT - fdStream out(defaultStream::output_fd()); - out.print_raw("Current thread is "); - char buf[16]; - jio_snprintf(buf, sizeof(buf), UINTX_FORMAT, os::current_thread_id()); - out.print_raw_cr(buf); - out.print_raw_cr("Dumping core ..."); -#endif ::abort(); // dump core (for debugging) } diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/adlc/output_c.cpp openjdk-11-11.0.23+9/src/hotspot/share/adlc/output_c.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/adlc/output_c.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/adlc/output_c.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -3040,6 +3040,9 @@ fprintf(fp_cpp, " if( i != cisc_operand() ) \n"); fprintf(fp_cpp, " to[i] = _opnds[i]->clone();\n"); fprintf(fp_cpp, " }\n"); + fprintf(fp_cpp, " // Do not increment node index counter, since node reuses my index\n"); + fprintf(fp_cpp, " Compile* C = Compile::current();\n"); + fprintf(fp_cpp, " C->set_unique(C->unique() - 1);\n"); fprintf(fp_cpp, "}\n"); } fprintf(fp_cpp, "\n"); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/classfile/javaClasses.cpp openjdk-11-11.0.23+9/src/hotspot/share/classfile/javaClasses.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/classfile/javaClasses.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/classfile/javaClasses.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1921,14 +1921,13 @@ } -// Return Symbol for detailed_message or NULL -Symbol* java_lang_Throwable::detail_message(oop throwable) { - PRESERVE_EXCEPTION_MARK; // Keep original exception - oop detailed_message = java_lang_Throwable::message(throwable); - if (detailed_message != NULL) { - return java_lang_String::as_symbol(detailed_message, THREAD); +const char* java_lang_Throwable::message_as_utf8(oop throwable) { + oop msg = java_lang_Throwable::message(throwable); + const char* msg_utf8 = NULL; + if (msg != NULL) { + msg_utf8 = java_lang_String::as_utf8_string(msg); } - return NULL; + return msg_utf8; } void java_lang_Throwable::set_message(oop throwable, oop value) { diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/classfile/javaClasses.hpp openjdk-11-11.0.23+9/src/hotspot/share/classfile/javaClasses.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/classfile/javaClasses.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/classfile/javaClasses.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -532,11 +532,11 @@ static void set_depth(oop throwable, int value); // Needed by JVMTI to filter out this internal field. static int get_backtrace_offset() { return backtrace_offset;} - static int get_detailMessage_offset() { return detailMessage_offset;} // Message + static int get_detailMessage_offset() { return detailMessage_offset;} static oop message(oop throwable); + static const char* message_as_utf8(oop throwable); static void set_message(oop throwable, oop value); - static Symbol* detail_message(oop throwable); static void print_stack_element(outputStream *st, const methodHandle& method, int bci); static void print_stack_usage(Handle stream); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/classfile/resolutionErrors.cpp openjdk-11-11.0.23+9/src/hotspot/share/classfile/resolutionErrors.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/classfile/resolutionErrors.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/classfile/resolutionErrors.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ // add new entry to the table void ResolutionErrorTable::add_entry(int index, unsigned int hash, const constantPoolHandle& pool, int cp_index, - Symbol* error, Symbol* message) + Symbol* error, const char* message) { assert_locked_or_safepoint(SystemDictionary_lock); assert(!pool.is_null() && error != NULL, "adding NULL obj"); @@ -64,16 +64,14 @@ _error->increment_refcount(); } -void ResolutionErrorEntry::set_message(Symbol* c) { - assert(c != NULL, "must set a value"); - _message = c; - _message->increment_refcount(); +void ResolutionErrorEntry::set_message(const char* c) { + _message = c != NULL ? os::strdup(c) : NULL; } // create new error entry ResolutionErrorEntry* ResolutionErrorTable::new_entry(int hash, ConstantPool* pool, int cp_index, Symbol* error, - Symbol* message) + const char* message) { ResolutionErrorEntry* entry = (ResolutionErrorEntry*)Hashtable::new_entry(hash, pool); entry->set_cp_index(cp_index); @@ -87,7 +85,9 @@ // decrement error refcount assert(entry->error() != NULL, "error should be set"); entry->error()->decrement_refcount(); - entry->message()->decrement_refcount(); + if (entry->message() != NULL) { + FREE_C_HEAP_ARRAY(char, entry->message()); + } Hashtable::free_entry(entry); } diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/classfile/resolutionErrors.hpp openjdk-11-11.0.23+9/src/hotspot/share/classfile/resolutionErrors.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/classfile/resolutionErrors.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/classfile/resolutionErrors.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -45,7 +45,7 @@ ResolutionErrorTable(int table_size); ResolutionErrorEntry* new_entry(int hash, ConstantPool* pool, int cp_index, - Symbol* error, Symbol* message); + Symbol* error, const char* message); void free_entry(ResolutionErrorEntry *entry); ResolutionErrorEntry* bucket(int i) { @@ -62,7 +62,7 @@ } void add_entry(int index, unsigned int hash, - const constantPoolHandle& pool, int which, Symbol* error, Symbol* message); + const constantPoolHandle& pool, int cp_index, Symbol* error, const char* error_msg); // find error given the constant pool and constant pool index @@ -94,7 +94,7 @@ private: int _cp_index; Symbol* _error; - Symbol* _message; + const char* _message; public: ConstantPool* pool() const { return literal(); } @@ -105,8 +105,9 @@ Symbol* error() const { return _error; } void set_error(Symbol* e); - Symbol* message() const { return _message; } - void set_message(Symbol* c); + const char* message() const { return _message; } + // The incoming message is copied to the C-Heap. + void set_message(const char* c); ResolutionErrorEntry* next() const { return (ResolutionErrorEntry*)HashtableEntry::next(); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/classfile/systemDictionary.cpp openjdk-11-11.0.23+9/src/hotspot/share/classfile/systemDictionary.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/classfile/systemDictionary.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/classfile/systemDictionary.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -2290,7 +2290,7 @@ // Add entry to resolution error table to record the error when the first // attempt to resolve a reference to a class has failed. void SystemDictionary::add_resolution_error(const constantPoolHandle& pool, int which, - Symbol* error, Symbol* message) { + Symbol* error, const char* message) { unsigned int hash = resolution_errors()->compute_hash(pool, which); int index = resolution_errors()->hash_to_index(hash); { @@ -2306,7 +2306,7 @@ // Lookup resolution error table. Returns error if found, otherwise NULL. Symbol* SystemDictionary::find_resolution_error(const constantPoolHandle& pool, int which, - Symbol** message) { + const char** message) { unsigned int hash = resolution_errors()->compute_hash(pool, which); int index = resolution_errors()->hash_to_index(hash); { diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/classfile/systemDictionary.hpp openjdk-11-11.0.23+9/src/hotspot/share/classfile/systemDictionary.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/classfile/systemDictionary.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/classfile/systemDictionary.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -579,10 +579,10 @@ // Record the error when the first attempt to resolve a reference from a constant // pool entry to a class fails. static void add_resolution_error(const constantPoolHandle& pool, int which, Symbol* error, - Symbol* message); + const char* message); static void delete_resolution_error(ConstantPool* pool); static Symbol* find_resolution_error(const constantPoolHandle& pool, int which, - Symbol** message); + const char** message); static ProtectionDomainCacheEntry* cache_get(Handle protection_domain); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/code/nmethod.cpp openjdk-11-11.0.23+9/src/hotspot/share/code/nmethod.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/code/nmethod.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/code/nmethod.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1862,7 +1862,11 @@ if (match_desc(upper, pc_offset, approximate)) { assert(upper == linear_search(search, pc_offset, approximate), "search ok"); - _pc_desc_cache.add_pc_desc(upper); + if (!Thread::current_in_asgct()) { + // we don't want to modify the cache if we're in ASGCT + // which is typically called in a signal handler + _pc_desc_cache.add_pc_desc(upper); + } return upper; } else { assert(NULL == linear_search(search, pc_offset, approximate), "search ok"); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp openjdk-11-11.0.23+9/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -232,14 +232,19 @@ char* volatile _cur_addr; char* const _start_addr; char* const _end_addr; - size_t const _page_size; + size_t _page_size; public: G1PretouchTask(char* start_address, char* end_address, size_t page_size) : AbstractGangTask("G1 PreTouch"), _cur_addr(start_address), _start_addr(start_address), _end_addr(end_address), - _page_size(page_size) { + _page_size(0) { +#ifdef LINUX + _page_size = UseTransparentHugePages ? (size_t)os::vm_page_size(): page_size; +#else + _page_size = page_size; +#endif } virtual void work(uint worker_id) { diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/gc/serial/defNewGeneration.cpp openjdk-11-11.0.23+9/src/hotspot/share/gc/serial/defNewGeneration.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/gc/serial/defNewGeneration.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/gc/serial/defNewGeneration.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -887,10 +887,6 @@ } else if (seen_incremental_collection_failed) { log_trace(gc)("DefNewEpilogue: cause(%s), not full, seen_failed, will_clear_seen_failed", GCCause::to_string(gch->gc_cause())); - assert(gch->gc_cause() == GCCause::_scavenge_alot || - (GCCause::is_user_requested_gc(gch->gc_cause()) && UseConcMarkSweepGC && ExplicitGCInvokesConcurrent) || - !gch->incremental_collection_failed(), - "Twice in a row"); seen_incremental_collection_failed = false; } #endif // ASSERT diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/include/jmm.h openjdk-11-11.0.23+9/src/hotspot/share/include/jmm.h --- openjdk-11-11.0.22+7/src/hotspot/share/include/jmm.h 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/include/jmm.h 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -314,7 +314,8 @@ void (JNICALL *SetVMGlobal) (JNIEnv *env, jstring flag_name, jvalue new_value); - void* reserved6; + jlong (JNICALL *GetTotalThreadAllocatedMemory) + (JNIEnv *env); jobjectArray (JNICALL *DumpThreads) (JNIEnv *env, jlongArray ids, jboolean lockedMonitors, diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/jfr/metadata/metadata.xml openjdk-11-11.0.23+9/src/hotspot/share/jfr/metadata/metadata.xml --- openjdk-11-11.0.22+7/src/hotspot/share/jfr/metadata/metadata.xml 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/jfr/metadata/metadata.xml 2024-04-08 05:38:38.000000000 +0000 @@ -724,10 +724,11 @@ - + - + + Copyright (c) 2012-2014 Daniel J. Bernstein + To the extent possible under law, the author(s) have dedicated all copyright + and related and neighboring rights to this software to the public domain + worldwide. This software is distributed without any warranty. + You should have received a copy of the CC0 Public Domain Dedication along + with + this software. If not, see + . +``` + +### Licenses +The code is dual-licensed CCO and MIT + +#### MIT License +``` +Copyright 2012-2024 JP Aumasson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +#### CC0 1.0 Universal +``` +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific +works ("Commons") that the public can reliably and without fear of later +claims of infringement build upon, modify, incorporate in other works, reuse +and redistribute as freely as possible in any form whatsoever and for any +purposes, including without limitation commercial purposes. These owners may +contribute to the Commons to promote the ideal of a free culture and the +further production of creative, cultural and scientific works, or to gain +reputation or greater distribution for their Work in part through the use and +efforts of others. + +For these and/or other purposes and motivations, and without any expectation +of additional consideration or compensation, the person associating CC0 with a +Work (the "Affirmer"), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work +and publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not limited +to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, communicate, + and translate a Work; + + ii. moral rights retained by the original author(s) and/or performer(s); + + iii. publicity and privacy rights pertaining to a person's image or likeness + depicted in a Work; + + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + + v. rights protecting the extraction, dissemination, use and reuse of data in + a Work; + + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + + vii. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer's Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time +extensions), (iii) in any current or future medium and for any number of +copies, and (iv) for any purpose whatsoever, including without limitation +commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes +the Waiver for the benefit of each member of the public at large and to the +detriment of Affirmer's heirs and successors, fully intending that such Waiver +shall not be subject to revocation, rescission, cancellation, termination, or +any other legal or equitable action to disrupt the quiet enjoyment of the Work +by the public as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account +Affirmer's express Statement of Purpose. In addition, to the extent the Waiver +is so judged Affirmer hereby grants to each affected person a royalty-free, +non transferable, non sublicensable, non exclusive, irrevocable and +unconditional license to exercise Affirmer's Copyright and Related Rights in +the Work (i) in all territories worldwide, (ii) for the maximum duration +provided by applicable law or treaty (including future time extensions), (iii) +in any current or future medium and for any number of copies, and (iv) for any +purpose whatsoever, including without limitation commercial, advertising or +promotional purposes (the "License"). The License shall be deemed effective as +of the date CC0 was applied by Affirmer to the Work. Should any part of the +License for any reason be judged legally invalid or ineffective under +applicable law, such partial invalidity or ineffectiveness shall not +invalidate the remainder of the License, and in such case Affirmer hereby +affirms that he or she will not (i) exercise any of his or her remaining +Copyright and Related Rights in the Work or (ii) assert any associated claims +and causes of action with respect to the Work, in either case contrary to +Affirmer's express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + + b. Affirmer offers the Work as-is and makes no representations or warranties + of any kind concerning the Work, express, implied, statutory or otherwise, + including without limitation warranties of title, merchantability, fitness + for a particular purpose, non infringement, or the absence of latent or + other defects, accuracy, or the present or absence of errors, whether or not + discoverable, all to the greatest extent permissible under applicable law. + + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without limitation + any person's Copyright and Related Rights in the Work. Further, Affirmer + disclaims responsibility for obtaining any necessary consents, permissions + or other rights required for any use of the Work. + + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to this + CC0 or use of the Work. + +For more information, please see + + +``` diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/constantPool.cpp openjdk-11-11.0.23+9/src/hotspot/share/oops/constantPool.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/constantPool.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/constantPool.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -734,13 +734,16 @@ } } -Symbol* ConstantPool::exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception) { +const char* ConstantPool::exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception) { + // Note: caller needs ResourceMark + // Dig out the detailed message to reuse if possible - Symbol* message = java_lang_Throwable::detail_message(pending_exception); - if (message != NULL) { - return message; + const char* msg = java_lang_Throwable::message_as_utf8(pending_exception); + if (msg != NULL) { + return msg; } + Symbol* message = NULL; // Return specific message for the tag switch (tag.value()) { case JVM_CONSTANT_UnresolvedClass: @@ -763,16 +766,16 @@ ShouldNotReachHere(); } - return message; + return message != NULL ? message->as_C_string() : NULL; } void ConstantPool::throw_resolution_error(const constantPoolHandle& this_cp, int which, TRAPS) { - Symbol* message = NULL; + ResourceMark rm(THREAD); + const char* message = NULL; Symbol* error = SystemDictionary::find_resolution_error(this_cp, which, &message); assert(error != NULL && message != NULL, "checking"); CLEAR_PENDING_EXCEPTION; - ResourceMark rm; - THROW_MSG(error, message->as_C_string()); + THROW_MSG(error, message); } // If resolution for Class, Dynamic constant, MethodHandle or MethodType fails, save the @@ -790,7 +793,9 @@ // and OutOfMemoryError, etc, or if the thread was hit by stop() // Needs clarification to section 5.4.3 of the VM spec (see 6308271) } else if (this_cp->tag_at(which).value() != error_tag) { - Symbol* message = exception_message(this_cp, which, tag, PENDING_EXCEPTION); + ResourceMark rm(THREAD); + + const char* message = exception_message(this_cp, which, tag, PENDING_EXCEPTION); SystemDictionary::add_resolution_error(this_cp, which, error, message); // CAS in the tag. If a thread beat us to registering this error that's fine. // If another thread resolved the reference, this is a race condition. This diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/constantPool.hpp openjdk-11-11.0.23+9/src/hotspot/share/oops/constantPool.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/constantPool.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/constantPool.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -878,7 +878,7 @@ bool must_resolve, Handle if_not_available, TRAPS); // Exception handling - static Symbol* exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception); + static const char* exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception); static void save_and_throw_exception(const constantPoolHandle& this_cp, int which, constantTag tag, TRAPS); public: diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/cpCache.cpp openjdk-11-11.0.23+9/src/hotspot/share/oops/cpCache.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/cpCache.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/cpCache.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -484,9 +484,9 @@ CLEAR_PENDING_EXCEPTION; return false; } - + ResourceMark rm(THREAD); Symbol* error = PENDING_EXCEPTION->klass()->name(); - Symbol* message = java_lang_Throwable::detail_message(PENDING_EXCEPTION); + const char* message = java_lang_Throwable::message_as_utf8(PENDING_EXCEPTION); assert(message != NULL, "Missing detail message"); SystemDictionary::add_resolution_error(cpool, index, error, message); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/instanceKlass.cpp openjdk-11-11.0.23+9/src/hotspot/share/oops/instanceKlass.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/instanceKlass.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/instanceKlass.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -3728,6 +3728,23 @@ return ret; } +// This nulls out jmethodIDs for all methods in 'klass' +// It needs to be called explicitly for all previous versions of a class because these may not be cleaned up +// during class unloading. +// We can not use the jmethodID cache associated with klass directly because the 'previous' versions +// do not have the jmethodID cache filled in. Instead, we need to lookup jmethodID for each method and this +// is expensive - O(n) for one jmethodID lookup. For all contained methods it is O(n^2). +// The reason for expensive jmethodID lookup for each method is that there is no direct link between method and jmethodID. +void InstanceKlass::clear_jmethod_ids(InstanceKlass* klass) { + Array* method_refs = klass->methods(); + for (int k = 0; k < method_refs->length(); k++) { + Method* method = method_refs->at(k); + if (method != NULL && method->is_obsolete()) { + method->clear_jmethod_id(); + } + } +} + // Purge previous versions before adding new previous versions of the class and // during class unloading. void InstanceKlass::purge_previous_version_list() { @@ -3773,6 +3790,7 @@ // Unlink from previous version list. assert(pv_node->class_loader_data() == loader_data, "wrong loader_data"); InstanceKlass* next = pv_node->previous_versions(); + clear_jmethod_ids(pv_node); // jmethodID maintenance for the unloaded class pv_node->link_previous_versions(NULL); // point next to NULL last->link_previous_versions(next); // Add to the deallocate list after unlinking diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/instanceKlass.hpp openjdk-11-11.0.23+9/src/hotspot/share/oops/instanceKlass.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/instanceKlass.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/instanceKlass.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -1270,6 +1270,8 @@ bool idnum_can_increment() const { return has_been_redefined(); } inline jmethodID* methods_jmethod_ids_acquire() const; inline void release_set_methods_jmethod_ids(jmethodID* jmeths); + // This nulls out jmethodIDs for all methods in 'klass' + static void clear_jmethod_ids(InstanceKlass* klass); // Lock during initialization public: diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/method.cpp openjdk-11-11.0.23+9/src/hotspot/share/oops/method.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/method.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/method.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -2214,6 +2214,20 @@ loader_data->jmethod_ids()->clear_all_methods(); } +void Method::clear_jmethod_id() { + // Being at a safepoint prevents racing against other class redefinitions + assert(SafepointSynchronize::is_at_safepoint(), "should be at safepoint"); + // The jmethodID is not stored in the Method instance, we need to look it up first + jmethodID methodid = find_jmethod_id_or_null(); + // We need to make sure that jmethodID actually resolves to this method + // - multiple redefined versions may share jmethodID slots and if a method + // has already been rewired to a newer version we could be removing reference + // to a still existing method instance + if (methodid != NULL && *((Method**)methodid) == this) { + *((Method**)methodid) = NULL; + } +} + bool Method::has_method_vptr(const void* ptr) { Method m; // This assumes that the vtbl pointer is the first word of a C++ object. diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/method.hpp openjdk-11-11.0.23+9/src/hotspot/share/oops/method.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/method.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/method.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -825,6 +825,7 @@ // Clear methods static void clear_jmethod_ids(ClassLoaderData* loader_data); + void clear_jmethod_id(); static void print_jmethod_ids(const ClassLoaderData* loader_data, outputStream* out) PRODUCT_RETURN; // Get this method's jmethodID -- allocate if it doesn't exist diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/symbol.cpp openjdk-11-11.0.23+9/src/hotspot/share/oops/symbol.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/symbol.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/symbol.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -40,9 +40,13 @@ _refcount = refcount; _length = length; _identity_hash = (short)os::random(); - for (int i = 0; i < _length; i++) { - byte_at_put(i, name[i]); - } + // _body[0..1] are allocated in the header just by coincidence in the current + // implementation of Symbol. They are read by identity_hash(), so make sure they + // are initialized. + // No other code should assume that _body[0..1] are always allocated. E.g., do + // not unconditionally read base()[0] as that will be invalid for an empty Symbol. + _body[0] = _body[1] = 0; + memcpy(_body, name, length); } void* Symbol::operator new(size_t sz, int len, TRAPS) throw() { diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/oops/symbol.hpp openjdk-11-11.0.23+9/src/hotspot/share/oops/symbol.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/oops/symbol.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/oops/symbol.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -128,11 +128,6 @@ return (int)heap_word_size(byte_size(length)); } - void byte_at_put(int index, int value) { - assert(index >=0 && index < _length, "symbol index overflow"); - _body[index] = value; - } - Symbol(const u1* name, int length, int refcount); void* operator new(size_t size, int len, TRAPS) throw(); void* operator new(size_t size, int len, Arena* arena, TRAPS) throw(); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/opto/loopPredicate.cpp openjdk-11-11.0.23+9/src/hotspot/share/opto/loopPredicate.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/opto/loopPredicate.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/opto/loopPredicate.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -607,7 +607,8 @@ // Returns true if the predicate of iff is in "scale*iv + offset u< load_range(ptr)" format // Note: this function is particularly designed for loop predication. We require load_range // and offset to be loop invariant computed on the fly by "invar" -bool IdealLoopTree::is_range_check_if(IfNode *iff, PhaseIdealLoop *phase, Invariance& invar DEBUG_ONLY(COMMA ProjNode *predicate_proj)) const { +bool IdealLoopTree::is_range_check_if(IfProjNode *if_success_proj, PhaseIdealLoop *phase, Invariance& invar DEBUG_ONLY(COMMA ProjNode *predicate_proj)) const { + IfNode* iff = if_success_proj->in(0)->as_If(); if (!is_loop_exit(iff)) { return false; } @@ -615,7 +616,43 @@ return false; } const BoolNode *bol = iff->in(1)->as_Bool(); - if (bol->_test._test != BoolTest::lt) { + if (bol->_test._test != BoolTest::lt || if_success_proj->is_IfFalse()) { + // We don't have the required range check pattern: + // if (scale*iv + offset =u limit) { + // + // } else { + // trap(); + // } + // + // If we create a Hoisted Range Check Predicate for this wrong pattern, it could succeed at runtime (i.e. true + // for the value of "scale*iv + offset" in the first loop iteration and true for the value of "scale*iv + offset" + // in the last loop iteration) while the check to be hoisted could fail in other loop iterations. + // + // Example: + // Loop: "for (int i = -1; i < 1000; i++)" + // init = "scale*iv + offset" in the first loop iteration = 1*-1 + 0 = -1 + // last = "scale*iv + offset" in the last loop iteration = 1*999 + 0 = 999 + // limit = 100 + // + // Hoisted Range Check Predicate is always true: + // init >=u limit && last >=u limit <=> + // -1 >=u 100 && 999 >= u 100 + // + // But for 0 <= x < 100: x >=u 100 is false. + // We would wrongly skip the branch with the trap() and possibly miss to execute some other statements inside that + // trap() branch. return false; } if (!bol->in(1)->is_Cmp()) { @@ -695,10 +732,8 @@ // max(scale*i + offset) = scale*(limit-stride) + offset // (2) stride*scale < 0 // max(scale*i + offset) = scale*init + offset -BoolNode* PhaseIdealLoop::rc_predicate(IdealLoopTree *loop, Node* ctrl, - int scale, Node* offset, - Node* init, Node* limit, jint stride, - Node* range, bool upper, bool &overflow, bool negate) { +BoolNode* PhaseIdealLoop::rc_predicate(IdealLoopTree* loop, Node* ctrl, int scale, Node* offset, Node* init, + Node* limit, jint stride, Node* range, bool upper, bool& overflow) { jint con_limit = (limit != NULL && limit->is_Con()) ? limit->get_int() : 0; jint con_init = init->is_Con() ? init->get_int() : 0; jint con_offset = offset->is_Con() ? offset->get_int() : 0; @@ -824,7 +859,7 @@ cmp = new CmpUNode(max_idx_expr, range); } register_new_node(cmp, ctrl); - BoolNode* bol = new BoolNode(cmp, negate ? BoolTest::ge : BoolTest::lt); + BoolNode* bol = new BoolNode(cmp, BoolTest::lt); register_new_node(bol, ctrl); if (TraceLoopPredicate) { @@ -1118,12 +1153,14 @@ } -bool PhaseIdealLoop::loop_predication_impl_helper(IdealLoopTree *loop, ProjNode* proj, ProjNode *predicate_proj, +bool PhaseIdealLoop::loop_predication_impl_helper(IdealLoopTree *loop, ProjNode* success_proj, ProjNode *predicate_proj, CountedLoopNode *cl, ConNode* zero, Invariance& invar, Deoptimization::DeoptReason reason) { // Following are changed to nonnull when a predicate can be hoisted ProjNode* new_predicate_proj = NULL; - IfNode* iff = proj->in(0)->as_If(); + assert(success_proj->is_IfProj(), "Expectiong IfProj. Else predecessor might not be an iff."); + IfProjNode* if_success_proj = success_proj->as_IfProj(); + IfNode* iff = if_success_proj->in(0)->as_If(); Node* test = iff->in(1); if (!test->is_Bool()){ //Conv2B, ... return false; @@ -1139,7 +1176,7 @@ // Negate test if necessary bool negated = false; - if (proj->_con != predicate_proj->_con) { + if (if_success_proj->_con != predicate_proj->_con) { new_predicate_bol = new BoolNode(new_predicate_bol->in(1), new_predicate_bol->_test.negate()); register_new_node(new_predicate_bol, ctrl); negated = true; @@ -1156,8 +1193,9 @@ loop->dump_head(); } #endif - } else if (cl != NULL && loop->is_range_check_if(iff, this, invar DEBUG_ONLY(COMMA predicate_proj))) { + } else if (cl != NULL && loop->is_range_check_if(if_success_proj, this, invar DEBUG_ONLY(COMMA predicate_proj))) { // Range check for counted loops + assert(if_success_proj->is_IfTrue(), "trap must be on false projection for a range check"); const Node* cmp = bol->in(1)->as_Cmp(); Node* idx = cmp->in(1); assert(!invar.is_invariant(idx), "index is variant"); @@ -1191,34 +1229,32 @@ } // If predicate expressions may overflow in the integer range, longs are used. bool overflow = false; - bool negate = (proj->_con != predicate_proj->_con); // Test the lower bound - BoolNode* lower_bound_bol = rc_predicate(loop, ctrl, scale, offset, init, limit, stride, rng, false, overflow, negate); + BoolNode* lower_bound_bol = rc_predicate(loop, ctrl, scale, offset, init, limit, stride, rng, false, overflow); ProjNode* lower_bound_proj = create_new_if_for_predicate(predicate_proj, NULL, reason, overflow ? Op_If : iff->Opcode()); IfNode* lower_bound_iff = lower_bound_proj->in(0)->as_If(); _igvn.hash_delete(lower_bound_iff); lower_bound_iff->set_req(1, lower_bound_bol); - if (TraceLoopPredicate) tty->print_cr("lower bound check if: %s %d ", negate ? " negated" : "", lower_bound_iff->_idx); + if (TraceLoopPredicate) tty->print_cr("lower bound check if: %d ", lower_bound_iff->_idx); // Test the upper bound - BoolNode* upper_bound_bol = rc_predicate(loop, lower_bound_proj, scale, offset, init, limit, stride, rng, true, overflow, negate); + BoolNode* upper_bound_bol = rc_predicate(loop, lower_bound_proj, scale, offset, init, limit, stride, rng, true, + overflow); ProjNode* upper_bound_proj = create_new_if_for_predicate(predicate_proj, NULL, reason, overflow ? Op_If : iff->Opcode()); assert(upper_bound_proj->in(0)->as_If()->in(0) == lower_bound_proj, "should dominate"); IfNode* upper_bound_iff = upper_bound_proj->in(0)->as_If(); _igvn.hash_delete(upper_bound_iff); upper_bound_iff->set_req(1, upper_bound_bol); - if (TraceLoopPredicate) tty->print_cr("upper bound check if: %s %d ", negate ? " negated" : "", lower_bound_iff->_idx); + if (TraceLoopPredicate) tty->print_cr("upper bound check if: %d ", lower_bound_iff->_idx); - // Fall through into rest of the clean up code which will move - // any dependent nodes onto the upper bound test. - new_predicate_proj = upper_bound_proj; - - if (iff->is_RangeCheck()) { - new_predicate_proj = insert_initial_skeleton_predicate(iff, loop, proj, predicate_proj, upper_bound_proj, scale, offset, init, limit, stride, rng, overflow, reason); - } + // Fall through into rest of the cleanup code which will move any dependent nodes to the skeleton predicates of the + // upper bound test. We always need to create skeleton predicates in order to properly remove dead loops when later + // splitting the predicated loop into (unreachable) sub-loops (i.e. done by unrolling, peeling, pre/main/post etc.). + new_predicate_proj = insert_initial_skeleton_predicate(iff, loop, if_success_proj, predicate_proj, upper_bound_proj, scale, + offset, init, limit, stride, rng, overflow, reason); #ifndef PRODUCT if (TraceLoopOpts && !TraceLoopPredicate) { @@ -1233,10 +1269,10 @@ } assert(new_predicate_proj != NULL, "sanity"); // Success - attach condition (new_predicate_bol) to predicate if - invar.map_ctrl(proj, new_predicate_proj); // so that invariance test can be appropriate + invar.map_ctrl(if_success_proj, new_predicate_proj); // so that invariance test can be appropriate // Eliminate the old If in the loop body - dominated_by( new_predicate_proj, iff, proj->_con != new_predicate_proj->_con ); + dominated_by( new_predicate_proj, iff, if_success_proj->_con != new_predicate_proj->_con ); C->set_major_progress(); return true; @@ -1259,7 +1295,8 @@ Node* opaque_init = new OpaqueLoopInitNode(C, init); register_new_node(opaque_init, upper_bound_proj); bool negate = (proj->_con != predicate_proj->_con); - BoolNode* bol = rc_predicate(loop, upper_bound_proj, scale, offset, opaque_init, limit, stride, rng, (stride > 0) != (scale > 0), overflow, negate); + BoolNode* bol = rc_predicate(loop, upper_bound_proj, scale, offset, opaque_init, limit, stride, rng, + (stride > 0) != (scale > 0), overflow); Node* opaque_bol = new Opaque4Node(C, bol, _igvn.intcon(1)); // This will go away once loop opts are over register_new_node(opaque_bol, upper_bound_proj); ProjNode* new_proj = create_new_if_for_predicate(predicate_proj, NULL, reason, overflow ? Op_If : iff->Opcode()); @@ -1276,7 +1313,8 @@ register_new_node(max_value, new_proj); max_value = new AddINode(opaque_init, max_value); register_new_node(max_value, new_proj); - bol = rc_predicate(loop, new_proj, scale, offset, max_value, limit, stride, rng, (stride > 0) != (scale > 0), overflow, negate); + bol = rc_predicate(loop, new_proj, scale, offset, max_value, limit, stride, rng, (stride > 0) != (scale > 0), + overflow); opaque_bol = new Opaque4Node(C, bol, _igvn.intcon(1)); register_new_node(opaque_bol, new_proj); new_proj = create_new_if_for_predicate(predicate_proj, NULL, reason, overflow ? Op_If : iff->Opcode()); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/opto/loopTransform.cpp openjdk-11-11.0.23+9/src/hotspot/share/opto/loopTransform.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/opto/loopTransform.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/opto/loopTransform.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -2514,7 +2514,7 @@ Node* predicate_proj, int scale_con, Node* offset, Node* limit, jint stride_con, Node* value) { bool overflow = false; - BoolNode* bol = rc_predicate(loop, predicate_proj, scale_con, offset, value, NULL, stride_con, limit, (stride_con > 0) != (scale_con > 0), overflow, false); + BoolNode* bol = rc_predicate(loop, predicate_proj, scale_con, offset, value, NULL, stride_con, limit, (stride_con > 0) != (scale_con > 0), overflow); Node* opaque_bol = new Opaque4Node(C, bol, _igvn.intcon(1)); register_new_node(opaque_bol, predicate_proj); IfNode* new_iff = NULL; diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/opto/loopnode.cpp openjdk-11-11.0.23+9/src/hotspot/share/opto/loopnode.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/opto/loopnode.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/opto/loopnode.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -3228,6 +3228,7 @@ NOT_PRODUCT( C->verify_graph_edges(); ) worklist.push( C->top() ); build_loop_late( visited, worklist, nstack ); + if (C->failing()) { return; } if (_verify_only) { // restore major progress flag @@ -4507,6 +4508,7 @@ } else { // All of n's children have been processed, complete post-processing. build_loop_late_post(n); + if (C->failing()) { return; } if (nstack.is_empty()) { // Finished all nodes on stack. // Process next node on the worklist. @@ -4656,13 +4658,15 @@ Node *legal = LCA; // Walk 'legal' up the IDOM chain Node *least = legal; // Best legal position so far while( early != legal ) { // While not at earliest legal -#ifdef ASSERT if (legal->is_Start() && !early->is_Root()) { +#ifdef ASSERT // Bad graph. Print idom path and fail. dump_bad_graph("Bad graph detected in build_loop_late", n, early, LCA); assert(false, "Bad graph detected in build_loop_late"); - } #endif + C->record_method_not_compilable("Bad graph detected in build_loop_late"); + return; + } // Find least loop nesting depth legal = idom(legal); // Bump up the IDOM tree // Check for lower nesting depth diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/opto/loopnode.hpp openjdk-11-11.0.23+9/src/hotspot/share/opto/loopnode.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/opto/loopnode.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/opto/loopnode.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -622,7 +622,9 @@ bool policy_align( PhaseIdealLoop *phase ) const; // Return TRUE if "iff" is a range check. - bool is_range_check_if(IfNode *iff, PhaseIdealLoop *phase, Invariance& invar DEBUG_ONLY(COMMA ProjNode *predicate_proj)) const; + bool is_range_check_if(IfProjNode* if_success_proj, PhaseIdealLoop *phase, Invariance& invar DEBUG_ONLY(COMMA ProjNode *predicate_proj)) const; + // GLGL bool is_range_check_if(IfProjNode* if_success_proj, PhaseIdealLoop* phase, BasicType bt, Node* iv, Node*& range, Node*& offset, + // GLGL jlong& scale) const; // Estimate the number of nodes required when cloning a loop (body). uint est_loop_clone_sz(uint factor) const; @@ -1149,15 +1151,12 @@ // Find a predicate static Node* find_predicate(Node* entry); // Construct a range check for a predicate if - BoolNode* rc_predicate(IdealLoopTree *loop, Node* ctrl, - int scale, Node* offset, - Node* init, Node* limit, jint stride, - Node* range, bool upper, bool &overflow, - bool negate); + BoolNode* rc_predicate(IdealLoopTree *loop, Node* ctrl, int scale, Node* offset,Node* init, Node* limit, + jint stride, Node* range, bool upper, bool &overflow/* GLGL, bool negate*/); // Implementation of the loop predication to promote checks outside the loop bool loop_predication_impl(IdealLoopTree *loop); - bool loop_predication_impl_helper(IdealLoopTree *loop, ProjNode* proj, ProjNode *predicate_proj, + bool loop_predication_impl_helper(IdealLoopTree *loop, ProjNode* if_success_proj, ProjNode *predicate_proj, CountedLoopNode *cl, ConNode* zero, Invariance& invar, Deoptimization::DeoptReason reason); bool loop_predication_should_follow_branches(IdealLoopTree *loop, ProjNode *predicate_proj, float& loop_trip_cnt); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/prims/forte.cpp openjdk-11-11.0.23+9/src/hotspot/share/prims/forte.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/prims/forte.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/prims/forte.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -554,8 +554,9 @@ return; } - // !important! make sure all to call thread->set_in_asgct(false) before every return - thread->set_in_asgct(true); + + // signify to other code in the VM that we're in ASGCT + ThreadInAsgct tia(thread); switch (thread->thread_state()) { case _thread_new: @@ -614,7 +615,6 @@ trace->num_frames = ticks_unknown_state; // -7 break; } - thread->set_in_asgct(false); } diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/prims/jni.cpp openjdk-11-11.0.23+9/src/hotspot/share/prims/jni.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/prims/jni.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/prims/jni.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1168,6 +1168,11 @@ } } + if (selected_method->is_abstract()) { + ResourceMark rm(THREAD); + THROW_MSG(vmSymbols::java_lang_AbstractMethodError(), selected_method->name()->as_C_string()); + } + methodHandle method(THREAD, selected_method); // Create object to hold arguments for the JavaCall, and associate it with diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/prims/whitebox.cpp openjdk-11-11.0.23+9/src/hotspot/share/prims/whitebox.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/prims/whitebox.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/prims/whitebox.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -949,7 +949,11 @@ WB_ENTRY(jboolean, WB_EnqueueInitializerForCompilation(JNIEnv* env, jobject o, jclass klass, jint comp_level)) InstanceKlass* ik = InstanceKlass::cast(java_lang_Class::as_Klass(JNIHandles::resolve(klass))); - return WhiteBox::compile_method(ik->class_initializer(), comp_level, InvocationEntryBci, THREAD); + Method* clinit = ik->class_initializer(); + if (clinit == NULL) { + return false; + } + return WhiteBox::compile_method(clinit, comp_level, InvocationEntryBci, THREAD); WB_END WB_ENTRY(jboolean, WB_ShouldPrintAssembly(JNIEnv* env, jobject o, jobject method, jint comp_level)) @@ -2090,6 +2094,18 @@ return info_string; WB_END +class VM_WhiteBoxCleanMetaspaces : public VM_WhiteBoxOperation { + public: + void doit() { + ClassLoaderDataGraph::do_unloading(true); + } +}; + +WB_ENTRY(void, WB_CleanMetaspaces(JNIEnv* env, jobject target)) + VM_WhiteBoxCleanMetaspaces op; + VMThread::execute(&op); +WB_END + #define CC (char*) static JNINativeMethod methods[] = { @@ -2324,6 +2340,7 @@ {CC"disableElfSectionCache", CC"()V", (void*)&WB_DisableElfSectionCache }, {CC"aotLibrariesCount", CC"()I", (void*)&WB_AotLibrariesCount }, {CC"getLibcName", CC"()Ljava/lang/String;", (void*)&WB_GetLibcName}, + {CC"cleanMetaspaces", CC"()V", (void*)&WB_CleanMetaspaces}, }; diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/runtime/abstract_vm_version.cpp openjdk-11-11.0.23+9/src/hotspot/share/runtime/abstract_vm_version.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/runtime/abstract_vm_version.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/runtime/abstract_vm_version.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -259,6 +259,16 @@ #define HOTSPOT_BUILD_COMPILER "MS VC++ 17.2 (VS2022)" #elif _MSC_VER == 1933 #define HOTSPOT_BUILD_COMPILER "MS VC++ 17.3 (VS2022)" + #elif _MSC_VER == 1934 + #define HOTSPOT_BUILD_COMPILER "MS VC++ 17.4 (VS2022)" + #elif _MSC_VER == 1935 + #define HOTSPOT_BUILD_COMPILER "MS VC++ 17.5 (VS2022)" + #elif _MSC_VER == 1936 + #define HOTSPOT_BUILD_COMPILER "MS VC++ 17.6 (VS2022)" + #elif _MSC_VER == 1937 + #define HOTSPOT_BUILD_COMPILER "MS VC++ 17.7 (VS2022)" + #elif _MSC_VER == 1938 + #define HOTSPOT_BUILD_COMPILER "MS VC++ 17.8 (VS2022)" #else #define HOTSPOT_BUILD_COMPILER "unknown MS VC++:" XSTR(_MSC_VER) #endif diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/runtime/mutexLocker.cpp openjdk-11-11.0.23+9/src/hotspot/share/runtime/mutexLocker.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/runtime/mutexLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/runtime/mutexLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -88,6 +88,7 @@ Mutex* Shared_DirtyCardQ_lock = NULL; Mutex* MarkStackFreeList_lock = NULL; Mutex* MarkStackChunkList_lock = NULL; +Mutex* MonitoringSupport_lock = NULL; Mutex* ParGCRareEvent_lock = NULL; Mutex* DerivedPointerTableGC_lock = NULL; Monitor* CGCPhaseManager_lock = NULL; @@ -225,6 +226,8 @@ def(MarkStackFreeList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); def(MarkStackChunkList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); } + def(MonitoringSupport_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); // used for serviceability monitoring support + #if INCLUDE_SHENANDOAHGC if (UseShenandoahGC) { def(SATB_Q_FL_lock , PaddedMutex , access, true, Monitor::_safepoint_check_never); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/runtime/mutexLocker.hpp openjdk-11-11.0.23+9/src/hotspot/share/runtime/mutexLocker.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/runtime/mutexLocker.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/runtime/mutexLocker.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -94,6 +94,7 @@ // non-Java threads. extern Mutex* MarkStackFreeList_lock; // Protects access to the global mark stack free list. extern Mutex* MarkStackChunkList_lock; // Protects access to the global mark stack chunk list. +extern Mutex* MonitoringSupport_lock; // Protects updates to the serviceability memory pools and allocated memory high water mark. extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops. extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc) extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/runtime/thread.cpp openjdk-11-11.0.23+9/src/hotspot/share/runtime/thread.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/runtime/thread.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/runtime/thread.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -321,6 +321,7 @@ } MACOS_AARCH64_ONLY(DEBUG_ONLY(_wx_init = false)); + _in_asgct = false; } void Thread::initialize_thread_current() { diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/runtime/thread.hpp openjdk-11-11.0.23+9/src/hotspot/share/runtime/thread.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/runtime/thread.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/runtime/thread.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -762,6 +762,31 @@ void init_wx(); WXMode enable_wx(WXMode new_state); #endif // __APPLE__ && AARCH64 + + private: + bool _in_asgct; + public: + bool in_asgct() const { return _in_asgct; } + void set_in_asgct(bool value) { _in_asgct = value; } + static bool current_in_asgct() { + Thread *cur = Thread::current_or_null_safe(); + return cur != NULL && cur->in_asgct(); + } +}; + +class ThreadInAsgct { + private: + Thread* _thread; + public: + ThreadInAsgct(Thread* thread) : _thread(thread) { + assert(thread != NULL, "invariant"); + assert(!thread->in_asgct(), "invariant"); + thread->set_in_asgct(true); + } + ~ThreadInAsgct() { + assert(_thread->in_asgct(), "invariant"); + _thread->set_in_asgct(false); + } }; // Inline implementation of Thread::current() diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/services/management.cpp openjdk-11-11.0.23+9/src/hotspot/share/services/management.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/services/management.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/services/management.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -42,6 +42,7 @@ #include "runtime/interfaceSupport.inline.hpp" #include "runtime/javaCalls.hpp" #include "runtime/jniHandles.inline.hpp" +#include "runtime/mutexLocker.hpp" #include "runtime/os.hpp" #include "runtime/thread.inline.hpp" #include "runtime/threadSMR.hpp" @@ -408,8 +409,6 @@ return MemoryService::get_memory_pool(ph); } -#endif // INCLUDE_MANAGEMENT - static void validate_thread_id_array(typeArrayHandle ids_ah, TRAPS) { int num_threads = ids_ah->length(); @@ -425,8 +424,6 @@ } } -#if INCLUDE_MANAGEMENT - static void validate_thread_info_array(objArrayHandle infoArray_h, TRAPS) { // check if the element of infoArray is of type ThreadInfo class Klass* threadinfo_klass = Management::java_lang_management_ThreadInfo_klass(CHECK); @@ -2059,7 +2056,42 @@ return (jlong)(((double)ticks / (double)os::elapsed_frequency()) * (double)1000.0); } -#endif // INCLUDE_MANAGEMENT + +// Gets the amount of memory allocated on the Java heap since JVM launch. +JVM_ENTRY(jlong, jmm_GetTotalThreadAllocatedMemory(JNIEnv *env)) + // A thread increments exited_allocated_bytes in ThreadService::remove_thread + // only after it removes itself from the threads list, and once a TLH is + // created, no thread it references can remove itself from the threads + // list, so none can update exited_allocated_bytes. We therefore initialize + // result with exited_allocated_bytes after after we create the TLH so that + // the final result can only be short due to (1) threads that start after + // the TLH is created, or (2) terminating threads that escape TLH creation + // and don't update exited_allocated_bytes before we initialize result. + + // We keep a high water mark to ensure monotonicity in case threads counted + // on a previous call end up in state (2). + static jlong high_water_result = 0; + + JavaThreadIteratorWithHandle jtiwh; + jlong result = ThreadService::exited_allocated_bytes(); + for (; JavaThread* thread = jtiwh.next();) { + jlong size = thread->cooked_allocated_bytes(); + result += size; + } + + { + assert(MonitoringSupport_lock != NULL, "Must be"); + MutexLockerEx ml(MonitoringSupport_lock, Mutex::_no_safepoint_check_flag); + if (result < high_water_result) { + // Encountered (2) above, or result wrapped to a negative value. In + // the latter case, it's pegged at the last positive value. + result = high_water_result; + } else { + high_water_result = result; + } + } + return result; +JVM_END // Gets the amount of memory allocated on the Java heap for a single thread. // Returns -1 if the thread does not exist or has terminated. @@ -2197,9 +2229,6 @@ } JVM_END - - -#if INCLUDE_MANAGEMENT const struct jmmInterface_1_ jmm_interface = { NULL, jmm_GetOneThreadAllocatedMemory, @@ -2232,7 +2261,7 @@ jmm_DumpHeap0, jmm_FindDeadlockedThreads, jmm_SetVMGlobal, - NULL, + jmm_GetTotalThreadAllocatedMemory, jmm_DumpThreads, jmm_SetGCNotificationEnabled, jmm_GetDiagnosticCommands, diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/services/threadService.cpp openjdk-11-11.0.23+9/src/hotspot/share/services/threadService.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/services/threadService.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/services/threadService.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -60,6 +60,8 @@ volatile int ThreadService::_atomic_threads_count = 0; volatile int ThreadService::_atomic_daemon_threads_count = 0; +volatile jlong ThreadService::_exited_allocated_bytes = 0; + ThreadDumpResult* ThreadService::_threaddump_list = NULL; static const int INITIAL_ARRAY_SIZE = 10; @@ -140,6 +142,9 @@ void ThreadService::remove_thread(JavaThread* thread, bool daemon) { assert(Threads_lock->owned_by_self(), "must have threads lock"); + // Include hidden thread allcations in exited_allocated_bytes + ThreadService::incr_exited_allocated_bytes(thread->cooked_allocated_bytes()); + // Do not count hidden threads if (is_hidden_thread(thread)) { return; diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/services/threadService.hpp openjdk-11-11.0.23+9/src/hotspot/share/services/threadService.hpp --- openjdk-11-11.0.22+7/src/hotspot/share/services/threadService.hpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/services/threadService.hpp 2024-04-08 05:38:38.000000000 +0000 @@ -58,6 +58,10 @@ static PerfVariable* _peak_threads_count; static PerfVariable* _daemon_threads_count; + // As could this... + // Number of heap bytes allocated by terminated threads. + static volatile jlong _exited_allocated_bytes; + // These 2 counters are like the above thread counts, but are // atomically decremented in ThreadService::current_thread_exiting instead of // ThreadService::remove_thread, so that the thread count is updated before @@ -96,6 +100,14 @@ static jlong get_live_thread_count() { return _atomic_threads_count; } static jlong get_daemon_thread_count() { return _atomic_daemon_threads_count; } + static jlong exited_allocated_bytes() { return Atomic::load(&_exited_allocated_bytes); } + static void incr_exited_allocated_bytes(jlong size) { + // No need for an atomic add because called under the Threads_lock, + // but because _exited_allocated_bytes is read concurrently, need + // atomic store to avoid readers seeing a partial update. + Atomic::store(_exited_allocated_bytes + size, &_exited_allocated_bytes); + } + // Support for thread dump static void add_thread_dump(ThreadDumpResult* dump); static void remove_thread_dump(ThreadDumpResult* dump); diff -Nru openjdk-11-11.0.22+7/src/hotspot/share/utilities/exceptions.cpp openjdk-11-11.0.23+9/src/hotspot/share/utilities/exceptions.cpp --- openjdk-11-11.0.22+7/src/hotspot/share/utilities/exceptions.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/hotspot/share/utilities/exceptions.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -529,11 +529,11 @@ // for logging exceptions void Exceptions::log_exception(Handle exception, const char* message) { ResourceMark rm; - Symbol* detail_message = java_lang_Throwable::detail_message(exception()); + const char* detail_message = java_lang_Throwable::message_as_utf8(exception()); if (detail_message != NULL) { log_info(exceptions)("Exception <%s: %s>\n thrown in %s", exception->print_value_string(), - detail_message->as_C_string(), + detail_message, message); } else { log_info(exceptions)("Exception <%s>\n thrown in %s", diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java openjdk-11-11.0.23+9/src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,6 +32,8 @@ import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; +import java.util.LinkedList; +import java.util.List; import java.util.jar.JarOutputStream; import java.util.jar.Pack200; import java.util.zip.CRC32; @@ -78,8 +80,13 @@ private int _estFileLimit; // ditto private int _prevPercent = -1; // for monotonicity - private final CRC32 _crc32 = new CRC32(); - private byte[] _buf = new byte[1<<14]; + private final CRC32 _crc32 = new CRC32(); + private static final int MAX_BUFFER_SIZE = 1 << 20; // 1 MB byte[] + private byte[] _buf = new byte[1 << 14]; // 16 KB byte[] initially + private List _extra_buf = new LinkedList<>(); // extra buffers + // for large files + private byte[] _current_buf; // buffer being filled + private int _current_buf_pos; // position to fill in more data private UnpackerImpl _p200; private PropMap _props; @@ -196,41 +203,44 @@ updateProgress(); // reset progress bar for (;;) { // Read the packed bits. - long counts = start(presetInput, 0); - _byteCount = _estByteLimit = 0; // reset partial scan counts - ++_segCount; // just finished scanning a whole segment... - int nextSeg = (int)( counts >>> 32 ); - int nextFile = (int)( counts >>> 0 ); - - // Estimate eventual total number of segments and files. - _estSegLimit = _segCount + nextSeg; - double filesAfterThisSeg = _fileCount + nextFile; - _estFileLimit = (int)( (filesAfterThisSeg * - _estSegLimit) / _segCount ); - - // Write the files. - int[] intParts = { 0,0, 0, 0 }; - // intParts = {size.hi/lo, mod, defl} - Object[] parts = { intParts, null, null, null }; - // parts = { {intParts}, name, data0/1 } - while (getNextFile(parts)) { - //BandStructure.printArrayTo(System.out, intParts, 0, parts.length); - String name = (String) parts[1]; - long size = ( (long)intParts[0] << 32) - + (((long)intParts[1] << 32) >>> 32); - - long mtime = (modtime != Constants.NO_MODTIME ) ? - modtime : intParts[2] ; - boolean deflateHint = (intParts[3] != 0); - ByteBuffer data0 = (ByteBuffer) parts[2]; - ByteBuffer data1 = (ByteBuffer) parts[3]; - writeEntry(jstream, name, mtime, size, deflateHint, - data0, data1); - ++_fileCount; - updateProgress(); + long counts = start(presetInput, 0), consumed; + try { + _byteCount = _estByteLimit = 0; // reset partial scan counts + ++_segCount; // just finished scanning a whole segment... + int nextSeg = (int) (counts >>> 32); + int nextFile = (int) (counts >>> 0); + + // Estimate eventual total number of segments and files. + _estSegLimit = _segCount + nextSeg; + double filesAfterThisSeg = _fileCount + nextFile; + _estFileLimit = (int) ((filesAfterThisSeg * + _estSegLimit) / _segCount); + + // Write the files. + int[] intParts = {0, 0, 0, 0}; + // intParts = {size.hi/lo, mod, defl} + Object[] parts = {intParts, null, null, null}; + // parts = { {intParts}, name, data0/1 } + while (getNextFile(parts)) { + //BandStructure.printArrayTo(System.out, intParts, 0, parts.length); + String name = (String) parts[1]; + long size = ((long) intParts[0] << 32) + + (((long) intParts[1] << 32) >>> 32); + + long mtime = (modtime != Constants.NO_MODTIME) ? + modtime : intParts[2]; + boolean deflateHint = (intParts[3] != 0); + ByteBuffer data0 = (ByteBuffer) parts[2]; + ByteBuffer data1 = (ByteBuffer) parts[3]; + writeEntry(jstream, name, mtime, size, deflateHint, + data0, data1); + ++_fileCount; + updateProgress(); + } + presetInput = getUnusedInput(); + } finally { + consumed = finish(); } - presetInput = getUnusedInput(); - long consumed = finish(); if (_verbose > 0) Utils.log.info("bytes consumed = "+consumed); if (presetInput == null && @@ -257,76 +267,145 @@ // Note: caller is responsible to finish with jstream. } - private void writeEntry(JarOutputStream j, String name, - long mtime, long lsize, boolean deflateHint, - ByteBuffer data0, ByteBuffer data1) throws IOException { - int size = (int)lsize; - if (size != lsize) - throw new IOException("file too large: "+lsize); - - CRC32 crc32 = _crc32; - - if (_verbose > 1) - Utils.log.fine("Writing entry: "+name+" size="+size - +(deflateHint?" deflated":"")); - - if (_buf.length < size) { - int newSize = size; - while (newSize < _buf.length) { - newSize <<= 1; - if (newSize <= 0) { - newSize = size; - break; - } - } - _buf = new byte[newSize]; - } - assert(_buf.length >= size); - - int fillp = 0; - if (data0 != null) { - int size0 = data0.capacity(); - data0.get(_buf, fillp, size0); - fillp += size0; - } - if (data1 != null) { - int size1 = data1.capacity(); - data1.get(_buf, fillp, size1); - fillp += size1; - } - while (fillp < size) { - // Fill in rest of data from the stream itself. - int nr = in.read(_buf, fillp, size - fillp); - if (nr <= 0) throw new IOException("EOF at end of archive"); - fillp += nr; + private void writeEntry(JarOutputStream j, String name, long mtime, + long lsize, boolean deflateHint, ByteBuffer data0, + ByteBuffer data1) throws IOException { + if (lsize < 0 || lsize > Integer.MAX_VALUE) { + throw new IOException("file too large: " + lsize); + } + int size = (int) lsize; + + if (_verbose > 1) { + Utils.log.fine("Writing entry: " + name + " size=" + size + + (deflateHint ? " deflated" : "")); } ZipEntry z = new ZipEntry(name); z.setTime(mtime * 1000); - + z.setSize(size); if (size == 0) { z.setMethod(ZipOutputStream.STORED); - z.setSize(0); + z.setCompressedSize(size); z.setCrc(0); - z.setCompressedSize(0); + j.putNextEntry(z); } else if (!deflateHint) { z.setMethod(ZipOutputStream.STORED); - z.setSize(size); z.setCompressedSize(size); - crc32.reset(); - crc32.update(_buf, 0, size); - z.setCrc(crc32.getValue()); + writeEntryData(j, z, data0, data1, size, true); } else { z.setMethod(Deflater.DEFLATED); - z.setSize(size); + writeEntryData(j, z, data0, data1, size, false); } + j.closeEntry(); - j.putNextEntry(z); + if (_verbose > 0) Utils.log.info("Writing " + Utils.zeString(z)); + } - if (size > 0) - j.write(_buf, 0, size); + private void writeEntryData(JarOutputStream j, ZipEntry z, ByteBuffer data0, + ByteBuffer data1, int size, boolean computeCrc32) + throws IOException { + prepareReadBuffers(size); + try { + int inBytes = size; + inBytes -= readDataByteBuffer(data0); + inBytes -= readDataByteBuffer(data1); + inBytes -= readDataInputStream(inBytes); + if (inBytes != 0L) { + throw new IOException("invalid size: " + size); + } + if (computeCrc32) { + _crc32.reset(); + processReadData((byte[] buff, int offset, int len) -> { + _crc32.update(buff, offset, len); + }); + z.setCrc(_crc32.getValue()); + } + j.putNextEntry(z); + processReadData((byte[] buff, int offset, int len) -> { + j.write(buff, offset, len); + }); + } finally { + resetReadBuffers(); + } + } - j.closeEntry(); - if (_verbose > 0) Utils.log.info("Writing " + Utils.zeString(z)); + private void prepareReadBuffers(int size) { + if (_buf.length < size && _buf.length < MAX_BUFFER_SIZE) { + // Grow the regular buffer to accomodate lsize up to a limit. + long newIdealSize = _buf.length; + while (newIdealSize < size && newIdealSize < MAX_BUFFER_SIZE) { + // Never overflows: size is [0, 0x7FFFFFFF]. + newIdealSize <<= 1; + } + int newSize = (int) Long.min(newIdealSize, MAX_BUFFER_SIZE); + _buf = new byte[newSize]; + } + resetReadBuffers(); + } + + private void resetReadBuffers() { + _extra_buf.clear(); + _current_buf = _buf; + _current_buf_pos = 0; + } + + private int readDataByteBuffer(ByteBuffer data) throws IOException { + if (data == null) { + return 0; + } + return readData(data.remaining(), + (byte[] buff, int offset, int len) -> { + data.get(buff, offset, len); + return len; + }); + } + + private int readDataInputStream(int inBytes) throws IOException { + return readData(inBytes, (byte[] buff, int offset, int len) -> { + return in.read(buff, offset, len); + }); + } + + private static interface ReadDataCB { + public int read(byte[] buff, int offset, int len) throws IOException; + } + + private int readData(int bytesToRead, ReadDataCB readDataCb) + throws IOException { + int bytesRemaining = bytesToRead; + while (bytesRemaining > 0) { + if (_current_buf_pos == _current_buf.length) { + byte[] newBuff = new byte[Integer.min(bytesRemaining, + MAX_BUFFER_SIZE)]; + _extra_buf.add(newBuff); + _current_buf = newBuff; + _current_buf_pos = 0; + } + int current_buffer_space = _current_buf.length - _current_buf_pos; + int nextRead = Integer.min(current_buffer_space, bytesRemaining); + int bytesRead = readDataCb.read(_current_buf, _current_buf_pos, + nextRead); + if (bytesRead <= 0) { + throw new IOException("EOF at end of archive"); + } + _current_buf_pos += bytesRead; + bytesRemaining -= bytesRead; + } + return bytesToRead - bytesRemaining; + } + + private static interface ProcessDataCB { + public void apply(byte[] buff, int offset, int len) throws IOException; + } + + private void processReadData(ProcessDataCB processDataCB) + throws IOException { + processDataCB.apply(_buf, 0, _buf == _current_buf ? _current_buf_pos : + _buf.length); + for (byte[] buff : _extra_buf) { + // Extra buffers are allocated of a size such that they are always + // full, including the last one. + processDataCB.apply(buff, 0, buff.length); + }; } } diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/java/io/Console.java openjdk-11-11.0.23+9/src/java.base/share/classes/java/io/Console.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/java/io/Console.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/java/io/Console.java 2024-04-08 05:38:38.000000000 +0000 @@ -334,8 +334,18 @@ else ioe.addSuppressed(x); } - if (ioe != null) + if (ioe != null) { + Arrays.fill(passwd, ' '); + try { + if (reader instanceof LineReader) { + LineReader lr = (LineReader)reader; + lr.zeroOut(); + } + } catch (IOException x) { + // ignore + } throw ioe; + } } pw.println(); } @@ -426,6 +436,10 @@ System.arraycopy(rcb, 0, b, 0, len); if (zeroOut) { Arrays.fill(rcb, 0, len, ' '); + if (reader instanceof LineReader) { + LineReader lr = (LineReader)reader; + lr.zeroOut(); + } } } return b; @@ -450,6 +464,12 @@ nextChar = nChars = 0; leftoverLF = false; } + public void zeroOut() throws IOException { + if (in instanceof StreamDecoder) { + StreamDecoder sd = (StreamDecoder)in; + sd.fillZeroToPosition(); + } + } public void close () {} public boolean ready() throws IOException { //in.ready synchronizes on readLock already diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/java/lang/ProcessHandleImpl.java openjdk-11-11.0.23+9/src/java.base/share/classes/java/lang/ProcessHandleImpl.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/java/lang/ProcessHandleImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/java/lang/ProcessHandleImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -87,8 +87,12 @@ ThreadGroup tg = Thread.currentThread().getThreadGroup(); while (tg.getParent() != null) tg = tg.getParent(); ThreadGroup systemThreadGroup = tg; + + // For a debug build, the stack shadow zone is larger; + // Increase the total stack size to avoid potential stack overflow. + int debugDelta = "release".equals(System.getProperty("jdk.debug")) ? 0 : (4*4096); final long stackSize = Boolean.getBoolean("jdk.lang.processReaperUseDefaultStackSize") - ? 0 : REAPER_DEFAULT_STACKSIZE; + ? 0 : REAPER_DEFAULT_STACKSIZE + debugDelta; ThreadFactory threadFactory = grimReaper -> { Thread t = new Thread(systemThreadGroup, grimReaper, diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java openjdk-11-11.0.23+9/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java 2024-04-08 05:38:38.000000000 +0000 @@ -1261,53 +1261,74 @@ } private void expect100Continue() throws IOException { - // Expect: 100-Continue was set, so check the return code for - // Acceptance - int oldTimeout = http.getReadTimeout(); - boolean enforceTimeOut = false; - boolean timedOut = false; - if (oldTimeout <= 0) { - // 5s read timeout in case the server doesn't understand - // Expect: 100-Continue - http.setReadTimeout(5000); - enforceTimeOut = true; - } + // Expect: 100-Continue was set, so check the return code for + // Acceptance + int oldTimeout = http.getReadTimeout(); + boolean timedOut = false; + boolean tempTimeOutSet = false; + if (oldTimeout <= 0 || oldTimeout > 5000) { + if (logger.isLoggable(PlatformLogger.Level.FINE)) { + logger.fine("Timeout currently set to " + + oldTimeout + " temporarily setting it to 5 seconds"); + } + // 5s read timeout in case the server doesn't understand + // Expect: 100-Continue + http.setReadTimeout(5000); + tempTimeOutSet = true; + } - try { - http.parseHTTP(responses, pi, this); - } catch (SocketTimeoutException se) { - if (!enforceTimeOut) { - throw se; - } - timedOut = true; - http.setIgnoreContinue(true); + try { + http.parseHTTP(responses, pi, this); + } catch (SocketTimeoutException se) { + if (logger.isLoggable(PlatformLogger.Level.FINE)) { + logger.fine("SocketTimeoutException caught," + + " will attempt to send body regardless"); } - if (!timedOut) { - // Can't use getResponseCode() yet - String resp = responses.getValue(0); - // Parse the response which is of the form: - // HTTP/1.1 417 Expectation Failed - // HTTP/1.1 100 Continue - if (resp != null && resp.startsWith("HTTP/")) { - String[] sa = resp.split("\\s+"); - responseCode = -1; - try { - // Response code is 2nd token on the line - if (sa.length > 1) - responseCode = Integer.parseInt(sa[1]); - } catch (NumberFormatException numberFormatException) { + timedOut = true; + } + + if (!timedOut) { + // Can't use getResponseCode() yet + String resp = responses.getValue(0); + // Parse the response which is of the form: + // HTTP/1.1 417 Expectation Failed + // HTTP/1.1 100 Continue + if (resp != null && resp.startsWith("HTTP/")) { + String[] sa = resp.split("\\s+"); + responseCode = -1; + try { + // Response code is 2nd token on the line + if (sa.length > 1) + responseCode = Integer.parseInt(sa[1]); + if (logger.isLoggable(PlatformLogger.Level.FINE)) { + logger.fine("response code received " + responseCode); } - } - if (responseCode != 100) { - throw new ProtocolException("Server rejected operation"); + } catch (NumberFormatException numberFormatException) { } } + if (responseCode != 100) { + // responseCode will be returned to caller + throw new ProtocolException("Server rejected operation"); + } + } + // If timeout was changed, restore to original value + if (tempTimeOutSet) { + if (logger.isLoggable(PlatformLogger.Level.FINE)) { + logger.fine("Restoring original timeout : " + oldTimeout); + } http.setReadTimeout(oldTimeout); + } - responseCode = -1; - responses.reset(); - // Proceed + // Ignore any future 100 continue messages + http.setIgnoreContinue(true); + if (logger.isLoggable(PlatformLogger.Level.FINE)) { + logger.fine("Set Ignore Continue to true"); + } + + responseCode = -1; + responses.reset(); + // Proceed } /* @@ -1369,7 +1390,6 @@ boolean expectContinue = false; String expects = requests.findValue("Expect"); if ("100-Continue".equalsIgnoreCase(expects) && streaming()) { - http.setIgnoreContinue(false); expectContinue = true; } @@ -1378,6 +1398,7 @@ } if (expectContinue) { + http.setIgnoreContinue(false); expect100Continue(); } ps = (PrintStream)http.getOutputStream(); @@ -1419,6 +1440,7 @@ } } + // Streaming returns true if there is a request body to send public boolean streaming () { return (fixedContentLength != -1) || (fixedContentLengthLong != -1) || (chunkLength != -1); diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java openjdk-11-11.0.23+9/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,6 +32,7 @@ import java.nio.*; import java.nio.channels.*; import java.nio.charset.*; +import java.util.Arrays; public class StreamDecoder extends Reader { @@ -199,6 +200,16 @@ return !closed; } + public void fillZeroToPosition() throws IOException { + Object lock = this.lock; + synchronized (lock) { + lockedFillZeroToPosition(); + } + } + + private void lockedFillZeroToPosition() { + Arrays.fill(bb.array(), bb.arrayOffset(), bb.arrayOffset() + bb.position(), (byte)0); + } // -- Charset-based stream decoder impl -- diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/pkcs/PKCS7.java openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/pkcs/PKCS7.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/pkcs/PKCS7.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/pkcs/PKCS7.java 2024-04-08 05:38:38.000000000 +0000 @@ -166,6 +166,10 @@ contentType = contentInfo.contentType; DerValue content = contentInfo.getContent(); + if (content == null) { + throw new ParsingException("content is null"); + } + if (contentType.equals(ContentInfo.SIGNED_DATA_OID)) { parseSignedData(content); } else if (contentType.equals(ContentInfo.OLD_SIGNED_DATA_OID)) { diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -280,14 +280,6 @@ return keyParams; } - // return a string representation of this key for debugging - @Override - public String toString() { - return "SunRsaSign " + type.keyAlgo + " private CRT key, " - + n.bitLength() + " bits" + "\n params: " + keyParams - + "\n modulus: " + n + "\n private exponent: " + d; - } - // utility method for parsing DER encoding of RSA private keys in PKCS#1 // format as defined in RFC 8017 Appendix A.1.2, i.e. SEQ of version, n, // e, d, p, q, pe, qe, and coeff, and return the parsed components. diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -135,14 +135,6 @@ return keyParams; } - // return a string representation of this key for debugging - @Override - public String toString() { - return "Sun " + type.keyAlgo + " private key, " + n.bitLength() - + " bits" + "\n params: " + keyParams + "\n modulus: " + n - + "\n private exponent: " + d; - } - /** * Restores the state of this object from the stream. *

diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/ssl/SSLHandshake.java openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/ssl/SSLHandshake.java --- openjdk-11-11.0.22+7/src/java.base/share/classes/sun/security/ssl/SSLHandshake.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/sun/security/ssl/SSLHandshake.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -442,7 +442,7 @@ private HandshakeProducer getHandshakeProducer( ConnectionContext context) { - if (handshakeConsumers.length == 0) { + if (handshakeProducers.length == 0) { return null; } diff -Nru openjdk-11-11.0.22+7/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties openjdk-11-11.0.23+9/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties --- openjdk-11-11.0.22+7/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -266,6 +266,7 @@ XBC=XBC XBD=XBD XCD=XCD +XCG=XCG XDR=XDR XFO=XFO XFU=XFU @@ -491,6 +492,7 @@ xbc=European Unit of Account (XBC) xbd=European Unit of Account (XBD) xcd=East Caribbean Dollar +xcg=Caribbean Guilder xdr=Special Drawing Rights xfo=French Gold Franc xfu=French UIC-Franc diff -Nru openjdk-11-11.0.22+7/src/java.base/share/conf/security/java.security openjdk-11-11.0.23+9/src/java.base/share/conf/security/java.security --- openjdk-11-11.0.22+7/src/java.base/share/conf/security/java.security 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/conf/security/java.security 2024-04-08 05:38:38.000000000 +0000 @@ -955,10 +955,11 @@ crypto.policy=crypto.policydir-tbd # -# The policy for the XML Signature secure validation mode. The mode is -# enabled by setting the property "org.jcp.xml.dsig.secureValidation" to -# true with the javax.xml.crypto.XMLCryptoContext.setProperty() method, -# or by running the code with a SecurityManager. +# The policy for the XML Signature secure validation mode. Validation of +# XML Signatures that violate any of these constraints will fail. The +# mode is enforced by default. The mode can be disabled by setting the +# property "org.jcp.xml.dsig.secureValidation" to Boolean.FALSE with the +# javax.xml.crypto.XMLCryptoContext.setProperty() method. # # Policy: # Constraint {"," Constraint } @@ -985,8 +986,8 @@ # MaxReferencesConstraint or KeySizeConstraint (for the same key type) is # specified more than once, only the last entry is enforced. # -# Note: This property is currently used by the JDK Reference implementation. It -# is not guaranteed to be examined and used by other implementations. +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. # jdk.xml.dsig.secureValidationPolicy=\ disallowAlg http://www.w3.org/TR/1999/REC-xslt-19991116,\ @@ -1316,6 +1317,23 @@ # jdk.io.permissionsUseCanonicalPath=false +# +# Support for the here() function +# +# This security property determines whether the here() XPath function is +# supported in XML Signature generation and verification. +# +# If this property is set to false, the here() function is not supported. +# Generating an XML Signature that uses the here() function will throw an +# XMLSignatureException. Validating an existing XML Signature that uses the +# here() function will also throw an XMLSignatureException. +# +# The default value for this property is true. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +#jdk.xml.dsig.hereFunctionSupported=true # # Policies for the proxy_impersonator Kerberos ccache configuration entry diff -Nru openjdk-11-11.0.22+7/src/java.base/share/legal/public_suffix.md openjdk-11-11.0.23+9/src/java.base/share/legal/public_suffix.md --- openjdk-11-11.0.22+7/src/java.base/share/legal/public_suffix.md 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/legal/public_suffix.md 2024-04-08 05:38:38.000000000 +0000 @@ -11,7 +11,7 @@ The Source Code of this file is available under the Mozilla Public License, v. 2.0 and is located at -https://raw.githubusercontent.com/publicsuffix/list/88467c960d6cdad2ca1623e892e5e17506bc269f/public_suffix_list.dat. +https://raw.githubusercontent.com/publicsuffix/list/b5bf572c52988dbe9d865b8f090ea819024a9936/public_suffix_list.dat. If a copy of the MPL was not distributed with this file, you can obtain one at https://mozilla.org/MPL/2.0/. diff -Nru openjdk-11-11.0.22+7/src/java.base/share/lib/security/default.policy openjdk-11-11.0.23+9/src/java.base/share/lib/security/default.policy --- openjdk-11-11.0.22+7/src/java.base/share/lib/security/default.policy 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/lib/security/default.policy 2024-04-08 05:38:38.000000000 +0000 @@ -91,6 +91,8 @@ permission java.security.SecurityPermission "com.sun.org.apache.xml.internal.security.register"; permission java.security.SecurityPermission + "getProperty.jdk.xml.dsig.hereFunctionSupported"; + permission java.security.SecurityPermission "getProperty.jdk.xml.dsig.secureValidationPolicy"; permission java.lang.RuntimePermission "accessClassInPackage.com.sun.org.apache.xml.internal.*"; diff -Nru openjdk-11-11.0.22+7/src/java.base/share/native/libverify/check_code.c openjdk-11-11.0.23+9/src/java.base/share/native/libverify/check_code.c --- openjdk-11-11.0.22+7/src/java.base/share/native/libverify/check_code.c 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/share/native/libverify/check_code.c 2024-04-08 05:38:38.000000000 +0000 @@ -1693,12 +1693,13 @@ switch (instruction) { case JVM_OPC_tableswitch: { int *lpc = (int *)UCALIGN(iptr + 1); + int64_t low, high, index; if (lpc + 2 >= (int *)end) { return -1; /* do not read pass the end */ } - int64_t low = _ck_ntohl(lpc[1]); - int64_t high = _ck_ntohl(lpc[2]); - int64_t index = high - low; + low = _ck_ntohl(lpc[1]); + high = _ck_ntohl(lpc[2]); + index = high - low; // The value of low must be less than or equal to high - i.e. index >= 0 if ((index < 0) || (index > 65535)) { return -1; /* illegal */ diff -Nru openjdk-11-11.0.22+7/src/java.base/unix/native/libjsig/jsig.c openjdk-11-11.0.23+9/src/java.base/unix/native/libjsig/jsig.c --- openjdk-11-11.0.22+7/src/java.base/unix/native/libjsig/jsig.c 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/unix/native/libjsig/jsig.c 2024-04-08 05:38:38.000000000 +0000 @@ -31,6 +31,18 @@ * Used for signal-chaining. See RFE 4381843. */ +#include "jni.h" + +#ifdef SOLARIS +/* Our redeclarations of the system functions must not have a less + * restrictive linker scoping, so we have to declare them as JNIEXPORT + * before including signal.h */ +#include "sys/signal.h" +JNIEXPORT void (*signal(int sig, void (*disp)(int)))(int); +JNIEXPORT void (*sigset(int sig, void (*disp)(int)))(int); +JNIEXPORT int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); +#endif + #include #include #include @@ -313,7 +325,7 @@ } /* The three functions for the jvm to call into. */ -void JVM_begin_signal_setting() { +JNIEXPORT void JVM_begin_signal_setting() { signal_lock(); sigemptyset(&jvmsigs); jvm_signal_installing = true; @@ -321,7 +333,7 @@ signal_unlock(); } -void JVM_end_signal_setting() { +JNIEXPORT void JVM_end_signal_setting() { signal_lock(); jvm_signal_installed = true; jvm_signal_installing = false; @@ -329,7 +341,7 @@ signal_unlock(); } -struct sigaction *JVM_get_signal_action(int sig) { +JNIEXPORT struct sigaction *JVM_get_signal_action(int sig) { allocate_sact(); /* Does race condition make sense here? */ if (sigismember(&jvmsigs, sig)) { diff -Nru openjdk-11-11.0.22+7/src/java.base/windows/native/libjava/canonicalize_md.c openjdk-11-11.0.23+9/src/java.base/windows/native/libjava/canonicalize_md.c --- openjdk-11-11.0.22+7/src/java.base/windows/native/libjava/canonicalize_md.c 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.base/windows/native/libjava/canonicalize_md.c 2024-04-08 05:38:38.000000000 +0000 @@ -215,7 +215,8 @@ || (errval == ERROR_BAD_NET_NAME) || (errval == ERROR_ACCESS_DENIED) || (errval == ERROR_NETWORK_UNREACHABLE) - || (errval == ERROR_NETWORK_ACCESS_DENIED)) { + || (errval == ERROR_NETWORK_ACCESS_DENIED) + || (errval == ERROR_NO_MORE_FILES)) { return 0; } diff -Nru openjdk-11-11.0.22+7/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java openjdk-11-11.0.23+9/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java --- openjdk-11-11.0.22+7/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -252,9 +252,8 @@ if (editor instanceof AquaCustomComboTextField) { ((AquaCustomComboTextField)editor).selectAll(); } - } else { - action.actionPerformed(e); } + action.actionPerformed(e); } }); } @@ -324,6 +323,8 @@ actionMap.put("aquaSelectPageDown", highlightPageDownAction); actionMap.put("aquaHidePopup", hideAction); + actionMap.put("aquaOpenPopupOrhighlightLast", openPopupOrHighlightLast); + actionMap.put("aquaOpenPopupOrhighlightFirst", openPopupOrHighlightFirst); SwingUtilities.replaceUIActionMap(comboBox, actionMap); } @@ -454,11 +455,36 @@ } class AquaComboBoxLayoutManager extends BasicComboBoxUI.ComboBoxLayoutManager { + protected Rectangle rectangleForCurrentValue() { + int width = comboBox.getWidth(); + int height = 22; + Insets insets = getInsets(); + int buttonSize = height - (insets.top + insets.bottom); + if ( arrowButton != null ) { + buttonSize = arrowButton.getWidth(); + } + int midHeight = (comboBox.getHeight() - height - (insets.top + insets.bottom)) / 2 - 1; + if (midHeight < 0) { + midHeight = 0; + } + + if (comboBox.getComponentOrientation().isLeftToRight()) { + return new Rectangle(insets.left, insets.top + midHeight, + width - (insets.left + insets.right + buttonSize) + 3, + height - (insets.top + insets.bottom)); + } + else { + return new Rectangle(insets.left + buttonSize, insets.top + midHeight, + width - (insets.left + insets.right + buttonSize) + 3, + height - (insets.top + insets.bottom)); + } + } + public void layoutContainer(final Container parent) { if (arrowButton != null && !comboBox.isEditable()) { final Insets insets = comboBox.getInsets(); final int width = comboBox.getWidth(); - final int height = comboBox.getHeight(); + final int height = comboBox.getBorder() == null ? 22 : comboBox.getHeight(); arrowButton.setBounds(insets.left, insets.top, width - (insets.left + insets.right), height - (insets.top + insets.bottom)); return; } @@ -477,8 +503,6 @@ if (editor != null) { final Rectangle editorRect = rectangleForCurrentValue(); - editorRect.width += 4; - editorRect.height += 1; editor.setBounds(editorRect); } } @@ -582,6 +606,27 @@ } }; + @SuppressWarnings("serial") // anonymous class + private final Action openPopupOrHighlightLast = new ComboBoxAction() { + @Override + void performComboBoxAction(final AquaComboBoxUI ui) { + final int size = listBox.getModel().getSize(); + listBox.setSelectedIndex(size - 1); + listBox.ensureIndexIsVisible(size - 1); + comboBox.setSelectedIndex(ui.getPopup().getList().getSelectedIndex()); + } + }; + + @SuppressWarnings("serial") // anonymous class + private final Action openPopupOrHighlightFirst = new ComboBoxAction() { + @Override + void performComboBoxAction(final AquaComboBoxUI ui) { + listBox.setSelectedIndex(0); + listBox.ensureIndexIsVisible(0); + comboBox.setSelectedIndex(ui.getPopup().getList().getSelectedIndex()); + } + }; + public void applySizeFor(final JComponent c, final Size size) { if (arrowButton == null) return; final Border border = arrowButton.getBorder(); @@ -620,13 +665,6 @@ size = super.getMinimumSize(c); } - final Border border = c.getBorder(); - if (border != null) { - final Insets insets = border.getBorderInsets(c); - size.height += insets.top + insets.bottom; - size.width += insets.left + insets.right; - } - cachedMinimumSize.setSize(size.width, size.height); isMinimumSizeDirty = false; diff -Nru openjdk-11-11.0.22+7/src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java openjdk-11-11.0.23+9/src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java --- openjdk-11-11.0.22+7/src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java 2024-04-08 05:38:38.000000000 +0000 @@ -220,6 +220,10 @@ "KP_UP", "aquaSelectPrevious", "DOWN", "aquaSelectNext", "KP_DOWN", "aquaSelectNext", + "alt DOWN", "aquaOpenPopupOrhighlightLast", + "alt KP_DOWN", "aquaOpenPopupOrhighlightLast", + "alt UP", "aquaOpenPopupOrhighlightFirst", + "alt KP_UP", "aquaOpenPopupOrhighlightFirst", "SPACE", "aquaSpacePressed" // "spacePopup" })); } diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java openjdk-11-11.0.23+9/src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java --- openjdk-11-11.0.22+7/src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,10 @@ import java.io.*; import java.lang.*; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CoderResult; /** * RTFParser is a subclass of AbstractFilter which understands basic RTF syntax @@ -69,6 +73,11 @@ private final int S_inblob = 6; // in a \bin blob + // For fcharset control word + protected CharsetDecoder decoder = null; + private byte[] ba = new byte[2]; + protected ByteBuffer decoderBB = ByteBuffer.wrap(ba); + /** Implemented by subclasses to interpret a parameter-less RTF keyword. * The keyword is passed without the leading '/' or any delimiting * whitespace. */ @@ -100,6 +109,9 @@ rtfSpecialsTable['\\'] = true; } + // Defined for replacement character + static final char REPLACEMENT_CHAR = '\uFFFD'; + public RTFParser() { currentCharacters = new StringBuffer(); @@ -109,6 +121,9 @@ //warnings = System.out; specialsTable = rtfSpecialsTable; + // Initialize byte buffer for CharsetDecoder + decoderBB.clear(); + decoderBB.limit(1); } // TODO: Handle wrapup at end of file correctly. @@ -182,6 +197,9 @@ } state = S_backslashed; } else { + // SBCS: ASCII character + // DBCS: Non lead byte + ch = decode(ch); currentCharacters.append(ch); } break; @@ -301,7 +319,9 @@ if (Character.digit(ch, 16) != -1) { pendingCharacter = pendingCharacter * 16 + Character.digit(ch, 16); - ch = translationTable[pendingCharacter]; + // Use translationTable if decoder is not defined + ch = decoder == null ? translationTable[pendingCharacter] + : decode((char)pendingCharacter); if (ch != 0) handleText(ch); } @@ -360,4 +380,37 @@ super.close(); } + // For fcharset control word + private char[] ca = new char[1]; + private CharBuffer decoderCB = CharBuffer.wrap(ca); + + private char decode(char ch) { + if (decoder == null) return ch; + decoderBB.put((byte) ch); + decoderBB.rewind(); + decoderCB.clear(); + CoderResult cr = decoder.decode(decoderBB, decoderCB, false); + if (cr.isUnderflow()) { + if (decoderCB.position() == 1) { + // Converted to Unicode (including replacement character) + decoder.reset(); + decoderBB.clear(); + decoderBB.limit(1); + return ca[0]; + } else { + // Detected lead byte + decoder.reset(); + decoderBB.limit(2); + decoderBB.position(1); + return 0; // Skip write operation if return value is 0 + } + } else { + // Fallback, should not be called + decoder.reset(); + decoderBB.clear(); + decoderBB.limit(1); + return REPLACEMENT_CHAR; + } + } + } diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java openjdk-11-11.0.23+9/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java --- openjdk-11-11.0.22+7/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,10 +28,17 @@ import java.util.*; import java.io.*; import java.awt.Color; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; import java.security.AccessController; import java.security.PrivilegedAction; import javax.swing.text.*; +import static java.nio.charset.StandardCharsets.ISO_8859_1; + /** * Takes a sequence of RTF tokens and text and appends the text * described by the RTF to a StyledDocument (the target). @@ -64,6 +71,10 @@ /** This Dictionary maps Integer font numbers to String font names. */ Dictionary fontTable; + /** This Dictionary maps Integer font numbers to Charset font charset. */ + Dictionary fcharsetTable; + /** This Dictionary maps String font charset to String code page. */ + static Dictionary fcharsetToCP = null; /** This array maps color indices to Color objects. */ Color[] colorTable; /** This Map maps character style numbers to Style objects. */ @@ -110,6 +121,7 @@ textKeywords.put("emspace", "\u2003"); textKeywords.put("endash", "\u2013"); textKeywords.put("enspace", "\u2002"); + textKeywords.put("line", "\n"); textKeywords.put("ldblquote", "\u201C"); textKeywords.put("lquote", "\u2018"); textKeywords.put("ltrmark", "\u200E"); @@ -135,7 +147,50 @@ characterSets = new Hashtable(); } -/* TODO: per-font font encodings ( \fcharset control word ) ? */ + /** + * Windows font charset + */ + private static final int ANSI_CHARSET = 0; + private static final int DEFAULT_CHARSET = 1; + private static final int SYMBOL_CHARSET = 2; + private static final int MAC_CHARSET = 77; + private static final int SHIFTJIS_CHARSET = 128; + private static final int HANGUL_CHARSET = 129; + private static final int JOHAB_CHARSET = 130; + private static final int GB2312_CHARSET = 134; + private static final int CHINESEBIG5_CHARSET = 136; + private static final int GREEK_CHARSET = 161; + private static final int TURKISH_CHARSET = 162; + private static final int VIETNAMESE_CHARSET = 163; + private static final int HEBREW_CHARSET = 177; + private static final int ARABIC_CHARSET = 178; + private static final int BALTIC_CHARSET = 186; + private static final int RUSSIAN_CHARSET = 204; + private static final int THAI_CHARSET = 222; + private static final int EASTEUROPE_CHARSET = 238; + private static final int OEM_CHARSET = 255; + + static { + fcharsetToCP = new Hashtable(); + fcharsetToCP.put("fcharset" + ANSI_CHARSET, "windows-1252"); + fcharsetToCP.put("fcharset" + SHIFTJIS_CHARSET, "ms932"); + fcharsetToCP.put("fcharset" + HANGUL_CHARSET, "ms949"); + fcharsetToCP.put("fcharset" + JOHAB_CHARSET, "ms1361"); + fcharsetToCP.put("fcharset" + GB2312_CHARSET, "ms936"); + fcharsetToCP.put("fcharset" + CHINESEBIG5_CHARSET, "ms950"); + fcharsetToCP.put("fcharset" + GREEK_CHARSET, "windows-1253"); + fcharsetToCP.put("fcharset" + TURKISH_CHARSET, "windows-1254"); + fcharsetToCP.put("fcharset" + VIETNAMESE_CHARSET, "windows-1258"); + fcharsetToCP.put("fcharset" + HEBREW_CHARSET, "windows-1255"); + fcharsetToCP.put("fcharset" + ARABIC_CHARSET, "windows-1256"); + fcharsetToCP.put("fcharset" + BALTIC_CHARSET, "windows-1257"); + fcharsetToCP.put("fcharset" + RUSSIAN_CHARSET, "windows-1251"); + fcharsetToCP.put("fcharset" + THAI_CHARSET, "ms874"); + fcharsetToCP.put("fcharset" + EASTEUROPE_CHARSET, "windows-1250"); + } + + // Defined for replacement character + private static final String REPLACEMENT_CHAR = "\uFFFD"; /** * Creates a new RTFReader instance. Text will be sent to @@ -150,6 +205,7 @@ target = destination; parserState = new Hashtable(); fontTable = new Hashtable(); + fcharsetTable = new Hashtable(); rtfversion = -1; @@ -733,6 +789,25 @@ nextFontNumber = parameter; return true; } + // For fcharset control word + if (keyword.equals("fcharset")) { + String fcharset = keyword+parameter; + String csName = fcharsetToCP.get(fcharset); + Charset cs; + if (csName != null) { + try { + cs = Charset.forName(csName); + } catch (IllegalArgumentException iae) { + // Fallback, should not be called + cs = ISO_8859_1; + } + } else { + // Fallback, fcharset control word number is not defined + cs = ISO_8859_1; + } + fcharsetTable.put(nextFontNumber, cs); + return true; + } return false; } @@ -1187,6 +1262,25 @@ if (keyword.equals("f")) { parserState.put(keyword, Integer.valueOf(parameter)); + + // Check lead byte is stored or not + if (decoderBB.position() == 1) { + handleText(REPLACEMENT_CHAR); + } + // Reset decoder byte buffer + decoderBB.clear(); + decoderBB.limit(1); + // Check fcharset is used or not + Charset cs = fcharsetTable.get(parameter); + if (cs != null) { + decoder = cs.newDecoder(); + decoder.onMalformedInput(CodingErrorAction.REPLACE) + .onUnmappableCharacter(CodingErrorAction.REPLACE); + } else { + // fcharset is not used, use translationTable + decoder = null; + } + return true; } if (keyword.equals("cf")) { @@ -1577,6 +1671,12 @@ if (keyword.equals("par")) { // warnings.println("Ending paragraph."); + // Check lead byte is stored or not + if (decoderBB.position() == 1) { + handleText(REPLACEMENT_CHAR); + decoderBB.clear(); + decoderBB.limit(1); + } endParagraph(); return true; } diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/legal/freetype.md openjdk-11-11.0.23+9/src/java.desktop/share/legal/freetype.md --- openjdk-11-11.0.22+7/src/java.desktop/share/legal/freetype.md 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.desktop/share/legal/freetype.md 2024-04-08 05:38:38.000000000 +0000 @@ -1,4 +1,4 @@ -## The FreeType Project: Freetype v2.13.0 +## The FreeType Project: Freetype v2.13.2 ### FreeType Notice diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/legal/harfbuzz.md openjdk-11-11.0.23+9/src/java.desktop/share/legal/harfbuzz.md --- openjdk-11-11.0.22+7/src/java.desktop/share/legal/harfbuzz.md 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.desktop/share/legal/harfbuzz.md 2024-04-08 05:38:38.000000000 +0000 @@ -1,9 +1,7 @@ -## Harfbuzz v7.2.0 +## Harfbuzz v8.2.2 ### Harfbuzz License -https://github.com/harfbuzz/harfbuzz/blob/7.2.0/COPYING -

 
 HarfBuzz is licensed under the so-called "Old MIT" license.  Details follow.
@@ -14,6 +12,7 @@
 Copyright © 2018-2020  Ebrahim Byagowi
 Copyright © 2004-2013  Red Hat, Inc.
 Copyright © 2019  Facebook, Inc.
+Copyright (C) 2012 Zilong Tan (eric.zltan@gmail.com)
 Copyright © 2007  Chris Wilson
 Copyright © 2018-2019 Adobe Inc.
 Copyright © 2006-2023 Behdad Esfahbod
@@ -72,6 +71,15 @@
 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
+---------------------------------
+The below license applies to the following files:
+libharfbuzz/hb-unicode-emoji-table.hh
+
+© 2023 Unicode®, Inc.
+Unicode and the Unicode Logo are registered trademarks of Unicode, Inc.
+in the U.S. and other countries.
+For terms of use, see https://www.unicode.org/terms_of_use.html
+
 
### AUTHORS File Information diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/legal/libpng.md openjdk-11-11.0.23+9/src/java.desktop/share/legal/libpng.md --- openjdk-11-11.0.22+7/src/java.desktop/share/legal/libpng.md 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.desktop/share/legal/libpng.md 2024-04-08 05:38:38.000000000 +0000 @@ -1,4 +1,4 @@ -## libpng v1.6.39 +## libpng v1.6.40 ### libpng License
@@ -9,8 +9,8 @@
 PNG Reference Library License version 2
 ---------------------------------------
 
-Copyright (c) 1995-2022 The PNG Reference Library Authors.
-Copyright (c) 2018-2022 Cosmin Truta
+Copyright (c) 1995-2023 The PNG Reference Library Authors.
+Copyright (c) 2018-2023 Cosmin Truta
 Copyright (c) 1998-2018 Glenn Randers-Pehrson
 Copyright (c) 1996-1997 Andreas Dilger
 Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -175,6 +175,7 @@
  * Mike Klein
  * Pascal Massimino
  * Paul Schmidt
+ * Philippe Antoine
  * Qiang Zhou
  * Sam Bushell
  * Samuel Williams
@@ -193,6 +194,7 @@
    - Matt Sarett
    - Mike Klein
    - Sami Boukortt
+   - Wan-Teh Chang
 
 The build projects, the build scripts, the test scripts, and other
 files in the "ci", "projects", "scripts" and "tests" directories, have
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h	2024-04-08 05:38:38.000000000 +0000
@@ -661,36 +661,12 @@
    * not) instructions in a certain way so that all TrueType fonts look like
    * they do in a Windows ClearType (DirectWrite) environment.  See [1] for a
    * technical overview on what this means.  See `ttinterp.h` for more
-   * details on the LEAN option.
+   * details on this option.
    *
-   * There are three possible values.
-   *
-   * Value 1:
-   *   This value is associated with the 'Infinality' moniker, contributed by
-   *   an individual nicknamed Infinality with the goal of making TrueType
-   *   fonts render better than on Windows.  A high amount of configurability
-   *   and flexibility, down to rules for single glyphs in fonts, but also
-   *   very slow.  Its experimental and slow nature and the original
-   *   developer losing interest meant that this option was never enabled in
-   *   default builds.
-   *
-   *   The corresponding interpreter version is v38.
-   *
-   * Value 2:
-   *   The new default mode for the TrueType driver.  The Infinality code
-   *   base was stripped to the bare minimum and all configurability removed
-   *   in the name of speed and simplicity.  The configurability was mainly
-   *   aimed at legacy fonts like 'Arial', 'Times New Roman', or 'Courier'.
-   *   Legacy fonts are fonts that modify vertical stems to achieve clean
-   *   black-and-white bitmaps.  The new mode focuses on applying a minimal
-   *   set of rules to all fonts indiscriminately so that modern and web
-   *   fonts render well while legacy fonts render okay.
-   *
-   *   The corresponding interpreter version is v40.
-   *
-   * Value 3:
-   *   Compile both, making both v38 and v40 available (the latter is the
-   *   default).
+   * The new default mode focuses on applying a minimal set of rules to all
+   * fonts indiscriminately so that modern and web fonts render well while
+   * legacy fonts render okay.  The corresponding interpreter version is v40.
+   * The so-called Infinality mode (v38) is no longer available in FreeType.
    *
    * By undefining these, you get rendering behavior like on Windows without
    * ClearType, i.e., Windows XP without ClearType enabled and Win9x
@@ -705,9 +681,7 @@
    * [1]
    * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
    */
-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  1         */
-#define TT_CONFIG_OPTION_SUBPIXEL_HINTING  2
-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  ( 1 | 2 ) */
+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
 
 
   /**************************************************************************
@@ -977,22 +951,15 @@
 
 
   /*
-   * The next three macros are defined if native TrueType hinting is
+   * The next two macros are defined if native TrueType hinting is
    * requested by the definitions above.  Don't change this.
    */
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
 #define  TT_USE_BYTECODE_INTERPRETER
-
 #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
-#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
-#define  TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-#endif
-
-#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
 #define  TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
 #endif
 #endif
-#endif
 
 
   /*
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/config/ftstdlib.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/config/ftstdlib.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/config/ftstdlib.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/config/ftstdlib.h	2024-04-08 05:38:38.000000000 +0000
@@ -111,13 +111,13 @@
 
 #include 
 
-#define FT_FILE     FILE
-#define ft_fclose   fclose
-#define ft_fopen    fopen
-#define ft_fread    fread
-#define ft_fseek    fseek
-#define ft_ftell    ftell
-#define ft_sprintf  sprintf
+#define FT_FILE      FILE
+#define ft_fclose    fclose
+#define ft_fopen     fopen
+#define ft_fread     fread
+#define ft_fseek     fseek
+#define ft_ftell     ftell
+#define ft_snprintf  snprintf
 
 
   /**************************************************************************
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/freetype.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/freetype.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/freetype.h	2024-04-08 05:38:38.000000000 +0000
@@ -102,61 +102,25 @@
    */
 
 
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*                                                                       */
-  /*                        B A S I C   T Y P E S                          */
-  /*                                                                       */
-  /*************************************************************************/
-  /*************************************************************************/
-
-
   /**************************************************************************
    *
    * @section:
-   *   base_interface
+   *   font_testing_macros
    *
    * @title:
-   *   Base Interface
+   *   Font Testing Macros
    *
    * @abstract:
-   *   The FreeType~2 base font interface.
+   *   Macros to test various properties of fonts.
    *
    * @description:
-   *   This section describes the most important public high-level API
-   *   functions of FreeType~2.
+   *   Macros to test the most important font properties.
    *
-   * @order:
-   *   FT_Library
-   *   FT_Face
-   *   FT_Size
-   *   FT_GlyphSlot
-   *   FT_CharMap
-   *   FT_Encoding
-   *   FT_ENC_TAG
-   *
-   *   FT_FaceRec
-   *
-   *   FT_FACE_FLAG_SCALABLE
-   *   FT_FACE_FLAG_FIXED_SIZES
-   *   FT_FACE_FLAG_FIXED_WIDTH
-   *   FT_FACE_FLAG_HORIZONTAL
-   *   FT_FACE_FLAG_VERTICAL
-   *   FT_FACE_FLAG_COLOR
-   *   FT_FACE_FLAG_SFNT
-   *   FT_FACE_FLAG_CID_KEYED
-   *   FT_FACE_FLAG_TRICKY
-   *   FT_FACE_FLAG_KERNING
-   *   FT_FACE_FLAG_MULTIPLE_MASTERS
-   *   FT_FACE_FLAG_VARIATION
-   *   FT_FACE_FLAG_GLYPH_NAMES
-   *   FT_FACE_FLAG_EXTERNAL_STREAM
-   *   FT_FACE_FLAG_HINTER
-   *   FT_FACE_FLAG_SVG
-   *   FT_FACE_FLAG_SBIX
-   *   FT_FACE_FLAG_SBIX_OVERLAY
+   *   It is recommended to use these high-level macros instead of directly
+   *   testing the corresponding flags, which are scattered over various
+   *   structures.
    *
+   * @order:
    *   FT_HAS_HORIZONTAL
    *   FT_HAS_VERTICAL
    *   FT_HAS_KERNING
@@ -176,21 +140,59 @@
    *   FT_IS_NAMED_INSTANCE
    *   FT_IS_VARIATION
    *
-   *   FT_STYLE_FLAG_BOLD
-   *   FT_STYLE_FLAG_ITALIC
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   library_setup
    *
-   *   FT_SizeRec
-   *   FT_Size_Metrics
+   * @title:
+   *   Library Setup
    *
-   *   FT_GlyphSlotRec
-   *   FT_Glyph_Metrics
-   *   FT_SubGlyph
+   * @abstract:
+   *   Functions to start and end the usage of the FreeType library.
    *
-   *   FT_Bitmap_Size
+   * @description:
+   *   Functions to start and end the usage of the FreeType library.
+   *
+   *   Note that @FT_Library_Version and @FREETYPE_XXX are of limited use
+   *   because even a new release of FreeType with only documentation
+   *   changes increases the version number.
    *
+   * @order:
+   *   FT_Library
    *   FT_Init_FreeType
    *   FT_Done_FreeType
    *
+   *   FT_Library_Version
+   *   FREETYPE_XXX
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   face_creation
+   *
+   * @title:
+   *   Face Creation
+   *
+   * @abstract:
+   *   Functions to manage fonts.
+   *
+   * @description:
+   *   The functions and structures collected in this section operate on
+   *   fonts globally.
+   *
+   * @order:
+   *   FT_Face
+   *   FT_FaceRec
+   *   FT_FACE_FLAG_XXX
+   *   FT_STYLE_FLAG_XXX
+   *
    *   FT_New_Face
    *   FT_Done_Face
    *   FT_Reference_Face
@@ -198,10 +200,36 @@
    *   FT_Face_Properties
    *   FT_Open_Face
    *   FT_Open_Args
+   *   FT_OPEN_XXX
    *   FT_Parameter
    *   FT_Attach_File
    *   FT_Attach_Stream
    *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   sizing_and_scaling
+   *
+   * @title:
+   *   Sizing and Scaling
+   *
+   * @abstract:
+   *   Functions to manage font sizes.
+   *
+   * @description:
+   *   The functions and structures collected in this section are related to
+   *   selecting and manipulating the size of a font globally.
+   *
+   * @order:
+   *   FT_Size
+   *   FT_SizeRec
+   *   FT_Size_Metrics
+   *
+   *   FT_Bitmap_Size
+   *
    *   FT_Set_Char_Size
    *   FT_Set_Pixel_Sizes
    *   FT_Request_Size
@@ -209,44 +237,37 @@
    *   FT_Size_Request_Type
    *   FT_Size_RequestRec
    *   FT_Size_Request
+   *
    *   FT_Set_Transform
    *   FT_Get_Transform
-   *   FT_Load_Glyph
-   *   FT_Get_Char_Index
-   *   FT_Get_First_Char
-   *   FT_Get_Next_Char
-   *   FT_Load_Char
    *
-   *   FT_OPEN_MEMORY
-   *   FT_OPEN_STREAM
-   *   FT_OPEN_PATHNAME
-   *   FT_OPEN_DRIVER
-   *   FT_OPEN_PARAMS
-   *
-   *   FT_LOAD_DEFAULT
-   *   FT_LOAD_RENDER
-   *   FT_LOAD_MONOCHROME
-   *   FT_LOAD_LINEAR_DESIGN
-   *   FT_LOAD_NO_SCALE
-   *   FT_LOAD_NO_HINTING
-   *   FT_LOAD_NO_BITMAP
-   *   FT_LOAD_SBITS_ONLY
-   *   FT_LOAD_NO_AUTOHINT
-   *   FT_LOAD_COLOR
-   *
-   *   FT_LOAD_VERTICAL_LAYOUT
-   *   FT_LOAD_IGNORE_TRANSFORM
-   *   FT_LOAD_FORCE_AUTOHINT
-   *   FT_LOAD_NO_RECURSE
-   *   FT_LOAD_PEDANTIC
-   *
-   *   FT_LOAD_TARGET_NORMAL
-   *   FT_LOAD_TARGET_LIGHT
-   *   FT_LOAD_TARGET_MONO
-   *   FT_LOAD_TARGET_LCD
-   *   FT_LOAD_TARGET_LCD_V
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   glyph_retrieval
+   *
+   * @title:
+   *   Glyph Retrieval
+   *
+   * @abstract:
+   *   Functions to manage glyphs.
+   *
+   * @description:
+   *   The functions and structures collected in this section operate on
+   *   single glyphs, of which @FT_Load_Glyph is most important.
    *
+   * @order:
+   *   FT_GlyphSlot
+   *   FT_GlyphSlotRec
+   *   FT_Glyph_Metrics
+   *
+   *   FT_Load_Glyph
+   *   FT_LOAD_XXX
    *   FT_LOAD_TARGET_MODE
+   *   FT_LOAD_TARGET_XXX
    *
    *   FT_Render_Glyph
    *   FT_Render_Mode
@@ -254,34 +275,121 @@
    *   FT_Kerning_Mode
    *   FT_Get_Track_Kerning
    *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   character_mapping
+   *
+   * @title:
+   *   Character Mapping
+   *
+   * @abstract:
+   *   Functions to manage character-to-glyph maps.
+   *
+   * @description:
+   *   This section holds functions and structures that are related to
+   *   mapping character input codes to glyph indices.
+   *
+   *   Note that for many scripts the simplistic approach used by FreeType
+   *   of mapping a single character to a single glyph is not valid or
+   *   possible!  In general, a higher-level library like HarfBuzz or ICU
+   *   should be used for handling text strings.
+   *
+   * @order:
+   *   FT_CharMap
    *   FT_CharMapRec
+   *   FT_Encoding
+   *   FT_ENC_TAG
+   *
    *   FT_Select_Charmap
    *   FT_Set_Charmap
    *   FT_Get_Charmap_Index
    *
+   *   FT_Get_Char_Index
+   *   FT_Get_First_Char
+   *   FT_Get_Next_Char
+   *   FT_Load_Char
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   information_retrieval
+   *
+   * @title:
+   *   Information Retrieval
+   *
+   * @abstract:
+   *   Functions to retrieve font and glyph information.
+   *
+   * @description:
+   *   Functions to retrieve font and glyph information.  Only some very
+   *   basic data is covered; see also the chapter on the format-specific
+   *   API for more.
+   *
+   *
+   * @order:
    *   FT_Get_Name_Index
    *   FT_Get_Glyph_Name
    *   FT_Get_Postscript_Name
    *   FT_Get_FSType_Flags
+   *   FT_FSTYPE_XXX
    *   FT_Get_SubGlyph_Info
+   *   FT_SUBGLYPH_FLAG_XXX
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   other_api_data
+   *
+   * @title:
+   *   Other API Data
+   *
+   * @abstract:
+   *   Other structures, enumerations, and macros.
    *
+   * @description:
+   *   Other structures, enumerations, and macros.  Deprecated functions are
+   *   also listed here.
+   *
+   * @order:
    *   FT_Face_Internal
    *   FT_Size_Internal
    *   FT_Slot_Internal
    *
-   *   FT_FACE_FLAG_XXX
-   *   FT_STYLE_FLAG_XXX
-   *   FT_OPEN_XXX
-   *   FT_LOAD_XXX
-   *   FT_LOAD_TARGET_XXX
-   *   FT_SUBGLYPH_FLAG_XXX
-   *   FT_FSTYPE_XXX
+   *   FT_SubGlyph
    *
    *   FT_HAS_FAST_GLYPHS
+   *   FT_Face_CheckTrueTypePatents
+   *   FT_Face_SetUnpatentedHinting
    *
    */
 
 
+  /*************************************************************************/
+  /*************************************************************************/
+  /*                                                                       */
+  /*                        B A S I C   T Y P E S                          */
+  /*                                                                       */
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  /**************************************************************************
+   *
+   * @section:
+   *   glyph_retrieval
+   *
+   */
+
   /**************************************************************************
    *
    * @struct:
@@ -351,6 +459,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   sizing_and_scaling
+   *
+   */
+
+  /**************************************************************************
+   *
    * @struct:
    *   FT_Bitmap_Size
    *
@@ -411,6 +526,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   library_setup
+   *
+   */
+
+  /**************************************************************************
+   *
    * @type:
    *   FT_Library
    *
@@ -483,7 +605,7 @@
   /**************************************************************************
    *
    * @section:
-   *   base_interface
+   *   face_creation
    *
    */
 
@@ -521,6 +643,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   sizing_and_scaling
+   *
+   */
+
+  /**************************************************************************
+   *
    * @type:
    *   FT_Size
    *
@@ -553,6 +682,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   glyph_retrieval
+   *
+   */
+
+  /**************************************************************************
+   *
    * @type:
    *   FT_GlyphSlot
    *
@@ -572,6 +708,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   character_mapping
+   *
+   */
+
+  /**************************************************************************
+   *
    * @type:
    *   FT_CharMap
    *
@@ -879,6 +1022,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   other_api_data
+   *
+   */
+
+  /**************************************************************************
+   *
    * @type:
    *   FT_Face_Internal
    *
@@ -894,6 +1044,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   face_creation
+   *
+   */
+
+  /**************************************************************************
+   *
    * @struct:
    *   FT_FaceRec
    *
@@ -918,7 +1075,7 @@
    *     If we have the third named instance of face~4, say, `face_index` is
    *     set to 0x00030004.
    *
-   *     Bit 31 is always zero (this is, `face_index` is always a positive
+   *     Bit 31 is always zero (that is, `face_index` is always a positive
    *     value).
    *
    *     [Since 2.9] Changing the design coordinates with
@@ -936,7 +1093,7 @@
    *
    *     [Since 2.6.1] Bits 16-30 hold the number of named instances
    *     available for the current face if we have a GX or OpenType variation
-   *     (sub)font.  Bit 31 is always zero (this is, `style_flags` is always
+   *     (sub)font.  Bit 31 is always zero (that is, `style_flags` is always
    *     a positive value).  Note that a variation font has always at least
    *     one named instance, namely the default instance.
    *
@@ -1002,7 +1159,7 @@
    *     Note that the bounding box might be off by (at least) one pixel for
    *     hinted fonts.  See @FT_Size_Metrics for further discussion.
    *
-   *     Note that the bounding box does not vary in OpenType variable fonts
+   *     Note that the bounding box does not vary in OpenType variation fonts
    *     and should only be used in relation to the default instance.
    *
    *   units_per_EM ::
@@ -1090,9 +1247,9 @@
 
     FT_Generic        generic;
 
-    /*# The following member variables (down to `underline_thickness`) */
-    /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size    */
-    /*# for bitmap fonts.                                              */
+    /* The following member variables (down to `underline_thickness`) */
+    /* are only relevant to scalable outlines; cf. @FT_Bitmap_Size    */
+    /* for bitmap fonts.                                              */
     FT_BBox           bbox;
 
     FT_UShort         units_per_EM;
@@ -1110,7 +1267,7 @@
     FT_Size           size;
     FT_CharMap        charmap;
 
-    /*@private begin */
+    /* private fields, internal to FreeType */
 
     FT_Driver         driver;
     FT_Memory         memory;
@@ -1123,8 +1280,6 @@
 
     FT_Face_Internal  internal;
 
-    /*@private end */
-
   } FT_FaceRec;
 
 
@@ -1207,13 +1362,13 @@
    *     successfully; in all other cases you get an
    *     `FT_Err_Invalid_Argument` error.
    *
-   *     Note that CID-keyed fonts that are in an SFNT wrapper (this is, all
+   *     Note that CID-keyed fonts that are in an SFNT wrapper (that is, all
    *     OpenType/CFF fonts) don't have this flag set since the glyphs are
    *     accessed in the normal way (using contiguous indices); the
    *     'CID-ness' isn't visible to the application.
    *
    *   FT_FACE_FLAG_TRICKY ::
-   *     The face is 'tricky', this is, it always needs the font format's
+   *     The face is 'tricky', that is, it always needs the font format's
    *     native hinting engine to get a reasonable result.  A typical example
    *     is the old Chinese font `mingli.ttf` (but not `mingliu.ttc`) that
    *     uses TrueType bytecode instructions to move and scale all of its
@@ -1235,8 +1390,8 @@
    *   FT_FACE_FLAG_VARIATION ::
    *     [Since 2.9] Set if the current face (or named instance) has been
    *     altered with @FT_Set_MM_Design_Coordinates,
-   *     @FT_Set_Var_Design_Coordinates, or @FT_Set_Var_Blend_Coordinates.
-   *     This flag is unset by a call to @FT_Set_Named_Instance.
+   *     @FT_Set_Var_Design_Coordinates, @FT_Set_Var_Blend_Coordinates, or
+   *     @FT_Set_MM_WeightVector to select a non-default instance.
    *
    *   FT_FACE_FLAG_SVG ::
    *     [Since 2.12] The face has an 'SVG~' OpenType table.
@@ -1274,6 +1429,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   font_testing_macros
+   *
+   */
+
+  /**************************************************************************
+   *
    * @macro:
    *   FT_HAS_HORIZONTAL
    *
@@ -1383,6 +1545,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   other_api_data
+   *
+   */
+
+  /**************************************************************************
+   *
    * @macro:
    *   FT_HAS_FAST_GLYPHS
    *
@@ -1395,6 +1564,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   font_testing_macros
+   *
+   */
+
+  /**************************************************************************
+   *
    * @macro:
    *   FT_HAS_GLYPH_NAMES
    *
@@ -1451,8 +1627,8 @@
    *
    * @description:
    *   A macro that returns true whenever a face object has been altered by
-   *   @FT_Set_MM_Design_Coordinates, @FT_Set_Var_Design_Coordinates, or
-   *   @FT_Set_Var_Blend_Coordinates.
+   *   @FT_Set_MM_Design_Coordinates, @FT_Set_Var_Design_Coordinates,
+   *   @FT_Set_Var_Blend_Coordinates, or @FT_Set_MM_WeightVector.
    *
    * @since:
    *   2.9
@@ -1630,6 +1806,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   face_creation
+   *
+   */
+
+  /**************************************************************************
+   *
    * @enum:
    *   FT_STYLE_FLAG_XXX
    *
@@ -1656,6 +1839,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   other_api_data
+   *
+   */
+
+  /**************************************************************************
+   *
    * @type:
    *   FT_Size_Internal
    *
@@ -1668,6 +1858,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   sizing_and_scaling
+   *
+   */
+
+  /**************************************************************************
+   *
    * @struct:
    *   FT_Size_Metrics
    *
@@ -1819,6 +2016,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   other_api_data
+   *
+   */
+
+  /**************************************************************************
+   *
    * @struct:
    *   FT_SubGlyph
    *
@@ -1850,6 +2054,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   glyph_retrieval
+   *
+   */
+
+  /**************************************************************************
+   *
    * @struct:
    *   FT_GlyphSlotRec
    *
@@ -2094,6 +2305,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   library_setup
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Init_FreeType
    *
@@ -2151,6 +2369,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   face_creation
+   *
+   */
+
+  /**************************************************************************
+   *
    * @enum:
    *   FT_OPEN_XXX
    *
@@ -2451,7 +2676,7 @@
    *   Each new face object created with this function also owns a default
    *   @FT_Size object, accessible as `face->size`.
    *
-   *   One @FT_Library instance can have multiple face objects, this is,
+   *   One @FT_Library instance can have multiple face objects, that is,
    *   @FT_Open_Face and its siblings can be called multiple times using the
    *   same `library` argument.
    *
@@ -2652,6 +2877,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   sizing_and_scaling
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Select_Size
    *
@@ -2679,7 +2911,7 @@
    *   silently uses outlines if there is no bitmap for a given glyph index.
    *
    *   For GX and OpenType variation fonts, a bitmap strike makes sense only
-   *   if the default instance is active (this is, no glyph variation takes
+   *   if the default instance is active (that is, no glyph variation takes
    *   place); otherwise, FreeType simply ignores bitmap strikes.  The same
    *   is true for all named instances that are different from the default
    *   instance.
@@ -2944,6 +3176,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   glyph_retrieval
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Load_Glyph
    *
@@ -2976,7 +3215,7 @@
    *   glyph may be transformed.  See @FT_Set_Transform for the details.
    *
    *   For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument` is returned
-   *   for invalid CID values (this is, for CID values that don't have a
+   *   for invalid CID values (that is, for CID values that don't have a
    *   corresponding glyph in the font).  See the discussion of the
    *   @FT_FACE_FLAG_CID_KEYED flag for more details.
    *
@@ -2992,6 +3231,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   character_mapping
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Load_Char
    *
@@ -3035,6 +3281,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   glyph_retrieval
+   *
+   */
+
+  /**************************************************************************
+   *
    * @enum:
    *   FT_LOAD_XXX
    *
@@ -3172,10 +3425,11 @@
    *
    *     [Since 2.12] If the glyph index maps to an entry in the face's
    *     'SVG~' table, load the associated SVG document from this table and
-   *     set the `format` field of @FT_GlyphSlotRec to @FT_GLYPH_FORMAT_SVG.
-   *     Note that FreeType itself can't render SVG documents; however, the
-   *     library provides hooks to seamlessly integrate an external renderer.
-   *     See sections @ot_svg_driver and @svg_fonts for more.
+   *     set the `format` field of @FT_GlyphSlotRec to @FT_GLYPH_FORMAT_SVG
+   *     ([since 2.13.1] provided @FT_LOAD_NO_SVG is not set).  Note that
+   *     FreeType itself can't render SVG documents; however, the library
+   *     provides hooks to seamlessly integrate an external renderer.  See
+   *     sections @ot_svg_driver and @svg_fonts for more.
    *
    *     [Since 2.10, experimental] If the glyph index maps to an entry in
    *     the face's 'COLR' table with a 'CPAL' palette table (as defined in
@@ -3189,6 +3443,9 @@
    *     @FT_Palette_Select instead of setting @FT_LOAD_COLOR for rendering
    *     so that the client application can handle blending by itself.
    *
+   *   FT_LOAD_NO_SVG ::
+   *     [Since 2.13.1] Ignore SVG glyph data when loading.
+   *
    *   FT_LOAD_COMPUTE_METRICS ::
    *     [Since 2.6.1] Compute glyph metrics from the glyph data, without the
    *     use of bundled metrics tables (for example, the 'hdmx' table in
@@ -3254,6 +3511,7 @@
 #define FT_LOAD_COLOR                        ( 1L << 20 )
 #define FT_LOAD_COMPUTE_METRICS              ( 1L << 21 )
 #define FT_LOAD_BITMAP_METRICS_ONLY          ( 1L << 22 )
+#define FT_LOAD_NO_SVG                       ( 1L << 24 )
 
   /* */
 
@@ -3374,6 +3632,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   sizing_and_scaling
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Set_Transform
    *
@@ -3449,6 +3714,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   glyph_retrieval
+   *
+   */
+
+  /**************************************************************************
+   *
    * @enum:
    *   FT_Render_Mode
    *
@@ -3843,6 +4115,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   character_mapping
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Select_Charmap
    *
@@ -4059,6 +4338,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   face_creation
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Face_Properties
    *
@@ -4157,6 +4443,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   information_retrieval
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Get_Name_Index
    *
@@ -4266,9 +4559,10 @@
    *
    *   [Since 2.9] Special PostScript names for named instances are only
    *   returned if the named instance is set with @FT_Set_Named_Instance (and
-   *   the font has corresponding entries in its 'fvar' table).  If
-   *   @FT_IS_VARIATION returns true, the algorithmically derived PostScript
-   *   name is provided, not looking up special entries for named instances.
+   *   the font has corresponding entries in its 'fvar' table or is the
+   *   default named instance).  If @FT_IS_VARIATION returns true, the
+   *   algorithmically derived PostScript name is provided, not looking up
+   *   special entries for named instances.
    */
   FT_EXPORT( const char* )
   FT_Get_Postscript_Name( FT_Face  face );
@@ -4900,32 +5194,10 @@
   /**************************************************************************
    *
    * @section:
-   *   version
-   *
-   * @title:
-   *   FreeType Version
-   *
-   * @abstract:
-   *   Functions and macros related to FreeType versions.
-   *
-   * @description:
-   *   Note that those functions and macros are of limited use because even a
-   *   new release of FreeType with only documentation changes increases the
-   *   version number.
-   *
-   * @order:
-   *   FT_Library_Version
-   *
-   *   FREETYPE_MAJOR
-   *   FREETYPE_MINOR
-   *   FREETYPE_PATCH
-   *
-   *   FT_Face_CheckTrueTypePatents
-   *   FT_Face_SetUnpatentedHinting
+   *   library_setup
    *
    */
 
-
   /**************************************************************************
    *
    * @enum:
@@ -4950,7 +5222,7 @@
    */
 #define FREETYPE_MAJOR  2
 #define FREETYPE_MINOR  13
-#define FREETYPE_PATCH  0
+#define FREETYPE_PATCH  2
 
 
   /**************************************************************************
@@ -4994,6 +5266,13 @@
 
   /**************************************************************************
    *
+   * @section:
+   *   other_api_data
+   *
+   */
+
+  /**************************************************************************
+   *
    * @function:
    *   FT_Face_CheckTrueTypePatents
    *
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftchapters.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftchapters.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftchapters.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftchapters.h	2024-04-08 05:38:38.000000000 +0000
@@ -31,9 +31,28 @@
    *   Core API
    *
    * @sections:
-   *   version
    *   basic_types
-   *   base_interface
+   *   library_setup
+   *   face_creation
+   *   font_testing_macros
+   *   sizing_and_scaling
+   *   glyph_retrieval
+   *   character_mapping
+   *   information_retrieval
+   *   other_api_data
+   *
+   */
+
+
+  /**************************************************************************
+   *
+   * @chapter:
+   *   extended_api
+   *
+   * @title:
+   *   Extended API
+   *
+   * @sections:
    *   glyph_variants
    *   color_management
    *   layer_management
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h	2024-04-08 05:38:38.000000000 +0000
@@ -134,7 +134,7 @@
    *   each being rounded to the nearest pixel edge, taking care of overshoot
    *   suppression at small sizes, stem darkening, and scaling.
    *
-   *   Hstems (this is, hint values defined in the font to help align
+   *   Hstems (that is, hint values defined in the font to help align
    *   horizontal features) that fall within a blue zone are said to be
    *   'captured' and are aligned to that zone.  Uncaptured stems are moved
    *   in one of four ways, top edge up or down, bottom edge up or down.
@@ -446,7 +446,7 @@
    *   at smaller sizes.
    *
    *   For the auto-hinter, stem-darkening is experimental currently and thus
-   *   switched off by default (this is, `no-stem-darkening` is set to TRUE
+   *   switched off by default (that is, `no-stem-darkening` is set to TRUE
    *   by default).  Total consistency with the CFF driver is not achieved
    *   right now because the emboldening method differs and glyphs must be
    *   scaled down on the Y-axis to keep outline points inside their
@@ -651,11 +651,8 @@
    *     Windows~98; only grayscale and B/W rasterizing is supported.
    *
    *   TT_INTERPRETER_VERSION_38 ::
-   *     Version~38 corresponds to MS rasterizer v.1.9; it is roughly
-   *     equivalent to the hinting provided by DirectWrite ClearType (as can
-   *     be found, for example, in the Internet Explorer~9 running on
-   *     Windows~7).  It is used in FreeType to select the 'Infinality'
-   *     subpixel hinting code.  The code may be removed in a future version.
+   *     Version~38 is the same Version~40. The original 'Infinality' code is
+   *     no longer available.
    *
    *   TT_INTERPRETER_VERSION_40 ::
    *     Version~40 corresponds to MS rasterizer v.2.1; it is roughly
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftimage.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftimage.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftimage.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftimage.h	2024-04-08 05:38:38.000000000 +0000
@@ -19,7 +19,7 @@
   /**************************************************************************
    *
    * Note: A 'raster' is simply a scan-line converter, used to render
-   *       FT_Outlines into FT_Bitmaps.
+   *       `FT_Outline`s into `FT_Bitmap`s.
    *
    */
 
@@ -256,6 +256,12 @@
    *   palette ::
    *     A typeless pointer to the bitmap palette; this field is intended for
    *     paletted pixel modes.  Not used currently.
+   *
+   * @note:
+   *   `width` and `rows` refer to the *physical* size of the bitmap, not the
+   *   *logical* one.  For example, if @FT_Pixel_Mode is set to
+   *   `FT_PIXEL_MODE_LCD`, the logical width is a just a third of the
+   *   physical one.
    */
   typedef struct  FT_Bitmap_
   {
@@ -856,7 +862,7 @@
    *   @FT_SpanFunc that takes the y~coordinate of the span as a parameter.
    *
    *   The anti-aliased rasterizer produces coverage values from 0 to 255,
-   *   this is, from completely transparent to completely opaque.
+   *   that is, from completely transparent to completely opaque.
    */
   typedef struct  FT_Span_
   {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftlogging.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftlogging.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftlogging.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftlogging.h	2024-04-08 05:38:38.000000000 +0000
@@ -62,7 +62,7 @@
    *   component.
    *
    *   ```
-   *   FT_Trace_Set_Level( "any:7 memory:0 );
+   *   FT_Trace_Set_Level( "any:7 memory:0" );
    *   ```
    *
    * @note:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftmm.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftmm.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftmm.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftmm.h	2024-04-08 05:38:38.000000000 +0000
@@ -153,7 +153,7 @@
    * @note:
    *   The fields `minimum`, `def`, and `maximum` are 16.16 fractional values
    *   for TrueType GX and OpenType variation fonts.  For Adobe MM fonts, the
-   *   values are integers.
+   *   values are whole numbers (i.e., the fractional part is zero).
    */
   typedef struct  FT_Var_Axis_
   {
@@ -399,8 +399,8 @@
    *
    * @note:
    *   The design coordinates are 16.16 fractional values for TrueType GX and
-   *   OpenType variation fonts.  For Adobe MM fonts, the values are
-   *   integers.
+   *   OpenType variation fonts.  For Adobe MM fonts, the values are supposed
+   *   to be whole numbers (i.e., the fractional part is zero).
    *
    *   [Since 2.8.1] To reset all axes to the default values, call the
    *   function with `num_coords` set to zero and `coords` set to `NULL`.
@@ -446,8 +446,8 @@
    *
    * @note:
    *   The design coordinates are 16.16 fractional values for TrueType GX and
-   *   OpenType variation fonts.  For Adobe MM fonts, the values are
-   *   integers.
+   *   OpenType variation fonts.  For Adobe MM fonts, the values are whole
+   *   numbers (i.e., the fractional part is zero).
    *
    * @since:
    *   2.7.1
@@ -602,10 +602,12 @@
    *
    * @note:
    *   Adobe Multiple Master fonts limit the number of designs, and thus the
-   *   length of the weight vector to~16.
+   *   length of the weight vector to 16~elements.
    *
-   *   If `len` is zero and `weightvector` is `NULL`, the weight vector array
-   *   is reset to the default values.
+   *   If `len` is larger than zero, this function sets the
+   *   @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field (i.e.,
+   *   @FT_IS_VARIATION will return true).  If `len` is zero, this bit flag
+   *   is unset and the weight vector array is reset to the default values.
    *
    *   The Adobe documentation also states that the values in the
    *   WeightVector array must total 1.0 +/-~0.001.  In practice this does
@@ -753,6 +755,45 @@
   FT_Set_Named_Instance( FT_Face  face,
                          FT_UInt  instance_index );
 
+
+  /**************************************************************************
+   *
+   * @function:
+   *   FT_Get_Default_Named_Instance
+   *
+   * @description:
+   *   Retrieve the index of the default named instance, to be used with
+   *   @FT_Set_Named_Instance.
+   *
+   *   The default instance of a variation font is that instance for which
+   *   the nth axis coordinate is equal to `axis[n].def` (as specified in the
+   *   @FT_MM_Var structure), with~n covering all axes.
+   *
+   *   FreeType synthesizes a named instance for the default instance if the
+   *   font does not contain such an entry.
+   *
+   * @input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @output:
+   *   instance_index ::
+   *     The index of the default named instance.
+   *
+   * @return:
+   *   FreeType error code.  0~means success.
+   *
+   * @note:
+   *   For Adobe MM fonts (which don't have named instances) this function
+   *   always returns zero for `instance_index`.
+   *
+   * @since:
+   *   2.13.1
+   */
+  FT_EXPORT( FT_Error )
+  FT_Get_Default_Named_Instance( FT_Face   face,
+                                 FT_UInt  *instance_index );
+
   /* */
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftoutln.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftoutln.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftoutln.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftoutln.h	2024-04-08 05:38:38.000000000 +0000
@@ -118,7 +118,7 @@
    *   attachement.
    *
    *   Similarly, the function returns success for an empty outline also
-   *   (doing nothing, this is, not calling any emitter); if necessary, you
+   *   (doing nothing, that is, not calling any emitter); if necessary, you
    *   should filter this out, too.
    */
   FT_EXPORT( FT_Error )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftrender.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftrender.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftrender.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftrender.h	2024-04-08 05:38:38.000000000 +0000
@@ -158,7 +158,7 @@
     FT_Renderer_GetCBoxFunc    get_glyph_cbox;
     FT_Renderer_SetModeFunc    set_mode;
 
-    FT_Raster_Funcs*           raster_class;
+    const FT_Raster_Funcs*     raster_class;
 
   } FT_Renderer_Class;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftsynth.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftsynth.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftsynth.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftsynth.h	2024-04-08 05:38:38.000000000 +0000
@@ -68,6 +68,18 @@
   FT_EXPORT( void )
   FT_GlyphSlot_Embolden( FT_GlyphSlot  slot );
 
+  /* Precisely adjust the glyph weight either horizontally or vertically.  */
+  /* The `xdelta` and `ydelta` values are fractions of the face Em size    */
+  /* (in fixed-point format).  Considering that a regular face would have  */
+  /* stem widths on the order of 0.1 Em, a delta of 0.05 (0x0CCC) should   */
+  /* be very noticeable.  To increase or decrease the weight, use positive */
+  /* or negative values, respectively.                                     */
+  FT_EXPORT( void )
+  FT_GlyphSlot_AdjustWeight( FT_GlyphSlot  slot,
+                             FT_Fixed      xdelta,
+                             FT_Fixed      ydelta );
+
+
   /* Slant an outline glyph to the right by about 12 degrees.              */
   FT_EXPORT( void )
   FT_GlyphSlot_Oblique( FT_GlyphSlot  slot );
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftsystem.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftsystem.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/ftsystem.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/ftsystem.h	2024-04-08 05:38:38.000000000 +0000
@@ -229,8 +229,7 @@
    *     A handle to the source stream.
    *
    *   offset ::
-   *     The offset from the start of the stream to seek to if this is a seek
-   *     operation (see note).
+   *     The offset from the start of the stream to seek to.
    *
    *   buffer ::
    *     The address of the read buffer.
@@ -239,16 +238,9 @@
    *     The number of bytes to read from the stream.
    *
    * @return:
-   *   The number of bytes effectively read by the stream.
-   *
-   * @note:
-   *   This function performs a seek *or* a read operation depending on the
-   *   argument values.  If `count` is zero, the operation is a seek to
-   *   `offset` bytes.  If `count` is >~0, the operation is a read of `count`
-   *   bytes from the current position in the stream, and the `offset` value
-   *   should be ignored.
-   *
-   *   For seek operations, a non-zero return value indicates an error.
+   *   If count >~0, return the number of bytes effectively read by the
+   *   stream (after seeking to `offset`).  If count ==~0, return the status
+   *   of the seek operation (non-zero indicates an error).
    *
    */
   typedef unsigned long
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/compiler-macros.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/compiler-macros.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/compiler-macros.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/compiler-macros.h	2024-04-08 05:38:38.000000000 +0000
@@ -41,8 +41,11 @@
 #  if ( defined( __STDC_VERSION__ ) && __STDC_VERSION__ > 201710L ) || \
       ( defined( __cplusplus ) && __cplusplus > 201402L )
 #    define FALL_THROUGH  [[__fallthrough__]]
-#  elif ( defined( __GNUC__ ) && __GNUC__ >= 7 )          || \
-        ( defined( __clang__ ) && __clang_major__ >= 10 )
+#  elif ( defined( __GNUC__ ) && __GNUC__ >= 7 )       || \
+        ( defined( __clang__ )                      &&    \
+          ( defined( __apple_build_version__ )            \
+              ? __apple_build_version__ >= 12000000       \
+              : __clang_major__ >= 10 ) )
 #    define FALL_THROUGH  __attribute__(( __fallthrough__ ))
 #  else
 #    define FALL_THROUGH  ( (void)0 )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftcalc.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftcalc.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftcalc.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftcalc.h	2024-04-08 05:38:38.000000000 +0000
@@ -332,9 +332,9 @@
    * Based on geometric considerations we use the following inequality to
    * identify a degenerate matrix.
    *
-   *   50 * abs(xx*yy - xy*yx) < xx^2 + xy^2 + yx^2 + yy^2
+   *   32 * abs(xx*yy - xy*yx) < xx^2 + xy^2 + yx^2 + yy^2
    *
-   * Value 50 is heuristic.
+   * Value 32 is heuristic.
    */
   FT_BASE( FT_Bool )
   FT_Matrix_Check( const FT_Matrix*  matrix );
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdrv.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdrv.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdrv.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdrv.h	2024-04-08 05:38:38.000000000 +0000
@@ -157,6 +157,7 @@
    *     A handle to a function used to select a new fixed size.  It is used
    *     only if @FT_FACE_FLAG_FIXED_SIZES is set.  Can be set to 0 if the
    *     scaling done in the base layer suffices.
+   *
    * @note:
    *   Most function pointers, with the exception of `load_glyph`, can be set
    *   to 0 to indicate a default behaviour.
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmmtypes.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmmtypes.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmmtypes.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmmtypes.h	2024-04-08 05:38:38.000000000 +0000
@@ -28,13 +28,19 @@
 
   typedef struct  GX_ItemVarDataRec_
   {
-    FT_UInt            itemCount;       /* number of delta sets per item    */
-    FT_UInt            regionIdxCount;  /* number of region indices         */
-    FT_UInt*           regionIndices;   /* array of `regionCount' indices;  */
-                                        /* these index `varRegionList'      */
-    FT_ItemVarDelta*   deltaSet;        /* array of `itemCount' deltas      */
-                                        /* use `innerIndex' for this array  */
-
+    FT_UInt            itemCount;      /* Number of delta sets per item.   */
+    FT_UInt            regionIdxCount; /* Number of region indices.        */
+    FT_UInt*           regionIndices;  /* Array of `regionCount` indices;  */
+                                       /* these index `varRegionList`.     */
+    FT_Byte*           deltaSet;       /* Array of `itemCount` deltas;     */
+                                       /* use `innerIndex` for this array. */
+    FT_UShort          wordDeltaCount; /* Number of the first 32-bit ints  */
+                                       /* or 16-bit ints of `deltaSet`     */
+                                       /* depending on `longWords`.        */
+    FT_Bool            longWords;      /* If true, `deltaSet` is a 32-bit  */
+                                       /* array followed by a 16-bit       */
+                                       /* array, otherwise a 16-bit array  */
+                                       /* followed by an 8-bit array.      */
   } GX_ItemVarDataRec, *GX_ItemVarData;
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmetric.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmetric.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmetric.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmetric.h	2024-04-08 05:38:38.000000000 +0000
@@ -77,6 +77,9 @@
   typedef void
   (*FT_Metrics_Adjust_Func)( FT_Face  face );
 
+  typedef FT_Error
+  (*FT_Size_Reset_Func)( FT_Size  size );
+
 
   FT_DEFINE_SERVICE( MetricsVariations )
   {
@@ -90,6 +93,7 @@
     FT_VOrg_Adjust_Func      vorg_adjust;
 
     FT_Metrics_Adjust_Func   metrics_adjust;
+    FT_Size_Reset_Func       size_reset;
   };
 
 
@@ -101,7 +105,8 @@
                                                 tsb_adjust_,       \
                                                 bsb_adjust_,       \
                                                 vorg_adjust_,      \
-                                                metrics_adjust_  ) \
+                                                metrics_adjust_,   \
+                                                size_reset_      ) \
   static const FT_Service_MetricsVariationsRec  class_ =           \
   {                                                                \
     hadvance_adjust_,                                              \
@@ -111,7 +116,8 @@
     tsb_adjust_,                                                   \
     bsb_adjust_,                                                   \
     vorg_adjust_,                                                  \
-    metrics_adjust_                                                \
+    metrics_adjust_,                                               \
+    size_reset_                                                    \
   };
 
   /* */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmm.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmm.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmm.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmm.h	2024-04-08 05:38:38.000000000 +0000
@@ -60,9 +60,9 @@
   /* use return value -1 to indicate that the new coordinates  */
   /* are equal to the current ones; no changes are thus needed */
   typedef FT_Error
-  (*FT_Set_MM_Blend_Func)( FT_Face   face,
-                           FT_UInt   num_coords,
-                           FT_Long*  coords );
+  (*FT_Set_MM_Blend_Func)( FT_Face    face,
+                           FT_UInt    num_coords,
+                           FT_Fixed*  coords );
 
   typedef FT_Error
   (*FT_Get_Var_Design_Func)( FT_Face    face,
@@ -70,13 +70,17 @@
                              FT_Fixed*  coords );
 
   typedef FT_Error
-  (*FT_Set_Instance_Func)( FT_Face  face,
-                           FT_UInt  instance_index );
+  (*FT_Set_Named_Instance_Func)( FT_Face  face,
+                                 FT_UInt  instance_index );
 
   typedef FT_Error
-  (*FT_Get_MM_Blend_Func)( FT_Face   face,
-                           FT_UInt   num_coords,
-                           FT_Long*  coords );
+  (*FT_Get_Default_Named_Instance_Func)( FT_Face   face,
+                                         FT_UInt  *instance_index );
+
+  typedef FT_Error
+  (*FT_Get_MM_Blend_Func)( FT_Face    face,
+                           FT_UInt    num_coords,
+                           FT_Fixed*  coords );
 
   typedef FT_Error
   (*FT_Get_Var_Blend_Func)( FT_Face      face,
@@ -86,7 +90,7 @@
                             FT_MM_Var*  *mm_var );
 
   typedef void
-  (*FT_Done_Blend_Func)( FT_Face );
+  (*FT_Done_Blend_Func)( FT_Face  face );
 
   typedef FT_Error
   (*FT_Set_MM_WeightVector_Func)( FT_Face    face,
@@ -98,6 +102,9 @@
                                   FT_UInt*   len,
                                   FT_Fixed*  weight_vector );
 
+  typedef void
+  (*FT_Construct_PS_Name_Func)( FT_Face  face );
+
   typedef FT_Error
   (*FT_Var_Load_Delta_Set_Idx_Map_Func)( FT_Face            face,
                                          FT_ULong           offset,
@@ -134,11 +141,13 @@
     FT_Get_MM_Var_Func                    get_mm_var;
     FT_Set_Var_Design_Func                set_var_design;
     FT_Get_Var_Design_Func                get_var_design;
-    FT_Set_Instance_Func                  set_instance;
+    FT_Set_Named_Instance_Func            set_named_instance;
+    FT_Get_Default_Named_Instance_Func    get_default_named_instance;
     FT_Set_MM_WeightVector_Func           set_mm_weightvector;
     FT_Get_MM_WeightVector_Func           get_mm_weightvector;
 
     /* for internal use; only needed for code sharing between modules */
+    FT_Construct_PS_Name_Func             construct_ps_name;
     FT_Var_Load_Delta_Set_Idx_Map_Func    load_delta_set_idx_map;
     FT_Var_Load_Item_Var_Store_Func       load_item_var_store;
     FT_Var_Get_Item_Delta_Func            get_item_delta;
@@ -149,43 +158,49 @@
   };
 
 
-#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_,                  \
-                                           get_mm_,                 \
-                                           set_mm_design_,          \
-                                           set_mm_blend_,           \
-                                           get_mm_blend_,           \
-                                           get_mm_var_,             \
-                                           set_var_design_,         \
-                                           get_var_design_,         \
-                                           set_instance_,           \
-                                           set_weightvector_,       \
-                                           get_weightvector_,       \
-                                           load_delta_set_idx_map_, \
-                                           load_item_var_store_,    \
-                                           get_item_delta_,         \
-                                           done_item_var_store_,    \
-                                           done_delta_set_idx_map_, \
-                                           get_var_blend_,          \
-                                           done_blend_ )            \
-  static const FT_Service_MultiMastersRec  class_ =                 \
-  {                                                                 \
-    get_mm_,                                                        \
-    set_mm_design_,                                                 \
-    set_mm_blend_,                                                  \
-    get_mm_blend_,                                                  \
-    get_mm_var_,                                                    \
-    set_var_design_,                                                \
-    get_var_design_,                                                \
-    set_instance_,                                                  \
-    set_weightvector_,                                              \
-    get_weightvector_,                                              \
-    load_delta_set_idx_map_,                                        \
-    load_item_var_store_,                                           \
-    get_item_delta_,                                                \
-    done_item_var_store_,                                           \
-    done_delta_set_idx_map_,                                        \
-    get_var_blend_,                                                 \
-    done_blend_                                                     \
+#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_,                      \
+                                           get_mm_,                     \
+                                           set_mm_design_,              \
+                                           set_mm_blend_,               \
+                                           get_mm_blend_,               \
+                                           get_mm_var_,                 \
+                                           set_var_design_,             \
+                                           get_var_design_,             \
+                                           set_named_instance_,         \
+                                           get_default_named_instance_, \
+                                           set_mm_weightvector_,        \
+                                           get_mm_weightvector_,        \
+                                                                        \
+                                           construct_ps_name_,          \
+                                           load_delta_set_idx_map_,     \
+                                           load_item_var_store_,        \
+                                           get_item_delta_,             \
+                                           done_item_var_store_,        \
+                                           done_delta_set_idx_map_,     \
+                                           get_var_blend_,              \
+                                           done_blend_ )                \
+  static const FT_Service_MultiMastersRec  class_ =                     \
+  {                                                                     \
+    get_mm_,                                                            \
+    set_mm_design_,                                                     \
+    set_mm_blend_,                                                      \
+    get_mm_blend_,                                                      \
+    get_mm_var_,                                                        \
+    set_var_design_,                                                    \
+    get_var_design_,                                                    \
+    set_named_instance_,                                                \
+    get_default_named_instance_,                                        \
+    set_mm_weightvector_,                                               \
+    get_mm_weightvector_,                                               \
+                                                                        \
+    construct_ps_name_,                                                 \
+    load_delta_set_idx_map_,                                            \
+    load_item_var_store_,                                               \
+    get_item_delta_,                                                    \
+    done_item_var_store_,                                               \
+    done_delta_set_idx_map_,                                            \
+    get_var_blend_,                                                     \
+    done_blend_                                                         \
   };
 
   /* */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpscmap.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpscmap.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpscmap.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpscmap.h	2024-04-08 05:38:38.000000000 +0000
@@ -97,7 +97,7 @@
   (*PS_Unicodes_CharIndexFunc)( PS_Unicodes  unicodes,
                                 FT_UInt32    unicode );
 
-  typedef FT_UInt32
+  typedef FT_UInt
   (*PS_Unicodes_CharNextFunc)( PS_Unicodes  unicodes,
                                FT_UInt32   *unicode );
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/t1types.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/t1types.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/t1types.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/t1types.h	2024-04-08 05:38:38.000000000 +0000
@@ -201,30 +201,30 @@
 
   typedef struct  T1_FaceRec_
   {
-    FT_FaceRec      root;
-    T1_FontRec      type1;
-    const void*     psnames;
-    const void*     psaux;
-    const void*     afm_data;
-    FT_CharMapRec   charmaprecs[2];
-    FT_CharMap      charmaps[2];
+    FT_FaceRec     root;
+    T1_FontRec     type1;
+    const void*    psnames;
+    const void*    psaux;
+    const void*    afm_data;
+    FT_CharMapRec  charmaprecs[2];
+    FT_CharMap     charmaps[2];
 
     /* support for Multiple Masters fonts */
-    PS_Blend        blend;
+    PS_Blend       blend;
 
     /* undocumented, optional: indices of subroutines that express      */
     /* the NormalizeDesignVector and the ConvertDesignVector procedure, */
     /* respectively, as Type 2 charstrings; -1 if keywords not present  */
-    FT_Int           ndv_idx;
-    FT_Int           cdv_idx;
+    FT_Int         ndv_idx;
+    FT_Int         cdv_idx;
 
     /* undocumented, optional: has the same meaning as len_buildchar */
     /* for Type 2 fonts; manipulated by othersubrs 19, 24, and 25    */
-    FT_UInt          len_buildchar;
-    FT_Long*         buildchar;
+    FT_UInt        len_buildchar;
+    FT_Long*       buildchar;
 
     /* since version 2.1 - interface to PostScript hinter */
-    const void*     pshinter;
+    const void*    pshinter;
 
   } T1_FaceRec;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/tttypes.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/tttypes.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/include/freetype/internal/tttypes.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/include/freetype/internal/tttypes.h	2024-04-08 05:38:38.000000000 +0000
@@ -779,13 +779,15 @@
   /**************************************************************************
    *
    * @struct:
-   *   TT_Post_20Rec
+   *   TT_Post_NamesRec
    *
    * @description:
-   *   Postscript names sub-table, format 2.0.  Stores the PS name of each
-   *   glyph in the font face.
+   *   Postscript names table, either format 2.0 or 2.5.
    *
    * @fields:
+   *   loaded ::
+   *     A flag to indicate whether the PS names are loaded.
+   *
    *   num_glyphs ::
    *     The number of named glyphs in the table.
    *
@@ -798,68 +800,13 @@
    *   glyph_names ::
    *     The PS names not in Mac Encoding.
    */
-  typedef struct  TT_Post_20Rec_
+  typedef struct  TT_Post_NamesRec_
   {
+    FT_Bool     loaded;
     FT_UShort   num_glyphs;
     FT_UShort   num_names;
     FT_UShort*  glyph_indices;
-    FT_Char**   glyph_names;
-
-  } TT_Post_20Rec, *TT_Post_20;
-
-
-  /**************************************************************************
-   *
-   * @struct:
-   *   TT_Post_25Rec
-   *
-   * @description:
-   *   Postscript names sub-table, format 2.5.  Stores the PS name of each
-   *   glyph in the font face.
-   *
-   * @fields:
-   *   num_glyphs ::
-   *     The number of glyphs in the table.
-   *
-   *   offsets ::
-   *     An array of signed offsets in a normal Mac Postscript name encoding.
-   */
-  typedef struct  TT_Post_25_
-  {
-    FT_UShort  num_glyphs;
-    FT_Char*   offsets;
-
-  } TT_Post_25Rec, *TT_Post_25;
-
-
-  /**************************************************************************
-   *
-   * @struct:
-   *   TT_Post_NamesRec
-   *
-   * @description:
-   *   Postscript names table, either format 2.0 or 2.5.
-   *
-   * @fields:
-   *   loaded ::
-   *     A flag to indicate whether the PS names are loaded.
-   *
-   *   format_20 ::
-   *     The sub-table used for format 2.0.
-   *
-   *   format_25 ::
-   *     The sub-table used for format 2.5.
-   */
-  typedef struct  TT_Post_NamesRec_
-  {
-    FT_Bool  loaded;
-
-    union
-    {
-      TT_Post_20Rec  format_20;
-      TT_Post_25Rec  format_25;
-
-    } names;
+    FT_Byte**   glyph_names;
 
   } TT_Post_NamesRec, *TT_Post_Names;
 
@@ -1253,12 +1200,16 @@
    *   mm ::
    *     A pointer to the Multiple Masters service.
    *
-   *   var ::
-   *     A pointer to the Metrics Variations service.
+   *   tt_var ::
+   *     A pointer to the Metrics Variations service for the "truetype"
+   *     driver.
+   *
+   *   face_var ::
+   *     A pointer to the Metrics Variations service for this `TT_Face`'s
+   *     driver.
    *
-   *   hdmx ::
-   *     The face's horizontal device metrics ('hdmx' table).  This table is
-   *     optional in TrueType/OpenType fonts.
+   *   psaux ::
+   *     A pointer to the PostScript Auxiliary service.
    *
    *   gasp ::
    *     The grid-fitting and scaling properties table ('gasp').  This table
@@ -1364,6 +1315,12 @@
    *   var_postscript_prefix_len ::
    *     The length of the `var_postscript_prefix` string.
    *
+   *   var_default_named_instance ::
+   *     The index of the default named instance.
+   *
+   *   non_var_style_name ::
+   *     The non-variation style name, used as a backup.
+   *
    *   horz_metrics_size ::
    *     The size of the 'hmtx' table.
    *
@@ -1410,14 +1367,6 @@
    *     A mapping between the strike indices exposed by the API and the
    *     indices used in the font's sbit table.
    *
-   *   cpal ::
-   *     A pointer to data related to the 'CPAL' table.  `NULL` if the table
-   *     is not available.
-   *
-   *   colr ::
-   *     A pointer to data related to the 'COLR' table.  `NULL` if the table
-   *     is not available.
-   *
    *   kern_table ::
    *     A pointer to the 'kern' table.
    *
@@ -1445,19 +1394,23 @@
    *   vert_metrics_offset ::
    *     The file offset of the 'vmtx' table.
    *
-   *   sph_found_func_flags ::
-   *     Flags identifying special bytecode functions (used by the v38
-   *     implementation of the bytecode interpreter).
-   *
-   *   sph_compatibility_mode ::
-   *     This flag is set if we are in ClearType backward compatibility mode
-   *     (used by the v38 implementation of the bytecode interpreter).
-   *
    *   ebdt_start ::
    *     The file offset of the sbit data table (CBDT, bdat, etc.).
    *
    *   ebdt_size ::
    *     The size of the sbit data table.
+   *
+   *   cpal ::
+   *     A pointer to data related to the 'CPAL' table.  `NULL` if the table
+   *     is not available.
+   *
+   *   colr ::
+   *     A pointer to data related to the 'COLR' table.  `NULL` if the table
+   *     is not available.
+   *
+   *   svg ::
+   *     A pointer to data related to the 'SVG' table.  `NULL` if the table
+   *     is not available.
    */
   typedef struct  TT_FaceRec_
   {
@@ -1508,8 +1461,14 @@
     void*                 mm;
 
     /* a typeless pointer to the FT_Service_MetricsVariationsRec table */
-    /* used to handle the HVAR, VVAR, and MVAR OpenType tables         */
-    void*                 var;
+    /* used to handle the HVAR, VVAR, and MVAR OpenType tables by the  */
+    /* "truetype" driver                                               */
+    void*                 tt_var;
+
+    /* a typeless pointer to the FT_Service_MetricsVariationsRec table */
+    /* used to handle the HVAR, VVAR, and MVAR OpenType tables by this */
+    /* TT_Face's driver                                                */
+    void*                 face_var;             /* since 2.13.1 */
 #endif
 
     /* a typeless pointer to the PostScript Aux service */
@@ -1591,6 +1550,9 @@
     const char*           var_postscript_prefix;     /* since 2.7.2 */
     FT_UInt               var_postscript_prefix_len; /* since 2.7.2 */
 
+    FT_UInt               var_default_named_instance;  /* since 2.13.1 */
+
+    const char*           non_var_style_name;  /* since 2.13.1 */
 #endif
 
     /* since version 2.2 */
@@ -1627,13 +1589,6 @@
     FT_ULong              horz_metrics_offset;
     FT_ULong              vert_metrics_offset;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    /* since 2.4.12 */
-    FT_ULong              sph_found_func_flags; /* special functions found */
-                                                /* for this face           */
-    FT_Bool               sph_compatibility_mode;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
     /* since 2.7 */
     FT_ULong              ebdt_start;  /* either `CBDT', `EBDT', or `bdat' */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat	2024-04-08 05:38:38.000000000 +0000
@@ -89,7 +89,7 @@
     "ت ث ط ظ ك"
   // We don't necessarily have access to medial forms via Unicode in case
   // Arabic presentational forms are missing.  The only character that is
-  // guaranteed to have the same vertical position with joining (this is,
+  // guaranteed to have the same vertical position with joining (that is,
   // non-isolated) forms is U+0640, ARABIC TATWEEL, which must join both
   // round and flat curves.
   AF_BLUE_STRING_ARABIC_JOIN
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.c	2024-04-08 05:38:38.000000000 +0000
@@ -417,16 +417,14 @@
 
         {
           FT_Int  nn;
-          FT_Int  first = 0;
-          FT_Int  last  = -1;
+          FT_Int  pp, first, last;
 
 
-          for ( nn = 0; nn < outline.n_contours; first = last + 1, nn++ )
+          last = -1;
+          for ( nn = 0; nn < outline.n_contours; nn++ )
           {
-            FT_Int  pp;
-
-
-            last = outline.contours[nn];
+            first = last + 1;
+            last  = outline.contours[nn];
 
             /* Avoid single-point contours since they are never rasterized. */
             /* In some fonts, they correspond to mark attachment points     */
@@ -569,8 +567,8 @@
   af_cjk_metrics_check_digits( AF_CJKMetrics  metrics,
                                FT_Face        face )
   {
-    FT_Bool   started = 0, same_width = 1;
-    FT_Fixed  advance = 0, old_advance = 0;
+    FT_Bool  started = 0, same_width = 1;
+    FT_Long  advance = 0, old_advance = 0;
 
     /* If HarfBuzz is not available, we need a pointer to a single */
     /* unsigned long value.                                        */
@@ -635,10 +633,11 @@
   /* Initialize global metrics. */
 
   FT_LOCAL_DEF( FT_Error )
-  af_cjk_metrics_init( AF_CJKMetrics  metrics,
-                       FT_Face        face )
+  af_cjk_metrics_init( AF_StyleMetrics  metrics_,  /* AF_CJKMetrics */
+                       FT_Face          face )
   {
-    FT_CharMap  oldmap = face->charmap;
+    AF_CJKMetrics  metrics = (AF_CJKMetrics)metrics_;
+    FT_CharMap     oldmap  = face->charmap;
 
 
     metrics->units_per_em = face->units_per_EM;
@@ -756,9 +755,12 @@
   /* Scale global values in both directions. */
 
   FT_LOCAL_DEF( void )
-  af_cjk_metrics_scale( AF_CJKMetrics  metrics,
-                        AF_Scaler      scaler )
+  af_cjk_metrics_scale( AF_StyleMetrics  metrics_,   /* AF_CJKMetrics */
+                        AF_Scaler        scaler )
   {
+    AF_CJKMetrics  metrics = (AF_CJKMetrics)metrics_;
+
+
     /* we copy the whole structure since the x and y scaling values */
     /* are not modified, contrary to e.g. the `latin' auto-hinter   */
     metrics->root.scaler = *scaler;
@@ -771,11 +773,14 @@
   /* Extract standard_width from writing system/script specific */
   /* metrics class.                                             */
 
-  FT_LOCAL_DEF( void )
-  af_cjk_get_standard_widths( AF_CJKMetrics  metrics,
-                              FT_Pos*        stdHW,
-                              FT_Pos*        stdVW )
+  FT_CALLBACK_DEF( void )
+  af_cjk_get_standard_widths( AF_StyleMetrics  metrics_,  /* AF_CJKMetrics */
+                              FT_Pos*          stdHW,
+                              FT_Pos*          stdVW )
   {
+    AF_CJKMetrics  metrics = (AF_CJKMetrics)metrics_;
+
+
     if ( stdHW )
       *stdHW = metrics->axis[AF_DIMENSION_VERT].standard_width;
 
@@ -1376,9 +1381,10 @@
   /* Initalize hinting engine. */
 
   FT_LOCAL_DEF( FT_Error )
-  af_cjk_hints_init( AF_GlyphHints  hints,
-                     AF_CJKMetrics  metrics )
+  af_cjk_hints_init( AF_GlyphHints    hints,
+                     AF_StyleMetrics  metrics_ )   /* AF_CJKMetrics */
   {
+    AF_CJKMetrics   metrics = (AF_CJKMetrics)metrics_;
     FT_Render_Mode  mode;
     FT_UInt32       scaler_flags, other_flags;
 
@@ -1628,7 +1634,7 @@
 
     stem_edge->pos = base_edge->pos + fitted_width;
 
-    FT_TRACE5(( "  CJKLINK: edge %ld @%d (opos=%.2f) linked to %.2f,"
+    FT_TRACE5(( "  CJKLINK: edge %td @%d (opos=%.2f) linked to %.2f,"
                 " dist was %.2f, now %.2f\n",
                 stem_edge - hints->axis[dim].edges, stem_edge->fpos,
                 (double)stem_edge->opos / 64,
@@ -1852,7 +1858,7 @@
           continue;
 
 #ifdef FT_DEBUG_LEVEL_TRACE
-        FT_TRACE5(( "  CJKBLUE: edge %ld @%d (opos=%.2f) snapped to %.2f,"
+        FT_TRACE5(( "  CJKBLUE: edge %td @%d (opos=%.2f) snapped to %.2f,"
                     " was %.2f\n",
                     edge1 - edges, edge1->fpos, (double)edge1->opos / 64,
                     (double)blue->fit / 64, (double)edge1->pos / 64 ));
@@ -1916,7 +1922,7 @@
       /* this should not happen, but it's better to be safe */
       if ( edge2->blue_edge )
       {
-        FT_TRACE5(( "ASSERTION FAILED for edge %ld\n", edge2-edges ));
+        FT_TRACE5(( "ASSERTION FAILED for edge %td\n", edge2 - edges ));
 
         af_cjk_align_linked_edge( hints, dim, edge2, edge );
         edge->flags |= AF_EDGE_DONE;
@@ -2268,11 +2274,13 @@
   /* Apply the complete hinting algorithm to a CJK glyph. */
 
   FT_LOCAL_DEF( FT_Error )
-  af_cjk_hints_apply( FT_UInt        glyph_index,
-                      AF_GlyphHints  hints,
-                      FT_Outline*    outline,
-                      AF_CJKMetrics  metrics )
+  af_cjk_hints_apply( FT_UInt          glyph_index,
+                      AF_GlyphHints    hints,
+                      FT_Outline*      outline,
+                      AF_StyleMetrics  metrics_ )   /* AF_CJKMetrics */
   {
+    AF_CJKMetrics  metrics = (AF_CJKMetrics)metrics_;
+
     FT_Error  error;
     int       dim;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afcjk.h	2024-04-08 05:38:38.000000000 +0000
@@ -103,22 +103,22 @@
 
 #ifdef AF_CONFIG_OPTION_CJK
   FT_LOCAL( FT_Error )
-  af_cjk_metrics_init( AF_CJKMetrics  metrics,
-                       FT_Face        face );
+  af_cjk_metrics_init( AF_StyleMetrics  metrics,
+                       FT_Face          face );
 
   FT_LOCAL( void )
-  af_cjk_metrics_scale( AF_CJKMetrics  metrics,
-                        AF_Scaler      scaler );
+  af_cjk_metrics_scale( AF_StyleMetrics  metrics,
+                        AF_Scaler        scaler );
 
   FT_LOCAL( FT_Error )
-  af_cjk_hints_init( AF_GlyphHints  hints,
-                     AF_CJKMetrics  metrics );
+  af_cjk_hints_init( AF_GlyphHints    hints,
+                     AF_StyleMetrics  metrics );
 
   FT_LOCAL( FT_Error )
-  af_cjk_hints_apply( FT_UInt        glyph_index,
-                      AF_GlyphHints  hints,
-                      FT_Outline*    outline,
-                      AF_CJKMetrics  metrics );
+  af_cjk_hints_apply( FT_UInt          glyph_index,
+                      AF_GlyphHints    hints,
+                      FT_Outline*      outline,
+                      AF_StyleMetrics  metrics );
 
   /* shared; called from afindic.c */
   FT_LOCAL( void )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.c	2024-04-08 05:38:38.000000000 +0000
@@ -376,8 +376,11 @@
 
 
   FT_LOCAL_DEF( void )
-  af_face_globals_free( AF_FaceGlobals  globals )
+  af_face_globals_free( void*  globals_ )
   {
+    AF_FaceGlobals  globals = (AF_FaceGlobals)globals_;
+
+
     if ( globals )
     {
       FT_Memory  memory = globals->face->memory;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afglobal.h	2024-04-08 05:38:38.000000000 +0000
@@ -156,7 +156,7 @@
                                AF_StyleMetrics  *ametrics );
 
   FT_LOCAL( void )
-  af_face_globals_free( AF_FaceGlobals  globals );
+  af_face_globals_free( void*  globals );
 
   FT_LOCAL( FT_Bool )
   af_face_globals_is_digit( AF_FaceGlobals  globals,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afhints.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afhints.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afhints.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afhints.c	2024-04-08 05:38:38.000000000 +0000
@@ -320,8 +320,9 @@
 
 
   static char*
-  af_print_idx( char* p,
-                int   idx )
+  af_print_idx( char*   p,
+                size_t  n,
+                int     idx )
   {
     if ( idx == -1 )
     {
@@ -330,7 +331,7 @@
       p[2] = '\0';
     }
     else
-      ft_sprintf( p, "%d", idx );
+      ft_snprintf( p, n, "%d", idx );
 
     return p;
   }
@@ -457,12 +458,12 @@
                 " %5d %5d %7.2f %7.2f %7.2f %7.2f"
                 " %5s %5s %5s %5s\n",
                 point_idx,
-                af_print_idx( buf1,
+                af_print_idx( buf1, 16,
                               af_get_edge_index( hints, segment_idx_1, 1 ) ),
-                af_print_idx( buf2, segment_idx_1 ),
-                af_print_idx( buf3,
+                af_print_idx( buf2, 16, segment_idx_1 ),
+                af_print_idx( buf3, 16,
                               af_get_edge_index( hints, segment_idx_0, 0 ) ),
-                af_print_idx( buf4, segment_idx_0 ),
+                af_print_idx( buf4, 16, segment_idx_0 ),
                 ( point->flags & AF_FLAG_NEAR )
                   ? " near "
                   : ( point->flags & AF_FLAG_WEAK_INTERPOLATION )
@@ -476,18 +477,22 @@
                 (double)point->x / 64,
                 (double)point->y / 64,
 
-                af_print_idx( buf5, af_get_strong_edge_index( hints,
-                                                              point->before,
-                                                              1 ) ),
-                af_print_idx( buf6, af_get_strong_edge_index( hints,
-                                                              point->after,
-                                                              1 ) ),
-                af_print_idx( buf7, af_get_strong_edge_index( hints,
-                                                              point->before,
-                                                              0 ) ),
-                af_print_idx( buf8, af_get_strong_edge_index( hints,
-                                                              point->after,
-                                                              0 ) ) ));
+                af_print_idx( buf5, 16,
+                              af_get_strong_edge_index( hints,
+                                                        point->before,
+                                                        1 ) ),
+                af_print_idx( buf6, 16,
+                              af_get_strong_edge_index( hints,
+                                                        point->after,
+                                                        1 ) ),
+                af_print_idx( buf7, 16,
+                              af_get_strong_edge_index( hints,
+                                                        point->before,
+                                                        0 ) ),
+                af_print_idx( buf8, 16,
+                              af_get_strong_edge_index( hints,
+                                                        point->after,
+                                                        0 ) ) ));
     }
     AF_DUMP(( "\n" ));
   }
@@ -574,9 +579,12 @@
                   AF_INDEX_NUM( seg->first, points ),
                   AF_INDEX_NUM( seg->last, points ),
 
-                  af_print_idx( buf1, AF_INDEX_NUM( seg->link, segments ) ),
-                  af_print_idx( buf2, AF_INDEX_NUM( seg->serif, segments ) ),
-                  af_print_idx( buf3, AF_INDEX_NUM( seg->edge, edges ) ),
+                  af_print_idx( buf1, 16,
+                                AF_INDEX_NUM( seg->link, segments ) ),
+                  af_print_idx( buf2, 16,
+                                AF_INDEX_NUM( seg->serif, segments ) ),
+                  af_print_idx( buf3, 16,
+                                AF_INDEX_NUM( seg->edge, edges ) ),
 
                   seg->height,
                   seg->height - ( seg->max_coord - seg->min_coord ),
@@ -716,8 +724,10 @@
                   AF_INDEX_NUM( edge, edges ),
                   (double)(int)edge->opos / 64,
                   af_dir_str( (AF_Direction)edge->dir ),
-                  af_print_idx( buf1, AF_INDEX_NUM( edge->link, edges ) ),
-                  af_print_idx( buf2, AF_INDEX_NUM( edge->serif, edges ) ),
+                  af_print_idx( buf1, 16,
+                                AF_INDEX_NUM( edge->link, edges ) ),
+                  af_print_idx( buf2, 16,
+                                AF_INDEX_NUM( edge->serif, edges ) ),
 
                   edge->blue_edge ? 'y' : 'n',
                   (double)edge->opos / 64,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afindic.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afindic.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afindic.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afindic.c	2024-04-08 05:38:38.000000000 +0000
@@ -28,9 +28,12 @@
 
 
   static FT_Error
-  af_indic_metrics_init( AF_CJKMetrics  metrics,
-                         FT_Face        face )
+  af_indic_metrics_init( AF_StyleMetrics  metrics_, /* AF_CJKMetrics */
+                         FT_Face          face )
   {
+    AF_CJKMetrics  metrics = (AF_CJKMetrics)metrics_;
+
+
     /* skip blue zone init in CJK routines */
     FT_CharMap  oldmap = face->charmap;
 
@@ -55,8 +58,8 @@
 
 
   static void
-  af_indic_metrics_scale( AF_CJKMetrics  metrics,
-                          AF_Scaler      scaler )
+  af_indic_metrics_scale( AF_StyleMetrics  metrics,
+                          AF_Scaler        scaler )
   {
     /* use CJK routines */
     af_cjk_metrics_scale( metrics, scaler );
@@ -64,8 +67,8 @@
 
 
   static FT_Error
-  af_indic_hints_init( AF_GlyphHints  hints,
-                       AF_CJKMetrics  metrics )
+  af_indic_hints_init( AF_GlyphHints    hints,
+                       AF_StyleMetrics  metrics )
   {
     /* use CJK routines */
     return af_cjk_hints_init( hints, metrics );
@@ -73,10 +76,10 @@
 
 
   static FT_Error
-  af_indic_hints_apply( FT_UInt        glyph_index,
-                        AF_GlyphHints  hints,
-                        FT_Outline*    outline,
-                        AF_CJKMetrics  metrics )
+  af_indic_hints_apply( FT_UInt          glyph_index,
+                        AF_GlyphHints    hints,
+                        FT_Outline*      outline,
+                        AF_StyleMetrics  metrics )
   {
     /* use CJK routines */
     return af_cjk_hints_apply( glyph_index, hints, outline, metrics );
@@ -87,10 +90,13 @@
   /* metrics class.                                             */
 
   static void
-  af_indic_get_standard_widths( AF_CJKMetrics  metrics,
-                                FT_Pos*        stdHW,
-                                FT_Pos*        stdVW )
+  af_indic_get_standard_widths( AF_StyleMetrics  metrics_, /* AF_CJKMetrics */
+                                FT_Pos*          stdHW,
+                                FT_Pos*          stdVW )
   {
+    AF_CJKMetrics  metrics = (AF_CJKMetrics)metrics_;
+
+
     if ( stdHW )
       *stdHW = metrics->axis[AF_DIMENSION_VERT].standard_width;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.c	2024-04-08 05:38:38.000000000 +0000
@@ -496,23 +496,20 @@
           /* now compute min or max point indices and coordinates */
           points             = outline.points;
           best_point         = -1;
+          best_contour_first = -1;
+          best_contour_last  = -1;
           best_y             = 0;  /* make compiler happy */
-          best_contour_first = 0;  /* ditto */
-          best_contour_last  = 0;  /* ditto */
 
           {
             FT_Int  nn;
-            FT_Int  first = 0;
-            FT_Int  last  = -1;
+            FT_Int  pp, first, last;
 
 
-            for ( nn = 0; nn < outline.n_contours; first = last + 1, nn++ )
+            last = -1;
+            for ( nn = 0; nn < outline.n_contours; nn++ )
             {
-              FT_Int  old_best_point = best_point;
-              FT_Int  pp;
-
-
-              last = outline.contours[nn];
+              first = last + 1;
+              last  = outline.contours[nn];
 
               /* Avoid single-point contours since they are never      */
               /* rasterized.  In some fonts, they correspond to mark   */
@@ -551,7 +548,7 @@
                 }
               }
 
-              if ( best_point != old_best_point )
+              if ( best_point > best_contour_last )
               {
                 best_contour_first = first;
                 best_contour_last  = last;
@@ -1025,7 +1022,7 @@
         {
           *a = *b;
           FT_TRACE5(( "blue zone overlap:"
-                      " adjusting %s %ld to %ld\n",
+                      " adjusting %s %td to %ld\n",
                       a_is_top ? "overshoot" : "reference",
                       blue_sorted[i] - axis->blues,
                       *a ));
@@ -1068,8 +1065,8 @@
   af_latin_metrics_check_digits( AF_LatinMetrics  metrics,
                                  FT_Face          face )
   {
-    FT_Bool   started = 0, same_width = 1;
-    FT_Fixed  advance = 0, old_advance = 0;
+    FT_Bool  started = 0, same_width = 1;
+    FT_Long  advance = 0, old_advance = 0;
 
     /* If HarfBuzz is not available, we need a pointer to a single */
     /* unsigned long value.                                        */
@@ -1134,9 +1131,11 @@
   /* Initialize global metrics. */
 
   FT_LOCAL_DEF( FT_Error )
-  af_latin_metrics_init( AF_LatinMetrics  metrics,
+  af_latin_metrics_init( AF_StyleMetrics  metrics_,   /* AF_LatinMetrics */
                          FT_Face          face )
   {
+    AF_LatinMetrics  metrics = (AF_LatinMetrics)metrics_;
+
     FT_Error  error = FT_Err_Ok;
 
     FT_CharMap  oldmap = face->charmap;
@@ -1489,9 +1488,12 @@
   /* Scale global values in both directions. */
 
   FT_LOCAL_DEF( void )
-  af_latin_metrics_scale( AF_LatinMetrics  metrics,
+  af_latin_metrics_scale( AF_StyleMetrics  metrics_,   /* AF_LatinMetrics */
                           AF_Scaler        scaler )
   {
+    AF_LatinMetrics  metrics = (AF_LatinMetrics)metrics_;
+
+
     metrics->root.scaler.render_mode = scaler->render_mode;
     metrics->root.scaler.face        = scaler->face;
     metrics->root.scaler.flags       = scaler->flags;
@@ -1504,11 +1506,14 @@
   /* Extract standard_width from writing system/script specific */
   /* metrics class.                                             */
 
-  FT_LOCAL_DEF( void )
-  af_latin_get_standard_widths( AF_LatinMetrics  metrics,
+  FT_CALLBACK_DEF( void )
+  af_latin_get_standard_widths( AF_StyleMetrics  metrics_, /* AF_LatinMetrics */
                                 FT_Pos*          stdHW,
                                 FT_Pos*          stdVW )
   {
+    AF_LatinMetrics  metrics = (AF_LatinMetrics)metrics_;
+
+
     if ( stdHW )
       *stdHW = metrics->axis[AF_DIMENSION_VERT].standard_width;
 
@@ -2041,7 +2046,7 @@
             max = seg2->max_coord;
 
           /* compute maximum coordinate difference of the two segments */
-          /* (this is, how much they overlap)                          */
+          /* (that is, how much they overlap)                          */
           len = max - min;
           if ( len >= len_threshold )
           {
@@ -2610,8 +2615,10 @@
 
   static FT_Error
   af_latin_hints_init( AF_GlyphHints    hints,
-                       AF_LatinMetrics  metrics )
+                       AF_StyleMetrics  metrics_ )   /* AF_LatinMetrics */
   {
+    AF_LatinMetrics  metrics = (AF_LatinMetrics)metrics_;
+
     FT_Render_Mode  mode;
     FT_UInt32       scaler_flags, other_flags;
     FT_Face         face = metrics->root.scaler.face;
@@ -2953,7 +2960,7 @@
 
     stem_edge->pos = base_edge->pos + fitted_width;
 
-    FT_TRACE5(( "  LINK: edge %ld (opos=%.2f) linked to %.2f,"
+    FT_TRACE5(( "  LINK: edge %td (opos=%.2f) linked to %.2f,"
                 " dist was %.2f, now %.2f\n",
                 stem_edge - hints->axis[dim].edges,
                 (double)stem_edge->opos / 64, (double)stem_edge->pos / 64,
@@ -3078,13 +3085,13 @@
 
 #ifdef FT_DEBUG_LEVEL_TRACE
         if ( !anchor )
-          FT_TRACE5(( "  BLUE_ANCHOR: edge %ld (opos=%.2f) snapped to %.2f,"
-                      " was %.2f (anchor=edge %ld)\n",
+          FT_TRACE5(( "  BLUE_ANCHOR: edge %td (opos=%.2f) snapped to %.2f,"
+                      " was %.2f (anchor=edge %td)\n",
                       edge1 - edges,
                       (double)edge1->opos / 64, (double)blue->fit / 64,
                       (double)edge1->pos / 64, edge - edges ));
         else
-          FT_TRACE5(( "  BLUE: edge %ld (opos=%.2f) snapped to %.2f,"
+          FT_TRACE5(( "  BLUE: edge %td (opos=%.2f) snapped to %.2f,"
                       " was %.2f\n",
                       edge1 - edges,
                       (double)edge1->opos / 64, (double)blue->fit / 64,
@@ -3134,7 +3141,7 @@
       /* this should not happen, but it's better to be safe */
       if ( edge2->blue_edge )
       {
-        FT_TRACE5(( "  ASSERTION FAILED for edge %ld\n", edge2 - edges ));
+        FT_TRACE5(( "  ASSERTION FAILED for edge %td\n", edge2 - edges ));
 
         af_latin_align_linked_edge( hints, dim, edge2, edge );
         edge->flags |= AF_EDGE_DONE;
@@ -3202,7 +3209,7 @@
         anchor       = edge;
         edge->flags |= AF_EDGE_DONE;
 
-        FT_TRACE5(( "  ANCHOR: edge %ld (opos=%.2f) and %ld (opos=%.2f)"
+        FT_TRACE5(( "  ANCHOR: edge %td (opos=%.2f) and %td (opos=%.2f)"
                     " snapped to %.2f and %.2f\n",
                     edge - edges, (double)edge->opos / 64,
                     edge2 - edges, (double)edge2->opos / 64,
@@ -3231,7 +3238,7 @@
 
         if ( edge2->flags & AF_EDGE_DONE )
         {
-          FT_TRACE5(( "  ADJUST: edge %ld (pos=%.2f) moved to %.2f\n",
+          FT_TRACE5(( "  ADJUST: edge %td (pos=%.2f) moved to %.2f\n",
                       edge - edges, (double)edge->pos / 64,
                       (double)( edge2->pos - cur_len ) / 64 ));
 
@@ -3272,7 +3279,7 @@
           edge->pos  = cur_pos1 - cur_len / 2;
           edge2->pos = cur_pos1 + cur_len / 2;
 
-          FT_TRACE5(( "  STEM: edge %ld (opos=%.2f) linked to %ld (opos=%.2f)"
+          FT_TRACE5(( "  STEM: edge %td (opos=%.2f) linked to %td (opos=%.2f)"
                       " snapped to %.2f and %.2f\n",
                       edge - edges, (double)edge->opos / 64,
                       edge2 - edges, (double)edge2->opos / 64,
@@ -3303,7 +3310,7 @@
           edge->pos  = ( delta1 < delta2 ) ? cur_pos1 : cur_pos2;
           edge2->pos = edge->pos + cur_len;
 
-          FT_TRACE5(( "  STEM: edge %ld (opos=%.2f) linked to %ld (opos=%.2f)"
+          FT_TRACE5(( "  STEM: edge %td (opos=%.2f) linked to %td (opos=%.2f)"
                       " snapped to %.2f and %.2f\n",
                       edge - edges, (double)edge->opos / 64,
                       edge2 - edges, (double)edge2->opos / 64,
@@ -3326,7 +3333,7 @@
           if ( edge->link && FT_ABS( edge->link->pos - edge[-1].pos ) > 16 )
           {
 #ifdef FT_DEBUG_LEVEL_TRACE
-            FT_TRACE5(( "  BOUND: edge %ld (pos=%.2f) moved to %.2f\n",
+            FT_TRACE5(( "  BOUND: edge %td (pos=%.2f) moved to %.2f\n",
                         edge - edges,
                         (double)edge->pos / 64,
                         (double)edge[-1].pos / 64 ));
@@ -3428,7 +3435,7 @@
         if ( delta < 64 + 16 )
         {
           af_latin_align_serif_edge( hints, edge->serif, edge );
-          FT_TRACE5(( "  SERIF: edge %ld (opos=%.2f) serif to %ld (opos=%.2f)"
+          FT_TRACE5(( "  SERIF: edge %td (opos=%.2f) serif to %td (opos=%.2f)"
                       " aligned to %.2f\n",
                       edge - edges, (double)edge->opos / 64,
                       edge->serif - edges, (double)edge->serif->opos / 64,
@@ -3438,9 +3445,9 @@
         {
           edge->pos = FT_PIX_ROUND( edge->opos );
           anchor    = edge;
-          FT_TRACE5(( "  SERIF_ANCHOR: edge %ld (opos=%.2f)"
+          FT_TRACE5(( "  SERIF_ANCHOR: edge %td (opos=%.2f)"
                       " snapped to %.2f\n",
-                      edge-edges,
+                      edge - edges,
                       (double)edge->opos / 64, (double)edge->pos / 64 ));
         }
         else
@@ -3467,8 +3474,8 @@
                                      after->pos - before->pos,
                                      after->opos - before->opos );
 
-            FT_TRACE5(( "  SERIF_LINK1: edge %ld (opos=%.2f) snapped to %.2f"
-                        " from %ld (opos=%.2f)\n",
+            FT_TRACE5(( "  SERIF_LINK1: edge %td (opos=%.2f) snapped to %.2f"
+                        " from %td (opos=%.2f)\n",
                         edge - edges, (double)edge->opos / 64,
                         (double)edge->pos / 64,
                         before - edges, (double)before->opos / 64 ));
@@ -3477,7 +3484,7 @@
           {
             edge->pos = anchor->pos +
                         ( ( edge->opos - anchor->opos + 16 ) & ~31 );
-            FT_TRACE5(( "  SERIF_LINK2: edge %ld (opos=%.2f)"
+            FT_TRACE5(( "  SERIF_LINK2: edge %td (opos=%.2f)"
                         " snapped to %.2f\n",
                         edge - edges,
                         (double)edge->opos / 64, (double)edge->pos / 64 ));
@@ -3498,7 +3505,7 @@
           if ( edge->link && FT_ABS( edge->link->pos - edge[-1].pos ) > 16 )
           {
 #ifdef FT_DEBUG_LEVEL_TRACE
-            FT_TRACE5(( "  BOUND: edge %ld (pos=%.2f) moved to %.2f\n",
+            FT_TRACE5(( "  BOUND: edge %td (pos=%.2f) moved to %.2f\n",
                         edge - edges,
                         (double)edge->pos / 64,
                         (double)edge[-1].pos / 64 ));
@@ -3519,7 +3526,7 @@
           if ( edge->link && FT_ABS( edge->link->pos - edge[-1].pos ) > 16 )
           {
 #ifdef FT_DEBUG_LEVEL_TRACE
-            FT_TRACE5(( "  BOUND: edge %ld (pos=%.2f) moved to %.2f\n",
+            FT_TRACE5(( "  BOUND: edge %td (pos=%.2f) moved to %.2f\n",
                         edge - edges,
                         (double)edge->pos / 64,
                         (double)edge[1].pos / 64 ));
@@ -3547,8 +3554,10 @@
   af_latin_hints_apply( FT_UInt          glyph_index,
                         AF_GlyphHints    hints,
                         FT_Outline*      outline,
-                        AF_LatinMetrics  metrics )
+                        AF_StyleMetrics  metrics_ )    /* AF_LatinMetrics */
   {
+    AF_LatinMetrics  metrics = (AF_LatinMetrics)metrics_;
+
     FT_Error  error;
     int       dim;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/aflatin.h	2024-04-08 05:38:38.000000000 +0000
@@ -116,11 +116,11 @@
 
 
   FT_LOCAL( FT_Error )
-  af_latin_metrics_init( AF_LatinMetrics  metrics,
+  af_latin_metrics_init( AF_StyleMetrics  metrics,
                          FT_Face          face );
 
   FT_LOCAL( void )
-  af_latin_metrics_scale( AF_LatinMetrics  metrics,
+  af_latin_metrics_scale( AF_StyleMetrics  metrics,
                           AF_Scaler        scaler );
 
   FT_LOCAL( void )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afloader.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afloader.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afloader.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afloader.c	2024-04-08 05:38:38.000000000 +0000
@@ -55,10 +55,8 @@
       error = af_face_globals_new( face, &loader->globals, module );
       if ( !error )
       {
-        face->autohint.data =
-          (FT_Pointer)loader->globals;
-        face->autohint.finalizer =
-          (FT_Generic_Finalizer)af_face_globals_free;
+        face->autohint.data      = (FT_Pointer)loader->globals;
+        face->autohint.finalizer = af_face_globals_free;
       }
     }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afmodule.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afmodule.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afmodule.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afmodule.c	2024-04-08 05:38:38.000000000 +0000
@@ -89,10 +89,8 @@
       error = af_face_globals_new( face, &globals, module );
       if ( !error )
       {
-        face->autohint.data =
-          (FT_Pointer)globals;
-        face->autohint.finalizer =
-          (FT_Generic_Finalizer)af_face_globals_free;
+        face->autohint.data      = (FT_Pointer)globals;
+        face->autohint.finalizer = af_face_globals_free;
       }
     }
 
@@ -374,8 +372,9 @@
   FT_DEFINE_SERVICE_PROPERTIESREC(
     af_service_properties,
 
-    (FT_Properties_SetFunc)af_property_set,        /* set_property */
-    (FT_Properties_GetFunc)af_property_get )       /* get_property */
+    af_property_set,  /* FT_Properties_SetFunc set_property */
+    af_property_get   /* FT_Properties_GetFunc get_property */
+  )
 
 
   FT_DEFINE_SERVICEDESCREC1(
@@ -430,12 +429,14 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  af_autofitter_load_glyph( AF_Module     module,
-                            FT_GlyphSlot  slot,
-                            FT_Size       size,
-                            FT_UInt       glyph_index,
-                            FT_Int32      load_flags )
+  af_autofitter_load_glyph( FT_AutoHinter  module_,
+                            FT_GlyphSlot   slot,
+                            FT_Size        size,
+                            FT_UInt        glyph_index,
+                            FT_Int32       load_flags )
   {
+    AF_Module  module = (AF_Module)module_;
+
     FT_Error   error  = FT_Err_Ok;
     FT_Memory  memory = module->root.library->memory;
 
@@ -499,10 +500,10 @@
   FT_DEFINE_AUTOHINTER_INTERFACE(
     af_autofitter_interface,
 
-    NULL,                                                    /* reset_face */
-    NULL,                                              /* get_global_hints */
-    NULL,                                             /* done_global_hints */
-    (FT_AutoHinter_GlyphLoadFunc)af_autofitter_load_glyph    /* load_glyph */
+    NULL,                     /* FT_AutoHinter_GlobalResetFunc reset_face        */
+    NULL,                     /* FT_AutoHinter_GlobalGetFunc   get_global_hints  */
+    NULL,                     /* FT_AutoHinter_GlobalDoneFunc  done_global_hints */
+    af_autofitter_load_glyph  /* FT_AutoHinter_GlyphLoadFunc   load_glyph        */
   )
 
   FT_DEFINE_MODULE(
@@ -517,9 +518,9 @@
 
     (const void*)&af_autofitter_interface,
 
-    (FT_Module_Constructor)af_autofitter_init,  /* module_init   */
-    (FT_Module_Destructor) af_autofitter_done,  /* module_done   */
-    (FT_Module_Requester)  af_get_interface     /* get_interface */
+    af_autofitter_init,  /* FT_Module_Constructor module_init   */
+    af_autofitter_done,  /* FT_Module_Destructor  module_done   */
+    af_get_interface     /* FT_Module_Requester   get_interface */
   )
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afshaper.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afshaper.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/autofit/afshaper.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/autofit/afshaper.c	2024-04-08 05:38:38.000000000 +0000
@@ -258,7 +258,7 @@
     /*
      * We now check whether we can construct blue zones, using glyphs
      * covered by the feature only.  In case there is not a single zone
-     * (this is, not a single character is covered), we skip this coverage.
+     * (that is, not a single character is covered), we skip this coverage.
      *
      */
     if ( style_class->coverage != AF_COVERAGE_DEFAULT )
@@ -313,9 +313,9 @@
      * hinted and usually rendered glyph.
      *
      * Consider the superscript feature of font `pala.ttf': Some of the
-     * glyphs are `real', this is, they have a zero vertical offset, but
+     * glyphs are `real', that is, they have a zero vertical offset, but
      * most of them are small caps glyphs shifted up to the superscript
-     * position (this is, the `sups' feature is present in both the GSUB and
+     * position (that is, the `sups' feature is present in both the GSUB and
      * GPOS tables).  The code for blue zones computation actually uses a
      * feature's y offset so that the `real' glyphs get correct hints.  But
      * later on it is impossible to decide whether a glyph index belongs to,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftbbox.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftbbox.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftbbox.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftbbox.c	2024-04-08 05:38:38.000000000 +0000
@@ -82,10 +82,13 @@
    * @Return:
    *   Always 0.  Needed for the interface only.
    */
-  static int
-  BBox_Move_To( FT_Vector*  to,
-                TBBox_Rec*  user )
+  FT_CALLBACK_DEF( int )
+  BBox_Move_To( const FT_Vector*  to,
+                void*             user_ )
   {
+    TBBox_Rec*  user = (TBBox_Rec*)user_;
+
+
     FT_UPDATE_BBOX( to, user->bbox );
 
     user->last = *to;
@@ -116,10 +119,13 @@
    * @Return:
    *   Always 0.  Needed for the interface only.
    */
-  static int
-  BBox_Line_To( FT_Vector*  to,
-                TBBox_Rec*  user )
+  FT_CALLBACK_DEF( int )
+  BBox_Line_To( const FT_Vector*  to,
+                void*             user_ )
   {
+    TBBox_Rec*  user = (TBBox_Rec*)user_;
+
+
     user->last = *to;
 
     return 0;
@@ -205,11 +211,14 @@
    *   In the case of a non-monotonous arc, we compute directly the
    *   extremum coordinates, as it is sufficiently fast.
    */
-  static int
-  BBox_Conic_To( FT_Vector*  control,
-                 FT_Vector*  to,
-                 TBBox_Rec*  user )
+  FT_CALLBACK_DEF( int )
+  BBox_Conic_To( const FT_Vector*  control,
+                 const FT_Vector*  to,
+                 void*             user_ )
   {
+    TBBox_Rec*  user = (TBBox_Rec*)user_;
+
+
     /* in case `to' is implicit and not included in bbox yet */
     FT_UPDATE_BBOX( to, user->bbox );
 
@@ -410,12 +419,15 @@
    *   In the case of a non-monotonous arc, we don't compute directly
    *   extremum coordinates, we subdivide instead.
    */
-  static int
-  BBox_Cubic_To( FT_Vector*  control1,
-                 FT_Vector*  control2,
-                 FT_Vector*  to,
-                 TBBox_Rec*  user )
+  FT_CALLBACK_DEF( int )
+  BBox_Cubic_To( const FT_Vector*  control1,
+                 const FT_Vector*  control2,
+                 const FT_Vector*  to,
+                 void*             user_ )
   {
+    TBBox_Rec*  user = (TBBox_Rec*)user_;
+
+
     /* We don't need to check `to' since it is always an on-point,    */
     /* thus within the bbox.  Only segments with an off-point outside */
     /* the bbox can possibly reach new extreme values.                */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftcalc.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftcalc.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftcalc.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftcalc.c	2024-04-08 05:38:38.000000000 +0000
@@ -749,65 +749,43 @@
   FT_BASE_DEF( FT_Bool )
   FT_Matrix_Check( const FT_Matrix*  matrix )
   {
-    FT_Matrix  m;
-    FT_Fixed   val[4];
-    FT_Fixed   nonzero_minval, maxval;
-    FT_Fixed   temp1, temp2;
-    FT_UInt    i;
+    FT_Fixed  xx, xy, yx, yy;
+    FT_Fixed  val;
+    FT_Int    shift;
+    FT_ULong  temp1, temp2;
 
 
     if ( !matrix )
       return 0;
 
-    val[0] = FT_ABS( matrix->xx );
-    val[1] = FT_ABS( matrix->xy );
-    val[2] = FT_ABS( matrix->yx );
-    val[3] = FT_ABS( matrix->yy );
-
-    /*
-     * To avoid overflow, we ensure that each value is not larger than
-     *
-     *   int(sqrt(2^31 / 4)) = 23170  ;
-     *
-     * we also check that no value becomes zero if we have to scale.
-     */
+    xx  = matrix->xx;
+    xy  = matrix->xy;
+    yx  = matrix->yx;
+    yy  = matrix->yy;
+    val = FT_ABS( xx ) | FT_ABS( xy ) | FT_ABS( yx ) | FT_ABS( yy );
 
-    maxval         = 0;
-    nonzero_minval = FT_LONG_MAX;
-
-    for ( i = 0; i < 4; i++ )
-    {
-      if ( val[i] > maxval )
-        maxval = val[i];
-      if ( val[i] && val[i] < nonzero_minval )
-        nonzero_minval = val[i];
-    }
-
-    /* we only handle 32bit values */
-    if ( maxval > 0x7FFFFFFFL )
+    /* we only handle non-zero 32-bit values */
+    if ( !val || val > 0x7FFFFFFFL )
       return 0;
 
-    if ( maxval > 23170 )
-    {
-      FT_Fixed  scale = FT_DivFix( maxval, 23170 );
-
+    /* Scale matrix to avoid the temp1 overflow, which is */
+    /* more stringent than avoiding the temp2 overflow.   */
 
-      if ( !FT_DivFix( nonzero_minval, scale ) )
-        return 0;    /* value range too large */
+    shift = FT_MSB( val ) - 12;
 
-      m.xx = FT_DivFix( matrix->xx, scale );
-      m.xy = FT_DivFix( matrix->xy, scale );
-      m.yx = FT_DivFix( matrix->yx, scale );
-      m.yy = FT_DivFix( matrix->yy, scale );
+    if ( shift > 0 )
+    {
+      xx >>= shift;
+      xy >>= shift;
+      yx >>= shift;
+      yy >>= shift;
     }
-    else
-      m = *matrix;
 
-    temp1 = FT_ABS( m.xx * m.yy - m.xy * m.yx );
-    temp2 = m.xx * m.xx + m.xy * m.xy + m.yx * m.yx + m.yy * m.yy;
+    temp1 = 32U * (FT_ULong)FT_ABS( xx * yy - xy * yx );
+    temp2 = (FT_ULong)( xx * xx ) + (FT_ULong)( xy * xy ) +
+            (FT_ULong)( yx * yx ) + (FT_ULong)( yy * yy );
 
-    if ( temp1 == 0         ||
-         temp2 / temp1 > 50 )
+    if ( temp1 <= temp2 )
       return 0;
 
     return 1;
@@ -1061,7 +1039,7 @@
     /*                                                           */
     /* This approach has the advantage that the angle between    */
     /* `in' and `out' is not checked.  In case one of the two    */
-    /* vectors is `dominant', this is, much larger than the      */
+    /* vectors is `dominant', that is, much larger than the      */
     /* other vector, we thus always have a flat corner.          */
     /*                                                           */
     /*                hypotenuse                                 */
@@ -1092,9 +1070,6 @@
   {
     FT_UInt   i;
     FT_Int64  temp;
-#ifndef FT_INT64
-    FT_Int64  halfUnit;
-#endif
 
 
 #ifdef FT_INT64
@@ -1103,7 +1078,7 @@
     for ( i = 0; i < count; ++i )
       temp += (FT_Int64)s[i] * f[i];
 
-    return ( temp + 0x8000 ) >> 16;
+    return (FT_Int32)( ( temp + 0x8000 ) >> 16 );
 #else
     temp.hi = 0;
     temp.lo = 0;
@@ -1139,13 +1114,10 @@
       FT_Add64( &temp, &multResult, &temp );
     }
 
-    /* Round value. */
-    halfUnit.hi = 0;
-    halfUnit.lo = 0x8000;
-    FT_Add64( &temp, &halfUnit, &temp );
+    /* Shift and round value. */
+    return (FT_Int32)( ( ( temp.hi << 16 ) | ( temp.lo >> 16 ) )
+                                     + ( 1 & ( temp.lo >> 15 ) ) );
 
-    return (FT_Int32)( ( (FT_Int32)( temp.hi & 0xFFFF ) << 16 ) |
-                                   ( temp.lo >> 16 )            );
 
 #endif /* !FT_INT64 */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftdbgmem.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftdbgmem.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftdbgmem.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftdbgmem.c	2024-04-08 05:38:38.000000000 +0000
@@ -963,7 +963,7 @@
 #else  /* !FT_DEBUG_MEMORY */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _debug_mem_dummy;
+  typedef int  debug_mem_dummy_;
 
 #endif /* !FT_DEBUG_MEMORY */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftmac.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftmac.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftmac.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftmac.c	2024-04-08 05:38:38.000000000 +0000
@@ -1082,7 +1082,7 @@
 #else /* !FT_MACINTOSH */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _ft_mac_dummy;
+  typedef int  ft_mac_dummy_;
 
 #endif /* !FT_MACINTOSH */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftmm.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftmm.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftmm.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftmm.c	2024-04-08 05:38:38.000000000 +0000
@@ -185,6 +185,14 @@
       error = FT_ERR( Invalid_Argument );
       if ( service->set_mm_design )
         error = service->set_mm_design( face, num_coords, coords );
+
+      if ( !error )
+      {
+        if ( num_coords )
+          face->face_flags |= FT_FACE_FLAG_VARIATION;
+        else
+          face->face_flags &= ~FT_FACE_FLAG_VARIATION;
+      }
     }
 
     /* enforce recomputation of auto-hinting data */
@@ -220,6 +228,14 @@
       error = FT_ERR( Invalid_Argument );
       if ( service->set_mm_weightvector )
         error = service->set_mm_weightvector( face, len, weightvector );
+
+      if ( !error )
+      {
+        if ( len )
+          face->face_flags |= FT_FACE_FLAG_VARIATION;
+        else
+          face->face_flags &= ~FT_FACE_FLAG_VARIATION;
+      }
     }
 
     /* enforce recomputation of auto-hinting data */
@@ -283,6 +299,30 @@
       if ( service_mm->set_var_design )
         error = service_mm->set_var_design( face, num_coords, coords );
 
+      if ( !error || error == -1 )
+      {
+        FT_Bool  is_variation_old = FT_IS_VARIATION( face );
+
+
+        if ( num_coords )
+          face->face_flags |= FT_FACE_FLAG_VARIATION;
+        else
+          face->face_flags &= ~FT_FACE_FLAG_VARIATION;
+
+        if ( service_mm->construct_ps_name )
+        {
+          if ( error == -1 )
+          {
+            /* The PS name of a named instance and a non-named instance */
+            /* usually differs, even if the axis values are identical.  */
+            if ( is_variation_old != FT_IS_VARIATION( face ) )
+              service_mm->construct_ps_name( face );
+          }
+          else
+            service_mm->construct_ps_name( face );
+        }
+      }
+
       /* internal error code -1 means `no change'; we can exit immediately */
       if ( error == -1 )
         return FT_Err_Ok;
@@ -359,6 +399,30 @@
       if ( service_mm->set_mm_blend )
         error = service_mm->set_mm_blend( face, num_coords, coords );
 
+      if ( !error || error == -1 )
+      {
+        FT_Bool  is_variation_old = FT_IS_VARIATION( face );
+
+
+        if ( num_coords )
+          face->face_flags |= FT_FACE_FLAG_VARIATION;
+        else
+          face->face_flags &= ~FT_FACE_FLAG_VARIATION;
+
+        if ( service_mm->construct_ps_name )
+        {
+          if ( error == -1 )
+          {
+            /* The PS name of a named instance and a non-named instance */
+            /* usually differs, even if the axis values are identical.  */
+            if ( is_variation_old != FT_IS_VARIATION( face ) )
+              service_mm->construct_ps_name( face );
+          }
+          else
+            service_mm->construct_ps_name( face );
+        }
+      }
+
       /* internal error code -1 means `no change'; we can exit immediately */
       if ( error == -1 )
         return FT_Err_Ok;
@@ -410,6 +474,30 @@
       if ( service_mm->set_mm_blend )
         error = service_mm->set_mm_blend( face, num_coords, coords );
 
+      if ( !error || error == -1 )
+      {
+        FT_Bool  is_variation_old = FT_IS_VARIATION( face );
+
+
+        if ( num_coords )
+          face->face_flags |= FT_FACE_FLAG_VARIATION;
+        else
+          face->face_flags &= ~FT_FACE_FLAG_VARIATION;
+
+        if ( service_mm->construct_ps_name )
+        {
+          if ( error == -1 )
+          {
+            /* The PS name of a named instance and a non-named instance */
+            /* usually differs, even if the axis values are identical.  */
+            if ( is_variation_old != FT_IS_VARIATION( face ) )
+              service_mm->construct_ps_name( face );
+          }
+          else
+            service_mm->construct_ps_name( face );
+        }
+      }
+
       /* internal error code -1 means `no change'; we can exit immediately */
       if ( error == -1 )
         return FT_Err_Ok;
@@ -535,8 +623,35 @@
     if ( !error )
     {
       error = FT_ERR( Invalid_Argument );
-      if ( service_mm->set_instance )
-        error = service_mm->set_instance( face, instance_index );
+      if ( service_mm->set_named_instance )
+        error = service_mm->set_named_instance( face, instance_index );
+
+      if ( !error || error == -1 )
+      {
+        FT_Bool  is_variation_old = FT_IS_VARIATION( face );
+
+
+        face->face_flags &= ~FT_FACE_FLAG_VARIATION;
+        face->face_index  = ( instance_index << 16 )        |
+                            ( face->face_index & 0xFFFFL );
+
+        if ( service_mm->construct_ps_name )
+        {
+          if ( error == -1 )
+          {
+            /* The PS name of a named instance and a non-named instance */
+            /* usually differs, even if the axis values are identical.  */
+            if ( is_variation_old != FT_IS_VARIATION( face ) )
+              service_mm->construct_ps_name( face );
+          }
+          else
+            service_mm->construct_ps_name( face );
+        }
+      }
+
+      /* internal error code -1 means `no change'; we can exit immediately */
+      if ( error == -1 )
+        return FT_Err_Ok;
     }
 
     if ( !error )
@@ -554,11 +669,32 @@
       face->autohint.data = NULL;
     }
 
+    return error;
+  }
+
+
+  /* documentation is in ftmm.h */
+
+  FT_EXPORT_DEF( FT_Error )
+  FT_Get_Default_Named_Instance( FT_Face   face,
+                                 FT_UInt  *instance_index )
+  {
+    FT_Error  error;
+
+    FT_Service_MultiMasters  service_mm = NULL;
+
+
+    /* check of `face' delayed to `ft_face_get_mm_service' */
+
+    error = ft_face_get_mm_service( face, &service_mm );
     if ( !error )
     {
-      face->face_index  = ( instance_index << 16 )        |
-                          ( face->face_index & 0xFFFFL );
-      face->face_flags &= ~FT_FACE_FLAG_VARIATION;
+      /* no error if `get_default_named_instance` is not available */
+      if ( service_mm->get_default_named_instance )
+        error = service_mm->get_default_named_instance( face,
+                                                        instance_index );
+      else
+        error = FT_Err_Ok;
     }
 
     return error;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftobjs.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftobjs.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftobjs.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftobjs.c	2024-04-08 05:38:38.000000000 +0000
@@ -1019,7 +1019,8 @@
       /*      elegant.                                            */
 
       /* try to load SVG documents if available */
-      if ( FT_HAS_SVG( face ) )
+      if ( ( load_flags & FT_LOAD_NO_SVG ) == 0 &&
+           FT_HAS_SVG( face )                   )
       {
         error = driver->clazz->load_glyph( slot, face->size,
                                            glyph_index,
@@ -1245,9 +1246,13 @@
   /* destructor for sizes list */
   static void
   destroy_size( FT_Memory  memory,
-                FT_Size    size,
-                FT_Driver  driver )
+                void*      size_,
+                void*      driver_ )
   {
+    FT_Size    size   = (FT_Size)size_;
+    FT_Driver  driver = (FT_Driver)driver_;
+
+
     /* finalize client-specific data */
     if ( size->generic.finalizer )
       size->generic.finalizer( size );
@@ -1293,10 +1298,12 @@
   /* destructor for faces list */
   static void
   destroy_face( FT_Memory  memory,
-                FT_Face    face,
-                FT_Driver  driver )
+                void*      face_,
+                void*      driver_ )
   {
-    FT_Driver_Class  clazz = driver->clazz;
+    FT_Face          face   = (FT_Face)face_;
+    FT_Driver        driver = (FT_Driver)driver_;
+    FT_Driver_Class  clazz  = driver->clazz;
 
 
     /* discard auto-hinting data */
@@ -1310,7 +1317,7 @@
 
     /* discard all sizes for this face */
     FT_List_Finalize( &face->sizes_list,
-                      (FT_List_Destructor)destroy_size,
+                      destroy_size,
                       memory,
                       driver );
     face->size = NULL;
@@ -1346,7 +1353,7 @@
   Destroy_Driver( FT_Driver  driver )
   {
     FT_List_Finalize( &driver->faces_list,
-                      (FT_List_Destructor)destroy_face,
+                      destroy_face,
                       driver->root.memory,
                       driver );
   }
@@ -1740,7 +1747,8 @@
     FT_Memory     memory = library->memory;
 
 
-    args.flags = 0;
+    args.driver = NULL;
+    args.flags  = 0;
 
     if ( driver_name )
     {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftoutln.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftoutln.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftoutln.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftoutln.c	2024-04-08 05:38:38.000000000 +0000
@@ -58,7 +58,9 @@
     FT_Error    error;
 
     FT_Int   n;         /* index of contour in outline     */
-    FT_UInt  first;     /* index of first point in contour */
+    FT_Int   first;     /* index of first point in contour */
+    FT_Int   last;      /* index of last point in contour  */
+
     FT_Int   tag;       /* current point's state           */
 
     FT_Int   shift;
@@ -73,18 +75,17 @@
 
     shift = func_interface->shift;
     delta = func_interface->delta;
-    first = 0;
 
+    last = -1;
     for ( n = 0; n < outline->n_contours; n++ )
     {
-      FT_Int  last;  /* index of last point in contour */
-
-
-      FT_TRACE5(( "FT_Outline_Decompose: Outline %d\n", n ));
+      FT_TRACE5(( "FT_Outline_Decompose: Contour %d\n", n ));
 
-      last = outline->contours[n];
-      if ( last < 0 )
+      first = last + 1;
+      last  = outline->contours[n];
+      if ( last < first )
         goto Invalid_Outline;
+
       limit = outline->points + last;
 
       v_start   = outline->points[first];
@@ -282,8 +283,6 @@
     Close:
       if ( error )
         goto Exit;
-
-      first = (FT_UInt)last + 1;
     }
 
     FT_TRACE5(( "FT_Outline_Decompose: Done\n" ));
@@ -368,7 +367,7 @@
       if ( n_points <= 0 || n_contours <= 0 )
         goto Bad;
 
-      end0 = end = -1;
+      end0 = -1;
       for ( n = 0; n < n_contours; n++ )
       {
         end = outline->contours[n];
@@ -380,7 +379,7 @@
         end0 = end;
       }
 
-      if ( end != n_points - 1 )
+      if ( end0 != n_points - 1 )
         goto Bad;
 
       /* XXX: check the tags array */
@@ -388,7 +387,7 @@
     }
 
   Bad:
-    return FT_THROW( Invalid_Argument );
+    return FT_THROW( Invalid_Outline );
   }
 
 
@@ -550,10 +549,12 @@
     if ( !outline )
       return;
 
-    first = 0;
-
+    last = -1;
     for ( n = 0; n < outline->n_contours; n++ )
     {
+      /* keep the first contour point as is and swap points around it */
+      /* to guarantee that the cubic arches stay valid after reverse  */
+      first = last + 2;
       last  = outline->contours[n];
 
       /* reverse point table */
@@ -591,8 +592,6 @@
           q--;
         }
       }
-
-      first = last + 1;
     }
 
     outline->flags ^= FT_OUTLINE_REVERSE_FILL;
@@ -941,7 +940,7 @@
 
     points = outline->points;
 
-    first = 0;
+    last = -1;
     for ( c = 0; c < outline->n_contours; c++ )
     {
       FT_Vector  in, out, anchor, shift;
@@ -949,8 +948,9 @@
       FT_Int     i, j, k;
 
 
-      l_in = 0;
-      last = outline->contours[c];
+      first = last + 1;
+      last  = outline->contours[c];
+      l_in  = 0;
 
       /* pacify compiler */
       in.x = in.y = anchor.x = anchor.y = 0;
@@ -1037,8 +1037,6 @@
         in   = out;
         l_in = l_out;
       }
-
-      first = last + 1;
     }
 
     return FT_Err_Ok;
@@ -1054,7 +1052,7 @@
     FT_Int      xshift, yshift;
     FT_Vector*  points;
     FT_Vector   v_prev, v_cur;
-    FT_Int      c, n, first;
+    FT_Int      c, n, first, last;
     FT_Pos      area = 0;
 
 
@@ -1086,11 +1084,11 @@
 
     points = outline->points;
 
-    first = 0;
+    last = -1;
     for ( c = 0; c < outline->n_contours; c++ )
     {
-      FT_Int  last = outline->contours[c];
-
+      first = last + 1;
+      last  = outline->contours[c];
 
       v_prev.x = points[last].x >> xshift;
       v_prev.y = points[last].y >> yshift;
@@ -1106,8 +1104,6 @@
 
         v_prev = v_cur;
       }
-
-      first = last + 1;
     }
 
     if ( area > 0 )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftstream.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftstream.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftstream.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftstream.c	2024-04-08 05:38:38.000000000 +0000
@@ -141,7 +141,9 @@
       if ( read_bytes > count )
         read_bytes = count;
 
-      FT_MEM_COPY( buffer, stream->base + pos, read_bytes );
+      /* Allow "reading" zero bytes without UB even if buffer is NULL */
+      if ( count )
+        FT_MEM_COPY( buffer, stream->base + pos, read_bytes );
     }
 
     stream->pos = pos + read_bytes;
@@ -178,7 +180,9 @@
       if ( read_bytes > count )
         read_bytes = count;
 
-      FT_MEM_COPY( buffer, stream->base + stream->pos, read_bytes );
+      /* Allow "reading" zero bytes without UB even if buffer is NULL */
+      if ( count )
+        FT_MEM_COPY( buffer, stream->base + stream->pos, read_bytes );
     }
 
     stream->pos += read_bytes;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftstroke.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftstroke.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftstroke.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftstroke.c	2024-04-08 05:38:38.000000000 +0000
@@ -2055,7 +2055,9 @@
     FT_Error    error;
 
     FT_Int      n;         /* index of contour in outline     */
-    FT_UInt     first;     /* index of first point in contour */
+    FT_Int      first;     /* index of first point in contour */
+    FT_Int      last;      /* index of last point in contour  */
+
     FT_Int      tag;       /* current point's state           */
 
 
@@ -2067,22 +2069,17 @@
 
     FT_Stroker_Rewind( stroker );
 
-    first = 0;
-
+    last = -1;
     for ( n = 0; n < outline->n_contours; n++ )
     {
-      FT_UInt  last;  /* index of last point in contour */
-
-
-      last  = (FT_UInt)outline->contours[n];
-      limit = outline->points + last;
+      first = last + 1;
+      last  = outline->contours[n];
 
       /* skip empty points; we don't stroke these */
       if ( last <= first )
-      {
-        first = last + 1;
         continue;
-      }
+
+      limit = outline->points + last;
 
       v_start = outline->points[first];
       v_last  = outline->points[last];
@@ -2231,8 +2228,6 @@
         if ( error )
           goto Exit;
       }
-
-      first = last + 1;
     }
 
     return FT_Err_Ok;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftsynth.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftsynth.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftsynth.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftsynth.c	2024-04-08 05:38:38.000000000 +0000
@@ -98,8 +98,17 @@
   FT_EXPORT_DEF( void )
   FT_GlyphSlot_Embolden( FT_GlyphSlot  slot )
   {
+    FT_GlyphSlot_AdjustWeight( slot, 0x0AAA, 0x0AAA );
+  }
+
+
+  FT_EXPORT_DEF( void )
+  FT_GlyphSlot_AdjustWeight( FT_GlyphSlot  slot,
+                             FT_Fixed      xdelta,
+                             FT_Fixed      ydelta )
+  {
     FT_Library  library;
-    FT_Face     face;
+    FT_Size     size;
     FT_Error    error;
     FT_Pos      xstr, ystr;
 
@@ -108,16 +117,15 @@
       return;
 
     library = slot->library;
-    face    = slot->face;
+    size    = slot->face->size;
 
     if ( slot->format != FT_GLYPH_FORMAT_OUTLINE &&
          slot->format != FT_GLYPH_FORMAT_BITMAP  )
       return;
 
-    /* some reasonable strength */
-    xstr = FT_MulFix( face->units_per_EM,
-                      face->size->metrics.y_scale ) / 24;
-    ystr = xstr;
+    /* express deltas in pixels in 26.6 format */
+    xstr = (FT_Pos)size->metrics.x_ppem * xdelta / 1024;
+    ystr = (FT_Pos)size->metrics.y_ppem * ydelta / 1024;
 
     if ( slot->format == FT_GLYPH_FORMAT_OUTLINE )
       FT_Outline_EmboldenXY( &slot->outline, xstr, ystr );
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftsystem.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftsystem.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/base/ftsystem.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/base/ftsystem.c	2024-04-08 05:38:38.000000000 +0000
@@ -206,7 +206,7 @@
    *     The number of bytes to read from the stream.
    *
    * @Return:
-   *   The number of bytes actually read.  If `count' is zero (this is,
+   *   The number of bytes actually read.  If `count' is zero (that is,
    *   the function is used for seeking), a non-zero return value
    *   indicates an error.
    */
@@ -219,7 +219,7 @@
     FT_FILE*  file;
 
 
-    if ( !count && offset > stream->size )
+    if ( offset > stream->size && !count )
       return 1;
 
     file = STREAM_FILE( stream );
@@ -227,6 +227,11 @@
     if ( stream->pos != offset )
       ft_fseek( file, (long)offset, SEEK_SET );
 
+    /* Avoid calling `fread` with `buffer=NULL` and `count=0`, */
+    /* which is undefined behaviour.                           */
+    if ( !count )
+      return 0;
+
     return (unsigned long)ft_fread( buffer, 1, count, file );
   }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffcmap.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffcmap.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffcmap.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffcmap.c	2024-04-08 05:38:38.000000000 +0000
@@ -32,9 +32,10 @@
   /*************************************************************************/
 
   FT_CALLBACK_DEF( FT_Error )
-  cff_cmap_encoding_init( CFF_CMapStd  cmap,
-                          FT_Pointer   pointer )
+  cff_cmap_encoding_init( FT_CMap     cmap,
+                          FT_Pointer  pointer )
   {
+    CFF_CMapStd   cffcmap  = (CFF_CMapStd)cmap;
     TT_Face       face     = (TT_Face)FT_CMAP_FACE( cmap );
     CFF_Font      cff      = (CFF_Font)face->extra.data;
     CFF_Encoding  encoding = &cff->encoding;
@@ -42,63 +43,56 @@
     FT_UNUSED( pointer );
 
 
-    cmap->gids  = encoding->codes;
+    cffcmap->gids = encoding->codes;
 
     return 0;
   }
 
 
   FT_CALLBACK_DEF( void )
-  cff_cmap_encoding_done( CFF_CMapStd  cmap )
+  cff_cmap_encoding_done( FT_CMap  cmap )
   {
-    cmap->gids  = NULL;
+    CFF_CMapStd  cffcmap = (CFF_CMapStd)cmap;
+
+
+    cffcmap->gids = NULL;
   }
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  cff_cmap_encoding_char_index( CFF_CMapStd  cmap,
-                                FT_UInt32    char_code )
+  cff_cmap_encoding_char_index( FT_CMap    cmap,
+                                FT_UInt32  char_code )
   {
-    FT_UInt  result = 0;
+    CFF_CMapStd  cffcmap = (CFF_CMapStd)cmap;
+    FT_UInt      result  = 0;
 
 
     if ( char_code < 256 )
-      result = cmap->gids[char_code];
+      result = cffcmap->gids[char_code];
 
     return result;
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  cff_cmap_encoding_char_next( CFF_CMapStd   cmap,
-                               FT_UInt32    *pchar_code )
+  FT_CALLBACK_DEF( FT_UInt )
+  cff_cmap_encoding_char_next( FT_CMap     cmap,
+                               FT_UInt32  *pchar_code )
   {
-    FT_UInt    result    = 0;
-    FT_UInt32  char_code = *pchar_code;
+    CFF_CMapStd  cffcmap   = (CFF_CMapStd)cmap;
+    FT_UInt      result    = 0;
+    FT_UInt32    char_code = *pchar_code;
 
 
-    *pchar_code = 0;
-
-    if ( char_code < 255 )
+    while ( char_code < 255 )
     {
-      FT_UInt  code = (FT_UInt)( char_code + 1 );
-
-
-      for (;;)
+      result = cffcmap->gids[++char_code];
+      if ( result )
       {
-        if ( code >= 256 )
-          break;
-
-        result = cmap->gids[code];
-        if ( result != 0 )
-        {
-          *pchar_code = code;
-          break;
-        }
-
-        code++;
+        *pchar_code = char_code;
+        break;
       }
     }
+
     return result;
   }
 
@@ -130,9 +124,10 @@
   /*************************************************************************/
 
   FT_CALLBACK_DEF( const char* )
-  cff_sid_to_glyph_name( TT_Face  face,
+  cff_sid_to_glyph_name( void*    face_,  /* TT_Face */
                          FT_UInt  idx )
   {
+    TT_Face      face    = (TT_Face)face_;
     CFF_Font     cff     = (CFF_Font)face->extra.data;
     CFF_Charset  charset = &cff->charset;
     FT_UInt      sid     = charset->sids[idx];
@@ -143,14 +138,15 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  cff_cmap_unicode_init( PS_Unicodes  unicodes,
+  cff_cmap_unicode_init( FT_CMap      cmap,     /* PS_Unicodes */
                          FT_Pointer   pointer )
   {
-    TT_Face             face    = (TT_Face)FT_CMAP_FACE( unicodes );
-    FT_Memory           memory  = FT_FACE_MEMORY( face );
-    CFF_Font            cff     = (CFF_Font)face->extra.data;
-    CFF_Charset         charset = &cff->charset;
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)cff->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    TT_Face             face     = (TT_Face)FT_CMAP_FACE( cmap );
+    FT_Memory           memory   = FT_FACE_MEMORY( face );
+    CFF_Font            cff      = (CFF_Font)face->extra.data;
+    CFF_Charset         charset  = &cff->charset;
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)cff->psnames;
 
     FT_UNUSED( pointer );
 
@@ -166,17 +162,18 @@
     return psnames->unicodes_init( memory,
                                    unicodes,
                                    cff->num_glyphs,
-                                   (PS_GetGlyphNameFunc)&cff_sid_to_glyph_name,
+                                   &cff_sid_to_glyph_name,
                                    (PS_FreeGlyphNameFunc)NULL,
                                    (FT_Pointer)face );
   }
 
 
   FT_CALLBACK_DEF( void )
-  cff_cmap_unicode_done( PS_Unicodes  unicodes )
+  cff_cmap_unicode_done( FT_CMap  cmap )    /* PS_Unicodes */
   {
-    FT_Face    face   = FT_CMAP_FACE( unicodes );
-    FT_Memory  memory = FT_FACE_MEMORY( face );
+    PS_Unicodes  unicodes = (PS_Unicodes)cmap;
+    FT_Face      face     = FT_CMAP_FACE( cmap );
+    FT_Memory    memory   = FT_FACE_MEMORY( face );
 
 
     FT_FREE( unicodes->maps );
@@ -185,25 +182,27 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  cff_cmap_unicode_char_index( PS_Unicodes  unicodes,
-                               FT_UInt32    char_code )
+  cff_cmap_unicode_char_index( FT_CMap    cmap,       /* PS_Unicodes */
+                               FT_UInt32  char_code )
   {
-    TT_Face             face    = (TT_Face)FT_CMAP_FACE( unicodes );
-    CFF_Font            cff     = (CFF_Font)face->extra.data;
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)cff->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    TT_Face             face     = (TT_Face)FT_CMAP_FACE( cmap );
+    CFF_Font            cff      = (CFF_Font)face->extra.data;
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)cff->psnames;
 
 
     return psnames->unicodes_char_index( unicodes, char_code );
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  cff_cmap_unicode_char_next( PS_Unicodes  unicodes,
-                              FT_UInt32   *pchar_code )
-  {
-    TT_Face             face    = (TT_Face)FT_CMAP_FACE( unicodes );
-    CFF_Font            cff     = (CFF_Font)face->extra.data;
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)cff->psnames;
+  FT_CALLBACK_DEF( FT_UInt )
+  cff_cmap_unicode_char_next( FT_CMap     cmap,        /* PS_Unicodes */
+                              FT_UInt32  *pchar_code )
+  {
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    TT_Face             face     = (TT_Face)FT_CMAP_FACE( cmap );
+    CFF_Font            cff      = (CFF_Font)face->extra.data;
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)cff->psnames;
 
 
     return psnames->unicodes_char_next( unicodes, pchar_code );
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.c	2024-04-08 05:38:38.000000000 +0000
@@ -108,20 +108,20 @@
    *   They can be implemented by format-specific interfaces.
    */
   FT_CALLBACK_DEF( FT_Error )
-  cff_get_kerning( FT_Face     ttface,          /* TT_Face */
+  cff_get_kerning( FT_Face     face,          /* CFF_Face */
                    FT_UInt     left_glyph,
                    FT_UInt     right_glyph,
                    FT_Vector*  kerning )
   {
-    TT_Face       face = (TT_Face)ttface;
-    SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
+    CFF_Face      cffface = (CFF_Face)face;
+    SFNT_Service  sfnt    = (SFNT_Service)cffface->sfnt;
 
 
     kerning->x = 0;
     kerning->y = 0;
 
     if ( sfnt )
-      kerning->x = sfnt->get_kerning( face, left_glyph, right_glyph );
+      kerning->x = sfnt->get_kerning( cffface, left_glyph, right_glyph );
 
     return FT_Err_Ok;
   }
@@ -158,23 +158,23 @@
    *   FreeType error code.  0 means success.
    */
   FT_CALLBACK_DEF( FT_Error )
-  cff_glyph_load( FT_GlyphSlot  cffslot,      /* CFF_GlyphSlot */
-                  FT_Size       cffsize,      /* CFF_Size      */
+  cff_glyph_load( FT_GlyphSlot  slot,        /* CFF_GlyphSlot */
+                  FT_Size       size,        /* CFF_Size      */
                   FT_UInt       glyph_index,
                   FT_Int32      load_flags )
   {
     FT_Error       error;
-    CFF_GlyphSlot  slot = (CFF_GlyphSlot)cffslot;
-    CFF_Size       size = (CFF_Size)cffsize;
+    CFF_GlyphSlot  cffslot = (CFF_GlyphSlot)slot;
+    CFF_Size       cffsize = (CFF_Size)size;
 
 
-    if ( !slot )
+    if ( !cffslot )
       return FT_THROW( Invalid_Slot_Handle );
 
     FT_TRACE1(( "cff_glyph_load: glyph index %d\n", glyph_index ));
 
     /* check whether we want a scaled outline or bitmap */
-    if ( !size )
+    if ( !cffsize )
       load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
 
     /* reset the size object if necessary */
@@ -184,12 +184,12 @@
     if ( size )
     {
       /* these two objects must have the same parent */
-      if ( cffsize->face != cffslot->face )
+      if ( size->face != slot->face )
         return FT_THROW( Invalid_Face_Handle );
     }
 
     /* now load the glyph outline if necessary */
-    error = cff_slot_load( slot, size, glyph_index, load_flags );
+    error = cff_slot_load( cffslot, cffsize, glyph_index, load_flags );
 
     /* force drop-out mode to 2 - irrelevant now */
     /* slot->outline.dropout_mode = 2; */
@@ -216,7 +216,7 @@
       /* it is no longer necessary that those values are identical to   */
       /* the values in the `CFF' table                                  */
 
-      TT_Face   ttface = (TT_Face)face;
+      CFF_Face  cffface = (CFF_Face)face;
       FT_Short  dummy;
 
 
@@ -225,7 +225,7 @@
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
         /* no fast retrieval for blended MM fonts without VVAR table */
         if ( ( FT_IS_NAMED_INSTANCE( face ) || FT_IS_VARIATION( face ) ) &&
-             !( ttface->variation_support & TT_FACE_FLAG_VAR_VADVANCE )  )
+             !( cffface->variation_support & TT_FACE_FLAG_VAR_VADVANCE ) )
           return FT_THROW( Unimplemented_Feature );
 #endif
 
@@ -233,7 +233,7 @@
         /* otherwise we extract the info from the CFF glyphstrings  */
         /* (instead of synthesizing a global value using the `OS/2' */
         /* table)                                                   */
-        if ( !ttface->vertical_info )
+        if ( !cffface->vertical_info )
           goto Missing_Table;
 
         for ( nn = 0; nn < count; nn++ )
@@ -241,11 +241,11 @@
           FT_UShort  ah;
 
 
-          ( (SFNT_Service)ttface->sfnt )->get_metrics( ttface,
-                                                       1,
-                                                       start + nn,
-                                                       &dummy,
-                                                       &ah );
+          ( (SFNT_Service)cffface->sfnt )->get_metrics( cffface,
+                                                        1,
+                                                        start + nn,
+                                                        &dummy,
+                                                        &ah );
 
           FT_TRACE5(( "  idx %d: advance height %d font unit%s\n",
                       start + nn,
@@ -259,12 +259,12 @@
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
         /* no fast retrieval for blended MM fonts without HVAR table */
         if ( ( FT_IS_NAMED_INSTANCE( face ) || FT_IS_VARIATION( face ) ) &&
-             !( ttface->variation_support & TT_FACE_FLAG_VAR_HADVANCE )  )
+             !( cffface->variation_support & TT_FACE_FLAG_VAR_HADVANCE ) )
           return FT_THROW( Unimplemented_Feature );
 #endif
 
         /* check whether we have data from the `hmtx' table at all */
-        if ( !ttface->horizontal.number_Of_HMetrics )
+        if ( !cffface->horizontal.number_Of_HMetrics )
           goto Missing_Table;
 
         for ( nn = 0; nn < count; nn++ )
@@ -272,11 +272,11 @@
           FT_UShort  aw;
 
 
-          ( (SFNT_Service)ttface->sfnt )->get_metrics( ttface,
-                                                       0,
-                                                       start + nn,
-                                                       &dummy,
-                                                       &aw );
+          ( (SFNT_Service)cffface->sfnt )->get_metrics( cffface,
+                                                        0,
+                                                        start + nn,
+                                                        &dummy,
+                                                        &aw );
 
           FT_TRACE5(( "  idx %d: advance width %d font unit%s\n",
                       start + nn,
@@ -312,13 +312,14 @@
    *
    */
 
-  static FT_Error
-  cff_get_glyph_name( CFF_Face    face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_glyph_name( FT_Face     face,        /* CFF_Face */
                       FT_UInt     glyph_index,
                       FT_Pointer  buffer,
                       FT_UInt     buffer_max )
   {
-    CFF_Font    font   = (CFF_Font)face->extra.data;
+    CFF_Face    cffface = (CFF_Face)face;
+    CFF_Font    font    = (CFF_Font)cffface->extra.data;
     FT_String*  gname;
     FT_UShort   sid;
     FT_Error    error;
@@ -338,10 +339,7 @@
 
 
       if ( service && service->get_name )
-        return service->get_name( FT_FACE( face ),
-                                  glyph_index,
-                                  buffer,
-                                  buffer_max );
+        return service->get_name( face, glyph_index, buffer, buffer_max );
       else
       {
         FT_ERROR(( "cff_get_glyph_name:"
@@ -366,7 +364,7 @@
     /* first, locate the sid in the charset table */
     sid = font->charset.sids[glyph_index];
 
-    /* now, lookup the name itself */
+    /* now, look up the name itself */
     gname = cff_index_get_sid_string( font, sid );
 
     if ( gname )
@@ -379,21 +377,19 @@
   }
 
 
-  static FT_UInt
-  cff_get_name_index( CFF_Face          face,
+  FT_CALLBACK_DEF( FT_UInt )
+  cff_get_name_index( FT_Face           face,        /* CFF_Face */
                       const FT_String*  glyph_name )
   {
-    CFF_Font            cff;
-    CFF_Charset         charset;
+    CFF_Face            cffface = (CFF_Face)face;
+    CFF_Font            cff     = (CFF_Font)cffface->extra.data;
+    CFF_Charset         charset = &cff->charset;
     FT_Service_PsCMaps  psnames;
     FT_String*          name;
     FT_UShort           sid;
     FT_UInt             i;
 
 
-    cff     = (CFF_FontRec *)face->extra.data;
-    charset = &cff->charset;
-
     /* CFF2 table does not have glyph names; */
     /* we need to use `post' table method    */
     if ( cff->version_major == 2 )
@@ -408,7 +404,7 @@
 
 
       if ( service && service->name_index )
-        return service->name_index( FT_FACE( face ), glyph_name );
+        return service->name_index( face, glyph_name );
       else
       {
         FT_ERROR(( "cff_get_name_index:"
@@ -446,8 +442,8 @@
   FT_DEFINE_SERVICE_GLYPHDICTREC(
     cff_service_glyph_dict,
 
-    (FT_GlyphDict_GetNameFunc)  cff_get_glyph_name,      /* get_name   */
-    (FT_GlyphDict_NameIndexFunc)cff_get_name_index       /* name_index */
+    cff_get_glyph_name,  /* FT_GlyphDict_GetNameFunc   get_name   */
+    cff_get_name_index   /* FT_GlyphDict_NameIndexFunc name_index */
   )
 
 
@@ -456,25 +452,32 @@
    *
    */
 
-  static FT_Int
+  FT_CALLBACK_DEF( FT_Int )
   cff_ps_has_glyph_names( FT_Face  face )
   {
     return ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) > 0;
   }
 
 
-  static FT_Error
-  cff_ps_get_font_info( CFF_Face         face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_ps_get_font_info( FT_Face          face,        /* CFF_Face */
                         PS_FontInfoRec*  afont_info )
   {
-    CFF_Font  cff   = (CFF_Font)face->extra.data;
-    FT_Error  error = FT_Err_Ok;
+    CFF_Face  cffface = (CFF_Face)face;
+    CFF_Font  cff     = (CFF_Font)cffface->extra.data;
+    FT_Error  error   = FT_Err_Ok;
 
 
+    if ( cffface->is_cff2 )
+    {
+      error = FT_THROW( Invalid_Argument );
+      goto Fail;
+    }
+
     if ( cff && !cff->font_info )
     {
       CFF_FontRecDict  dict      = &cff->top_font.font_dict;
-      FT_Memory        memory    = face->root.memory;
+      FT_Memory        memory    = FT_FACE_MEMORY( face );
       PS_FontInfoRec*  font_info = NULL;
 
 
@@ -507,18 +510,19 @@
   }
 
 
-  static FT_Error
-  cff_ps_get_font_extra( CFF_Face          face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_ps_get_font_extra( FT_Face           face,         /* CFF_Face */
                          PS_FontExtraRec*  afont_extra )
   {
-    CFF_Font  cff   = (CFF_Font)face->extra.data;
-    FT_Error  error = FT_Err_Ok;
+    CFF_Face  cffface = (CFF_Face)face;
+    CFF_Font  cff     = (CFF_Font)cffface->extra.data;
+    FT_Error  error   = FT_Err_Ok;
 
 
     if ( cff && !cff->font_extra )
     {
       CFF_FontRecDict   dict       = &cff->top_font.font_dict;
-      FT_Memory         memory     = face->root.memory;
+      FT_Memory         memory     = FT_FACE_MEMORY( face );
       PS_FontExtraRec*  font_extra = NULL;
       FT_String*        embedded_postscript;
 
@@ -588,13 +592,13 @@
   FT_DEFINE_SERVICE_PSINFOREC(
     cff_service_ps_info,
 
-    (PS_GetFontInfoFunc)   cff_ps_get_font_info,    /* ps_get_font_info    */
-    (PS_GetFontExtraFunc)  cff_ps_get_font_extra,   /* ps_get_font_extra   */
-    (PS_HasGlyphNamesFunc) cff_ps_has_glyph_names,  /* ps_has_glyph_names  */
+    cff_ps_get_font_info,    /* PS_GetFontInfoFunc    ps_get_font_info    */
+    cff_ps_get_font_extra,   /* PS_GetFontExtraFunc   ps_get_font_extra   */
+    cff_ps_has_glyph_names,  /* PS_HasGlyphNamesFunc  ps_has_glyph_names  */
     /* unsupported with CFF fonts */
-    (PS_GetFontPrivateFunc)NULL,                    /* ps_get_font_private */
+    NULL,                    /* PS_GetFontPrivateFunc ps_get_font_private */
     /* not implemented            */
-    (PS_GetFontValueFunc)  NULL                     /* ps_get_font_value   */
+    NULL                     /* PS_GetFontValueFunc   ps_get_font_value   */
   )
 
 
@@ -603,17 +607,18 @@
    *
    */
 
-  static const char*
-  cff_get_ps_name( CFF_Face  face )
+  FT_CALLBACK_DEF( const char* )
+  cff_get_ps_name( FT_Face  face )    /* CFF_Face */
   {
-    CFF_Font      cff  = (CFF_Font)face->extra.data;
-    SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
+    CFF_Face      cffface = (CFF_Face)face;
+    CFF_Font      cff     = (CFF_Font)cffface->extra.data;
+    SFNT_Service  sfnt    = (SFNT_Service)cffface->sfnt;
 
 
     /* following the OpenType specification 1.7, we return the name stored */
     /* in the `name' table for a CFF wrapped into an SFNT container        */
 
-    if ( FT_IS_SFNT( FT_FACE( face ) ) && sfnt )
+    if ( FT_IS_SFNT( face ) && sfnt )
     {
       FT_Library             library     = FT_FACE_LIBRARY( face );
       FT_Module              sfnt_module = FT_Get_Module( library, "sfnt" );
@@ -625,17 +630,17 @@
 
 
       if ( service && service->get_ps_font_name )
-        return service->get_ps_font_name( FT_FACE( face ) );
+        return service->get_ps_font_name( face );
     }
 
-    return (const char*)cff->font_name;
+    return cff ? (const char*)cff->font_name : NULL;
   }
 
 
   FT_DEFINE_SERVICE_PSFONTNAMEREC(
     cff_service_ps_name,
 
-    (FT_PsName_GetFunc)cff_get_ps_name      /* get_ps_font_name */
+    cff_get_ps_name  /* FT_PsName_GetFunc get_ps_font_name */
   )
 
 
@@ -649,7 +654,7 @@
    * Otherwise call the service function in the sfnt module.
    *
    */
-  static FT_Error
+  FT_CALLBACK_DEF( FT_Error )
   cff_get_cmap_info( FT_CharMap    charmap,
                      TT_CMapInfo  *cmap_info )
   {
@@ -683,7 +688,7 @@
   FT_DEFINE_SERVICE_TTCMAPSREC(
     cff_service_get_cmap_info,
 
-    (TT_CMap_Info_GetFunc)cff_get_cmap_info    /* get_cmap_info */
+    cff_get_cmap_info  /* TT_CMap_Info_GetFunc get_cmap_info */
   )
 
 
@@ -691,14 +696,15 @@
    * CID INFO SERVICE
    *
    */
-  static FT_Error
-  cff_get_ros( CFF_Face      face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_ros( FT_Face       face,        /* FT_Face */
                const char*  *registry,
                const char*  *ordering,
                FT_Int       *supplement )
   {
-    FT_Error  error = FT_Err_Ok;
-    CFF_Font  cff   = (CFF_Font)face->extra.data;
+    FT_Error  error   = FT_Err_Ok;
+    CFF_Face  cffface = (CFF_Face)face;
+    CFF_Font  cff     = (CFF_Font)cffface->extra.data;
 
 
     if ( cff )
@@ -748,12 +754,13 @@
   }
 
 
-  static FT_Error
-  cff_get_is_cid( CFF_Face  face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_is_cid( FT_Face   face,    /* CFF_Face */
                   FT_Bool  *is_cid )
   {
-    FT_Error  error = FT_Err_Ok;
-    CFF_Font  cff   = (CFF_Font)face->extra.data;
+    FT_Error  error   = FT_Err_Ok;
+    CFF_Face  cffface = (CFF_Face)face;
+    CFF_Font  cff     = (CFF_Font)cffface->extra.data;
 
 
     *is_cid = 0;
@@ -771,16 +778,15 @@
   }
 
 
-  static FT_Error
-  cff_get_cid_from_glyph_index( CFF_Face  face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_cid_from_glyph_index( FT_Face   face,        /* CFF_Face */
                                 FT_UInt   glyph_index,
                                 FT_UInt  *cid )
   {
-    FT_Error  error = FT_Err_Ok;
-    CFF_Font  cff;
-
+    FT_Error  error   = FT_Err_Ok;
+    CFF_Face  cffface = (CFF_Face)face;
+    CFF_Font  cff     = (CFF_Font)cffface->extra.data;
 
-    cff = (CFF_Font)face->extra.data;
 
     if ( cff )
     {
@@ -814,12 +820,12 @@
   FT_DEFINE_SERVICE_CIDREC(
     cff_service_cid_info,
 
-    (FT_CID_GetRegistryOrderingSupplementFunc)
-      cff_get_ros,                             /* get_ros                  */
-    (FT_CID_GetIsInternallyCIDKeyedFunc)
-      cff_get_is_cid,                          /* get_is_cid               */
-    (FT_CID_GetCIDFromGlyphIndexFunc)
-      cff_get_cid_from_glyph_index             /* get_cid_from_glyph_index */
+    cff_get_ros,
+      /* FT_CID_GetRegistryOrderingSupplementFunc get_ros                  */
+    cff_get_is_cid,
+      /* FT_CID_GetIsInternallyCIDKeyedFunc       get_is_cid               */
+    cff_get_cid_from_glyph_index
+      /* FT_CID_GetCIDFromGlyphIndexFunc          get_cid_from_glyph_index */
   )
 
 
@@ -831,9 +837,9 @@
   FT_DEFINE_SERVICE_PROPERTIESREC(
     cff_service_properties,
 
-    (FT_Properties_SetFunc)ps_property_set,      /* set_property */
-    (FT_Properties_GetFunc)ps_property_get )     /* get_property */
-
+    ps_property_set,  /* FT_Properties_SetFunc set_property */
+    ps_property_get   /* FT_Properties_GetFunc get_property */
+  )
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
 
@@ -842,160 +848,195 @@
    *
    */
 
-  static FT_Error
-  cff_set_mm_blend( CFF_Face   face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_set_mm_blend( FT_Face    face,        /* CFF_Face */
                     FT_UInt    num_coords,
                     FT_Fixed*  coords )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->set_mm_blend( FT_FACE( face ), num_coords, coords );
+    return mm->set_mm_blend( face, num_coords, coords );
   }
 
 
-  static FT_Error
-  cff_get_mm_blend( CFF_Face   face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_mm_blend( FT_Face    face,       /* CFF_Face */
                     FT_UInt    num_coords,
                     FT_Fixed*  coords )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->get_mm_blend( FT_FACE( face ), num_coords, coords );
+    return mm->get_mm_blend( face, num_coords, coords );
   }
 
 
-  static FT_Error
-  cff_set_mm_weightvector( CFF_Face   face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_set_mm_weightvector( FT_Face    face,          /* CFF_Face */
                            FT_UInt    len,
                            FT_Fixed*  weightvector )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->set_mm_weightvector( FT_FACE( face ), len, weightvector );
+    return mm->set_mm_weightvector( face, len, weightvector );
   }
 
 
-  static FT_Error
-  cff_get_mm_weightvector( CFF_Face   face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_mm_weightvector( FT_Face    face,          /* CFF_Face */
                            FT_UInt*   len,
                            FT_Fixed*  weightvector )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->get_mm_weightvector( FT_FACE( face ), len, weightvector );
+    return mm->get_mm_weightvector( face, len, weightvector );
   }
 
 
-  static FT_Error
-  cff_get_mm_var( CFF_Face     face,
+  FT_CALLBACK_DEF( void )
+  cff_construct_ps_name( FT_Face  face )  /* CFF_Face */
+  {
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
+
+
+    mm->construct_ps_name( face );
+  }
+
+
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_mm_var( FT_Face      face,    /* CFF_Face */
                   FT_MM_Var*  *master )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->get_mm_var( FT_FACE( face ), master );
+    return mm->get_mm_var( face, master );
   }
 
 
-  static FT_Error
-  cff_set_var_design( CFF_Face   face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_set_var_design( FT_Face    face,       /* CFF_Face */
                       FT_UInt    num_coords,
                       FT_Fixed*  coords )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->set_var_design( FT_FACE( face ), num_coords, coords );
+    return mm->set_var_design( face, num_coords, coords );
   }
 
 
-  static FT_Error
-  cff_get_var_design( CFF_Face   face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_var_design( FT_Face    face,       /* CFF_Face */
                       FT_UInt    num_coords,
                       FT_Fixed*  coords )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->get_var_design( FT_FACE( face ), num_coords, coords );
+    return mm->get_var_design( face, num_coords, coords );
   }
 
 
-  static FT_Error
-  cff_set_instance( CFF_Face  face,
-                    FT_UInt   instance_index )
+  FT_CALLBACK_DEF( FT_Error )
+  cff_set_named_instance( FT_Face   face,            /* CFF_Face */
+                          FT_UInt   instance_index )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->set_instance( FT_FACE( face ), instance_index );
+    return mm->set_named_instance( face, instance_index );
   }
 
 
-  static FT_Error
-  cff_load_item_variation_store( CFF_Face         face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_get_default_named_instance( FT_Face   face,            /* CFF_Face */
+                                  FT_UInt  *instance_index )
+  {
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
+
+
+    return mm->get_default_named_instance( face, instance_index );
+  }
+
+
+  FT_CALLBACK_DEF( FT_Error )
+  cff_load_item_variation_store( FT_Face          face,       /* CFF_Face */
                                  FT_ULong         offset,
                                  GX_ItemVarStore  itemStore )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->load_item_var_store( FT_FACE(face), offset, itemStore );
+    return mm->load_item_var_store( face, offset, itemStore );
   }
 
 
-  static FT_Error
-  cff_load_delta_set_index_mapping( CFF_Face           face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_load_delta_set_index_mapping( FT_Face            face,   /* CFF_Face */
                                     FT_ULong           offset,
                                     GX_DeltaSetIdxMap  map,
                                     GX_ItemVarStore    itemStore,
                                     FT_ULong           table_len )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->load_delta_set_idx_map( FT_FACE( face ), offset, map,
+    return mm->load_delta_set_idx_map( face, offset, map,
                                        itemStore, table_len );
   }
 
 
-  static FT_Int
-  cff_get_item_delta( CFF_Face         face,
+  FT_CALLBACK_DEF( FT_Int )
+  cff_get_item_delta( FT_Face          face,        /* CFF_Face */
                       GX_ItemVarStore  itemStore,
                       FT_UInt          outerIndex,
                       FT_UInt          innerIndex )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->get_item_delta( FT_FACE( face ), itemStore,
-                               outerIndex, innerIndex );
+    return mm->get_item_delta( face, itemStore, outerIndex, innerIndex );
   }
 
 
-  static void
-  cff_done_item_variation_store( CFF_Face          face,
+  FT_CALLBACK_DEF( void )
+  cff_done_item_variation_store( FT_Face          face,       /* CFF_Face */
                                  GX_ItemVarStore  itemStore )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    mm->done_item_var_store( FT_FACE( face ), itemStore );
+    mm->done_item_var_store( face, itemStore );
   }
 
 
-  static void
-  cff_done_delta_set_index_map( CFF_Face           face,
+  FT_CALLBACK_DEF( void )
+  cff_done_delta_set_index_map( FT_Face            face,       /* CFF_Face */
                                 GX_DeltaSetIdxMap  deltaSetIdxMap )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    mm->done_delta_set_idx_map( FT_FACE ( face ), deltaSetIdxMap );
+    mm->done_delta_set_idx_map( face, deltaSetIdxMap );
   }
 
 
@@ -1003,36 +1044,35 @@
   FT_DEFINE_SERVICE_MULTIMASTERSREC(
     cff_service_multi_masters,
 
-    (FT_Get_MM_Func)        NULL,               /* get_mm                    */
-    (FT_Set_MM_Design_Func) NULL,               /* set_mm_design             */
-    (FT_Set_MM_Blend_Func)  cff_set_mm_blend,   /* set_mm_blend              */
-    (FT_Get_MM_Blend_Func)  cff_get_mm_blend,   /* get_mm_blend              */
-    (FT_Get_MM_Var_Func)    cff_get_mm_var,     /* get_mm_var                */
-    (FT_Set_Var_Design_Func)cff_set_var_design, /* set_var_design            */
-    (FT_Get_Var_Design_Func)cff_get_var_design, /* get_var_design            */
-    (FT_Set_Instance_Func)  cff_set_instance,   /* set_instance              */
-    (FT_Set_MM_WeightVector_Func)
-                            cff_set_mm_weightvector,
-                                                /* set_mm_weightvector       */
-    (FT_Get_MM_WeightVector_Func)
-                            cff_get_mm_weightvector,
-                                                /* get_mm_weightvector       */
-    (FT_Var_Load_Delta_Set_Idx_Map_Func)
-                            cff_load_delta_set_index_mapping,
-                                                /* load_delta_set_idx_map    */
-    (FT_Var_Load_Item_Var_Store_Func)
-                            cff_load_item_variation_store,
-                                                /* load_item_variation_store */
-    (FT_Var_Get_Item_Delta_Func)
-                            cff_get_item_delta, /* get_item_delta            */
-    (FT_Var_Done_Item_Var_Store_Func)
-                            cff_done_item_variation_store,
-                                                /* done_item_variation_store */
-    (FT_Var_Done_Delta_Set_Idx_Map_Func)
-                            cff_done_delta_set_index_map,
-                                                /* done_delta_set_index_map  */
-    (FT_Get_Var_Blend_Func) cff_get_var_blend,  /* get_var_blend             */
-    (FT_Done_Blend_Func)    cff_done_blend      /* done_blend                */
+    NULL,                /* FT_Get_MM_Func         get_mm                     */
+    NULL,                /* FT_Set_MM_Design_Func  set_mm_design              */
+    cff_set_mm_blend,    /* FT_Set_MM_Blend_Func   set_mm_blend               */
+    cff_get_mm_blend,    /* FT_Get_MM_Blend_Func   get_mm_blend               */
+    cff_get_mm_var,      /* FT_Get_MM_Var_Func     get_mm_var                 */
+    cff_set_var_design,  /* FT_Set_Var_Design_Func set_var_design             */
+    cff_get_var_design,  /* FT_Get_Var_Design_Func get_var_design             */
+    cff_set_named_instance,
+             /* FT_Set_Named_Instance_Func         set_named_instance         */
+    cff_get_default_named_instance,
+             /* FT_Get_Default_Named_Instance_Func get_default_named_instance */
+    cff_set_mm_weightvector,
+             /* FT_Set_MM_WeightVector_Func        set_mm_weightvector        */
+    cff_get_mm_weightvector,
+             /* FT_Get_MM_WeightVector_Func        get_mm_weightvector        */
+    cff_construct_ps_name,
+             /* FT_Construct_PS_Name_Func          construct_ps_name          */
+    cff_load_delta_set_index_mapping,
+             /* FT_Var_Load_Delta_Set_Idx_Map_Func load_delta_set_idx_map     */
+    cff_load_item_variation_store,
+             /* FT_Var_Load_Item_Var_Store_Func    load_item_variation_store  */
+    cff_get_item_delta,
+             /* FT_Var_Get_Item_Delta_Func         get_item_delta             */
+    cff_done_item_variation_store,
+             /* FT_Var_Done_Item_Var_Store_Func    done_item_variation_store  */
+    cff_done_delta_set_index_map,
+             /* FT_Var_Done_Delta_Set_Idx_Map_Func done_delta_set_index_map   */
+    cff_get_var_blend,   /* FT_Get_Var_Blend_Func  get_var_blend              */
+    cff_done_blend       /* FT_Done_Blend_Func     done_blend                 */
   )
 
 
@@ -1041,41 +1081,46 @@
    *
    */
 
-  static FT_Error
-  cff_hadvance_adjust( CFF_Face  face,
+  FT_CALLBACK_DEF( FT_Error )
+  cff_hadvance_adjust( FT_Face   face,    /* CFF_Face */
                        FT_UInt   gindex,
                        FT_Int   *avalue )
   {
-    FT_Service_MetricsVariations  var = (FT_Service_MetricsVariations)face->var;
+    CFF_Face  cffface = (CFF_Face)face;
+    FT_Service_MetricsVariations
+              var     = (FT_Service_MetricsVariations)cffface->tt_var;
 
 
-    return var->hadvance_adjust( FT_FACE( face ), gindex, avalue );
+    return var->hadvance_adjust( face, gindex, avalue );
   }
 
 
-  static void
-  cff_metrics_adjust( CFF_Face  face )
+  FT_CALLBACK_DEF( void )
+  cff_metrics_adjust( FT_Face  face )    /* CFF_Face */
   {
-    FT_Service_MetricsVariations  var = (FT_Service_MetricsVariations)face->var;
+    CFF_Face  cffface = (CFF_Face)face;
+    FT_Service_MetricsVariations
+              var     = (FT_Service_MetricsVariations)cffface->tt_var;
 
 
-    var->metrics_adjust( FT_FACE( face ) );
+    var->metrics_adjust( face );
   }
 
 
   FT_DEFINE_SERVICE_METRICSVARIATIONSREC(
     cff_service_metrics_variations,
 
-    (FT_HAdvance_Adjust_Func)cff_hadvance_adjust,    /* hadvance_adjust */
-    (FT_LSB_Adjust_Func)     NULL,                   /* lsb_adjust      */
-    (FT_RSB_Adjust_Func)     NULL,                   /* rsb_adjust      */
-
-    (FT_VAdvance_Adjust_Func)NULL,                   /* vadvance_adjust */
-    (FT_TSB_Adjust_Func)     NULL,                   /* tsb_adjust      */
-    (FT_BSB_Adjust_Func)     NULL,                   /* bsb_adjust      */
-    (FT_VOrg_Adjust_Func)    NULL,                   /* vorg_adjust     */
+    cff_hadvance_adjust,  /* FT_HAdvance_Adjust_Func hadvance_adjust */
+    NULL,                 /* FT_LSB_Adjust_Func      lsb_adjust      */
+    NULL,                 /* FT_RSB_Adjust_Func      rsb_adjust      */
+
+    NULL,                 /* FT_VAdvance_Adjust_Func vadvance_adjust */
+    NULL,                 /* FT_TSB_Adjust_Func      tsb_adjust      */
+    NULL,                 /* FT_BSB_Adjust_Func      bsb_adjust      */
+    NULL,                 /* FT_VOrg_Adjust_Func     vorg_adjust     */
 
-    (FT_Metrics_Adjust_Func) cff_metrics_adjust      /* metrics_adjust  */
+    cff_metrics_adjust,   /* FT_Metrics_Adjust_Func  metrics_adjust  */
+    NULL                  /* FT_Size_Reset_Func      size_reset      */
   )
 #endif
 
@@ -1088,11 +1133,11 @@
   FT_DEFINE_SERVICE_CFFLOADREC(
     cff_service_cff_load,
 
-    (FT_Get_Standard_Encoding_Func)cff_get_standard_encoding,
-    (FT_Load_Private_Dict_Func)    cff_load_private_dict,
-    (FT_FD_Select_Get_Func)        cff_fd_select_get,
-    (FT_Blend_Check_Vector_Func)   cff_blend_check_vector,
-    (FT_Blend_Build_Vector_Func)   cff_blend_build_vector
+    cff_get_standard_encoding,  /* FT_Get_Standard_Encoding_Func get_standard_encoding */
+    cff_load_private_dict,      /* FT_Load_Private_Dict_Func     load_private_dict     */
+    cff_fd_select_get,          /* FT_FD_Select_Get_Func         fd_select_get         */
+    cff_blend_check_vector,     /* FT_Blend_Check_Vector_Func    blend_check_vector    */
+    cff_blend_build_vector      /* FT_Blend_Build_Vector_Func    blend_build_vector    */
   )
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffgload.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffgload.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffgload.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffgload.c	2024-04-08 05:38:38.000000000 +0000
@@ -356,14 +356,16 @@
 
 #ifdef FT_CONFIG_OPTION_SVG
     /* check for OT-SVG */
-    if ( ( load_flags & FT_LOAD_COLOR ) && face->svg )
+    if ( ( load_flags & FT_LOAD_NO_SVG ) == 0 &&
+         ( load_flags & FT_LOAD_COLOR )       &&
+         face->svg                            )
     {
       /*
        * We load the SVG document and try to grab the advances from the
        * table.  For the bearings we rely on the presetting hook to do that.
        */
 
-      SFNT_Service  sfnt  = (SFNT_Service)face->sfnt;
+      SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
 
 
       if ( size && (size->root.metrics.x_ppem < 1 ||
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffload.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffload.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffload.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffload.c	2024-04-08 05:38:38.000000000 +0000
@@ -400,7 +400,7 @@
 
   /* Allocate a table containing pointers to an index's elements. */
   /* The `pool' argument makes this function convert the index    */
-  /* entries to C-style strings (this is, null-terminated).       */
+  /* entries to C-style strings (that is, null-terminated).       */
   static FT_Error
   cff_index_get_pointers( CFF_Index   idx,
                           FT_Byte***  table,
@@ -1361,14 +1361,15 @@
     for ( i = 0; i < numBlends; i++ )
     {
       const FT_Int32*  weight = &blend->BV[1];
-      FT_UInt32        sum;
+      FT_Fixed         sum;
 
 
-      /* convert inputs to 16.16 fixed-point */
-      sum = cff_parse_num( parser, &parser->stack[i + base] ) * 0x10000;
+      /* convert inputs to 16.16 fixed point */
+      sum = cff_parse_fixed( parser, &parser->stack[i + base] );
 
       for ( j = 1; j < blend->lenBV; j++ )
-        sum += cff_parse_num( parser, &parser->stack[delta++] ) * *weight++;
+        sum += FT_MulFix( cff_parse_fixed( parser, &parser->stack[delta++] ),
+                          *weight++ );
 
       /* point parser stack to new value on blend_stack */
       parser->stack[i + base] = subFont->blend_top;
@@ -1589,16 +1590,17 @@
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
 
   FT_LOCAL_DEF( FT_Error )
-  cff_get_var_blend( CFF_Face     face,
+  cff_get_var_blend( FT_Face      face,             /* CFF_Face */
                      FT_UInt     *num_coords,
                      FT_Fixed*   *coords,
                      FT_Fixed*   *normalizedcoords,
                      FT_MM_Var*  *mm_var )
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    return mm->get_var_blend( FT_FACE( face ),
+    return mm->get_var_blend( face,
                               num_coords,
                               coords,
                               normalizedcoords,
@@ -1607,13 +1609,14 @@
 
 
   FT_LOCAL_DEF( void )
-  cff_done_blend( CFF_Face  face )
+  cff_done_blend( FT_Face  face )    /* CFF_Face */
   {
-    FT_Service_MultiMasters  mm = (FT_Service_MultiMasters)face->mm;
+    CFF_Face                 cffface = (CFF_Face)face;
+    FT_Service_MultiMasters  mm      = (FT_Service_MultiMasters)cffface->mm;
 
 
-    if (mm)
-      mm->done_blend( FT_FACE( face ) );
+    if ( mm )
+      mm->done_blend( face );
   }
 
 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
@@ -1650,13 +1653,6 @@
       goto Exit;
     }
 
-    /* Zero out the code to gid/sid mappings. */
-    for ( j = 0; j < 256; j++ )
-    {
-      encoding->sids [j] = 0;
-      encoding->codes[j] = 0;
-    }
-
     /* Note: The encoding table in a CFF font is indexed by glyph index;  */
     /* the first encoded glyph index is 1.  Hence, we read the character  */
     /* code (`glyph_code') at index j and make the assignment:            */
@@ -1671,6 +1667,10 @@
 
     if ( offset > 1 )
     {
+      /* Zero out the code to gid/sid mappings. */
+      FT_ARRAY_ZERO( encoding->sids,  256 );
+      FT_ARRAY_ZERO( encoding->codes, 256 );
+
       encoding->offset = base_offset + offset;
 
       /* we need to parse the table to determine its size */
@@ -2012,7 +2012,7 @@
     /*       Top and Font DICTs are not allowed to have blend operators. */
     error = cff_parser_init( &parser,
                              code,
-                             &subfont->font_dict,
+                             top,
                              font->library,
                              stackSize,
                              0,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffload.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffload.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffload.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffload.h	2024-04-08 05:38:38.000000000 +0000
@@ -105,14 +105,14 @@
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
   FT_LOCAL( FT_Error )
-  cff_get_var_blend( CFF_Face     face,
+  cff_get_var_blend( FT_Face      face,
                      FT_UInt     *num_coords,
                      FT_Fixed*   *coords,
                      FT_Fixed*   *normalizedcoords,
                      FT_MM_Var*  *mm_var );
 
   FT_LOCAL( void )
-  cff_done_blend( CFF_Face  face );
+  cff_done_blend( FT_Face  face );
 #endif
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffobjs.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffobjs.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffobjs.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffobjs.c	2024-04-08 05:38:38.000000000 +0000
@@ -69,8 +69,8 @@
     FT_Module         module;
 
 
-    module = FT_Get_Module( size->root.face->driver->root.library,
-                            "pshinter" );
+    module = FT_Get_Module( font->library, "pshinter" );
+
     return ( module && pshinter && pshinter->get_globals_funcs )
            ? pshinter->get_globals_funcs( module )
            : 0;
@@ -182,8 +182,7 @@
       goto Exit;
 
     cff_make_private_dict( &font->top_font, &priv );
-    error = funcs->create( cffsize->face->memory, &priv,
-                             &internal->topfont );
+    error = funcs->create( memory, &priv, &internal->topfont );
     if ( error )
       goto Exit;
 
@@ -193,8 +192,7 @@
 
 
       cff_make_private_dict( sub, &priv );
-      error = funcs->create( cffsize->face->memory, &priv,
-                               &internal->subfonts[i - 1] );
+      error = funcs->create( memory, &priv, &internal->subfonts[i - 1] );
       if ( error )
         goto Exit;
     }
@@ -381,8 +379,7 @@
       FT_Module  module;
 
 
-      module = FT_Get_Module( slot->face->driver->root.library,
-                              "pshinter" );
+      module = FT_Get_Module( slot->library, "pshinter" );
       if ( module )
       {
         T2_Hints_Funcs  funcs;
@@ -722,22 +719,15 @@
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
       {
-        FT_Service_MultiMasters       mm  = (FT_Service_MultiMasters)face->mm;
-        FT_Service_MetricsVariations  var = (FT_Service_MetricsVariations)face->var;
-
         FT_UInt  instance_index = (FT_UInt)face_index >> 16;
 
 
         if ( FT_HAS_MULTIPLE_MASTERS( cffface ) &&
-             mm                                 &&
              instance_index > 0                 )
         {
-          error = mm->set_instance( cffface, instance_index );
+          error = FT_Set_Named_Instance( cffface, instance_index );
           if ( error )
             goto Exit;
-
-          if ( var )
-            var->metrics_adjust( cffface );
         }
       }
 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
@@ -1160,7 +1150,7 @@
     }
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
-    cff_done_blend( face );
+    cff_done_blend( cffface );
     face->blend = NULL;
 #endif
   }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffparse.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffparse.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffparse.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffparse.c	2024-04-08 05:38:38.000000000 +0000
@@ -63,10 +63,7 @@
 
     /* allocate the stack buffer */
     if ( FT_QNEW_ARRAY( parser->stack, stackSize ) )
-    {
-      FT_FREE( parser->stack );
       goto Exit;
-    }
 
     parser->stackSize = stackSize;
     parser->top       = parser->stack;    /* empty stack */
@@ -76,23 +73,6 @@
   }
 
 
-#ifdef CFF_CONFIG_OPTION_OLD_ENGINE
-  static void
-  finalize_t2_strings( FT_Memory  memory,
-                       void*      data,
-                       void*      user )
-  {
-    CFF_T2_String  t2 = (CFF_T2_String)data;
-
-
-    FT_UNUSED( user );
-
-    memory->free( memory, t2->start );
-    memory->free( memory, data );
-  }
-#endif /* CFF_CONFIG_OPTION_OLD_ENGINE */
-
-
   FT_LOCAL_DEF( void )
   cff_parser_done( CFF_Parser  parser )
   {
@@ -102,63 +82,19 @@
     FT_FREE( parser->stack );
 
 #ifdef CFF_CONFIG_OPTION_OLD_ENGINE
-    FT_List_Finalize( &parser->t2_strings,
-                      finalize_t2_strings,
-                      memory,
-                      NULL );
+    FT_List_Finalize( &parser->t2_strings, NULL, memory, NULL );
 #endif
   }
 
 
-  /* Assuming `first >= last'. */
-
-  static FT_Error
-  cff_parser_within_limits( CFF_Parser  parser,
-                            FT_Byte*    first,
-                            FT_Byte*    last )
-  {
-#ifndef CFF_CONFIG_OPTION_OLD_ENGINE
-
-    /* Fast path for regular FreeType builds with the "new" engine; */
-    /*   `first >= parser->start' can be assumed.                   */
-
-    FT_UNUSED( first );
-
-    return last < parser->limit ? FT_Err_Ok : FT_THROW( Invalid_Argument );
-
-#else /* CFF_CONFIG_OPTION_OLD_ENGINE */
-
-    FT_ListNode  node;
-
-
-    if ( first >= parser->start &&
-         last  <  parser->limit )
-      return FT_Err_Ok;
-
-    node = parser->t2_strings.head;
-
-    while ( node )
-    {
-      CFF_T2_String  t2 = (CFF_T2_String)node->data;
-
-
-      if ( first >= t2->start &&
-           last  <  t2->limit )
-        return FT_Err_Ok;
-
-      node = node->next;
-    }
-
-    return FT_THROW( Invalid_Argument );
-
-#endif /* CFF_CONFIG_OPTION_OLD_ENGINE */
-  }
-
+  /* The parser limit checks in the next two functions are supposed */
+  /* to detect the immediate crossing of the stream boundary.  They */
+  /* shall not be triggered from the distant t2_strings buffers.    */
 
   /* read an integer */
   static FT_Long
-  cff_parse_integer( CFF_Parser  parser,
-                     FT_Byte*    start )
+  cff_parse_integer( FT_Byte*  start,
+                     FT_Byte*  limit )
   {
     FT_Byte*  p   = start;
     FT_Int    v   = *p++;
@@ -167,14 +103,14 @@
 
     if ( v == 28 )
     {
-      if ( cff_parser_within_limits( parser, p, p + 1 ) )
+      if ( p + 2 > limit && limit >= p )
         goto Bad;
 
       val = (FT_Short)( ( (FT_UShort)p[0] << 8 ) | p[1] );
     }
     else if ( v == 29 )
     {
-      if ( cff_parser_within_limits( parser, p, p + 3 ) )
+      if ( p + 4 > limit && limit >= p )
         goto Bad;
 
       val = (FT_Long)( ( (FT_ULong)p[0] << 24 ) |
@@ -188,14 +124,14 @@
     }
     else if ( v < 251 )
     {
-      if ( cff_parser_within_limits( parser, p, p ) )
+      if ( p + 1 > limit && limit >= p )
         goto Bad;
 
       val = ( v - 247 ) * 256 + p[0] + 108;
     }
     else
     {
-      if ( cff_parser_within_limits( parser, p, p ) )
+      if ( p + 1 > limit && limit >= p )
         goto Bad;
 
       val = -( v - 251 ) * 256 - p[0] - 108;
@@ -244,10 +180,10 @@
 
   /* read a real */
   static FT_Fixed
-  cff_parse_real( CFF_Parser  parser,
-                  FT_Byte*    start,
-                  FT_Long     power_ten,
-                  FT_Long*    scaling )
+  cff_parse_real( FT_Byte*  start,
+                  FT_Byte*  limit,
+                  FT_Long   power_ten,
+                  FT_Long*  scaling )
   {
     FT_Byte*  p = start;
     FT_Int    nib;
@@ -282,7 +218,7 @@
         p++;
 
         /* Make sure we don't read past the end. */
-        if ( cff_parser_within_limits( parser, p, p ) )
+        if ( p + 1 > limit && limit >= p )
           goto Bad;
       }
 
@@ -319,7 +255,7 @@
           p++;
 
           /* Make sure we don't read past the end. */
-          if ( cff_parser_within_limits( parser, p, p ) )
+          if ( p + 1 > limit && limit >= p )
             goto Bad;
         }
 
@@ -358,7 +294,7 @@
           p++;
 
           /* Make sure we don't read past the end. */
-          if ( cff_parser_within_limits( parser, p, p ) )
+          if ( p + 1 > limit && limit >= p )
             goto Bad;
         }
 
@@ -525,7 +461,7 @@
     if ( **d == 30 )
     {
       /* binary-coded decimal is truncated to integer */
-      return cff_parse_real( parser, *d, 0, NULL ) >> 16;
+      return cff_parse_real( *d, parser->limit, 0, NULL ) >> 16;
     }
 
     else if ( **d == 255 )
@@ -551,7 +487,7 @@
     }
 
     else
-      return cff_parse_integer( parser, *d );
+      return cff_parse_integer( *d, parser->limit );
   }
 
 
@@ -562,15 +498,33 @@
             FT_Long     scaling )
   {
     if ( **d == 30 )
-      return cff_parse_real( parser, *d, scaling, NULL );
+      return cff_parse_real( *d, parser->limit, scaling, NULL );
+    else if ( **d == 255 )
+    {
+      FT_Fixed val = ( ( ( (FT_UInt32)*( d[0] + 1 ) << 24 ) |
+                         ( (FT_UInt32)*( d[0] + 2 ) << 16 ) |
+                         ( (FT_UInt32)*( d[0] + 3 ) <<  8 ) |
+                           (FT_UInt32)*( d[0] + 4 )         ) );
+
+      if ( scaling )
+      {
+        if ( FT_ABS( val ) > power_ten_limits[scaling] )
+        {
+           FT_TRACE4(( "!!!OVERFLOW:!!!" ));
+           return val > 0 ? 0x7FFFFFFFL : -0x7FFFFFFFL;
+        }
+        val *= power_tens[scaling];
+      }
+      return val;
+    }
     else
     {
-      FT_Long  val = cff_parse_integer( parser, *d );
+      FT_Long  val = cff_parse_integer( *d, parser->limit );
 
 
       if ( scaling )
       {
-        if ( FT_ABS( val ) > power_ten_limits[scaling] )
+        if ( ( FT_ABS( val ) << 16 ) > power_ten_limits[scaling] )
         {
           val = val > 0 ? 0x7FFFFFFFL : -0x7FFFFFFFL;
           goto Overflow;
@@ -600,7 +554,7 @@
 
 
   /* read a floating point number, either integer or real */
-  static FT_Fixed
+  FT_LOCAL_DEF( FT_Fixed )
   cff_parse_fixed( CFF_Parser  parser,
                    FT_Byte**   d )
   {
@@ -630,14 +584,14 @@
     FT_ASSERT( scaling );
 
     if ( **d == 30 )
-      return cff_parse_real( parser, *d, 0, scaling );
+      return cff_parse_real( *d, parser->limit, 0, scaling );
     else
     {
       FT_Long  number;
       FT_Int   integer_length;
 
 
-      number = cff_parse_integer( parser, d[0] );
+      number = cff_parse_integer( *d, parser->limit );
 
       if ( number > 0x7FFFL )
       {
@@ -686,7 +640,7 @@
 
       dict->has_font_matrix = TRUE;
 
-      /* We expect a well-formed font matrix, this is, the matrix elements */
+      /* We expect a well-formed font matrix, that is, the matrix elements */
       /* `xx' and `yy' are of approximately the same magnitude.  To avoid  */
       /* loss of precision, we use the magnitude of the largest matrix     */
       /* element to scale all other elements.  The scaling factor is then  */
@@ -1264,11 +1218,8 @@
         FT_Byte*     charstring_base;
         FT_ULong     charstring_len;
 
-        FT_Fixed*      stack;
-        FT_ListNode    node;
-        CFF_T2_String  t2;
-        FT_Fixed       t2_size;
-        FT_Byte*       q;
+        FT_Fixed*  stack;
+        FT_Byte*   q = NULL;
 
 
         charstring_base = ++p;
@@ -1309,39 +1260,18 @@
         /* Now copy the stack data in the temporary decoder object,    */
         /* converting it back to charstring number representations     */
         /* (this is ugly, I know).                                     */
+        /* The maximum required size is 5 bytes per stack element.     */
+        if ( FT_QALLOC( q, (FT_Long)( 2 * sizeof ( FT_ListNode ) ) +
+                           5 * ( decoder.top - decoder.stack ) ) )
+          goto Exit;
 
-        node = (FT_ListNode)memory->alloc( memory,
-                                           sizeof ( FT_ListNodeRec ) );
-        if ( !node )
-          goto Out_Of_Memory_Error;
-
-        FT_List_Add( &parser->t2_strings, node );
-
-        t2 = (CFF_T2_String)memory->alloc( memory,
-                                           sizeof ( CFF_T2_StringRec ) );
-        if ( !t2 )
-          goto Out_Of_Memory_Error;
-
-        node->data = t2;
-
-        /* `5' is the conservative upper bound of required bytes per stack */
-        /* element.                                                        */
-
-        t2_size = 5 * ( decoder.top - decoder.stack );
-
-        q = (FT_Byte*)memory->alloc( memory, t2_size );
-        if ( !q )
-          goto Out_Of_Memory_Error;
-
-        t2->start = q;
-        t2->limit = q + t2_size;
+        FT_List_Add( &parser->t2_strings, (FT_ListNode)q );
 
-        stack = decoder.stack;
+        q += 2 * sizeof ( FT_ListNode );
 
-        while ( stack < decoder.top )
+        for ( stack = decoder.stack; stack < decoder.top; stack++ )
         {
-          FT_ULong  num;
-          FT_Bool   neg;
+          FT_Long  num = *stack;
 
 
           if ( (FT_UInt)( parser->top - parser->stack ) >= parser->stackSize )
@@ -1349,69 +1279,37 @@
 
           *parser->top++ = q;
 
-          if ( *stack < 0 )
-          {
-            num = (FT_ULong)NEG_LONG( *stack );
-            neg = 1;
-          }
-          else
-          {
-            num = (FT_ULong)*stack;
-            neg = 0;
-          }
-
           if ( num & 0xFFFFU )
           {
-            if ( neg )
-              num = (FT_ULong)-num;
-
             *q++ = 255;
-            *q++ = ( num & 0xFF000000U ) >> 24;
-            *q++ = ( num & 0x00FF0000U ) >> 16;
-            *q++ = ( num & 0x0000FF00U ) >>  8;
-            *q++ =   num & 0x000000FFU;
+            *q++ = (FT_Byte)( ( num >> 24 ) & 0xFF );
+            *q++ = (FT_Byte)( ( num >> 16 ) & 0xFF );
+            *q++ = (FT_Byte)( ( num >>  8 ) & 0xFF );
+            *q++ = (FT_Byte)( ( num       ) & 0xFF );
           }
           else
           {
             num >>= 16;
 
-            if ( neg )
+            if ( -107 <= num && num <= 107 )
+              *q++ = (FT_Byte)( num + 139 );
+            else if ( 108 <= num && num <= 1131 )
             {
-              if ( num <= 107 )
-                *q++ = (FT_Byte)( 139 - num );
-              else if ( num <= 1131 )
-              {
-                *q++ = (FT_Byte)( ( ( num - 108 ) >> 8 ) + 251 );
-                *q++ = (FT_Byte)( ( num - 108 ) & 0xFF );
-              }
-              else
-              {
-                num = (FT_ULong)-num;
-
-                *q++ = 28;
-                *q++ = (FT_Byte)( num >> 8 );
-                *q++ = (FT_Byte)( num & 0xFF );
-              }
+              *q++ = (FT_Byte)( ( ( num - 108 ) >> 8 ) + 247 );
+              *q++ = (FT_Byte)( ( num - 108 ) & 0xFF );
+            }
+            else if ( -1131 <= num && num <= -108 )
+            {
+              *q++ = (FT_Byte)( ( ( -num - 108 ) >> 8 ) + 251 );
+              *q++ = (FT_Byte)( ( -num - 108) & 0xFF );
             }
             else
             {
-              if ( num <= 107 )
-                *q++ = (FT_Byte)( num + 139 );
-              else if ( num <= 1131 )
-              {
-                *q++ = (FT_Byte)( ( ( num - 108 ) >> 8 ) + 247 );
-                *q++ = (FT_Byte)( ( num - 108 ) & 0xFF );
-              }
-              else
-              {
-                *q++ = 28;
-                *q++ = (FT_Byte)( num >> 8 );
-                *q++ = (FT_Byte)( num & 0xFF );
-              }
+              *q++ = 28;
+              *q++ = (FT_Byte)( num >> 8 );
+              *q++ = (FT_Byte)( num & 0xFF );
             }
           }
-
-          stack++;
         }
       }
 #endif /* CFF_CONFIG_OPTION_OLD_ENGINE */
@@ -1598,12 +1496,6 @@
   Exit:
     return error;
 
-#ifdef CFF_CONFIG_OPTION_OLD_ENGINE
-  Out_Of_Memory_Error:
-    error = FT_THROW( Out_Of_Memory );
-    goto Exit;
-#endif
-
   Stack_Overflow:
     error = FT_THROW( Invalid_Argument );
     goto Exit;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffparse.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffparse.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cff/cffparse.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cff/cffparse.h	2024-04-08 05:38:38.000000000 +0000
@@ -76,6 +76,10 @@
   cff_parse_num( CFF_Parser  parser,
                  FT_Byte**   d );
 
+  FT_LOCAL( FT_Fixed )
+  cff_parse_fixed( CFF_Parser  parser,
+                   FT_Byte**   d );
+
   FT_LOCAL( FT_Error )
   cff_parser_init( CFF_Parser  parser,
                    FT_UInt     code,
@@ -133,15 +137,6 @@
 FT_END_HEADER
 
 
-#ifdef CFF_CONFIG_OPTION_OLD_ENGINE
-  typedef struct  CFF_T2_String_
-  {
-    FT_Byte*  start;
-    FT_Byte*  limit;
-
-  } CFF_T2_StringRec, *CFF_T2_String;
-#endif /* CFF_CONFIG_OPTION_OLD_ENGINE */
-
 #endif /* CFFPARSE_H_ */
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidgload.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidgload.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidgload.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidgload.c	2024-04-08 05:38:38.000000000 +0000
@@ -40,6 +40,117 @@
 #define FT_COMPONENT  cidgload
 
 
+  /*
+   * A helper function to compute FD number (`fd_select`), the offset to the
+   * head of the glyph data (`off1`), and the offset to the and of the glyph
+   * data (`off2`).
+   *
+   * The number how many times `cid_get_offset` is invoked can be controlled
+   * by the number of non-NULL arguments.  If `fd_select` is non-NULL but
+   * `off1` and `off2` are NULL, `cid_get_offset` is invoked only for
+   * `fd_select`; `off1` and `off2` are not validated.
+   *
+   */
+  FT_LOCAL_DEF( FT_Error )
+  cid_compute_fd_and_offsets( CID_Face   face,
+                              FT_UInt    glyph_index,
+                              FT_ULong*  fd_select_p,
+                              FT_ULong*  off1_p,
+                              FT_ULong*  off2_p )
+  {
+    FT_Error  error = FT_Err_Ok;
+
+    CID_FaceInfo  cid       = &face->cid;
+    FT_Stream     stream    =  face->cid_stream;
+    FT_UInt       entry_len = cid->fd_bytes + cid->gd_bytes;
+
+    FT_Byte*  p;
+    FT_Bool   need_frame_exit = 0;
+    FT_ULong  fd_select, off1, off2;
+
+
+    /* For ordinary fonts, read the CID font dictionary index */
+    /* and charstring offset from the CIDMap.                 */
+
+    if ( FT_STREAM_SEEK( cid->data_offset + cid->cidmap_offset +
+                         glyph_index * entry_len )               ||
+         FT_FRAME_ENTER( 2 * entry_len )                         )
+      goto Exit;
+
+    need_frame_exit = 1;
+
+    p         = (FT_Byte*)stream->cursor;
+    fd_select = cid_get_offset( &p, cid->fd_bytes );
+    off1      = cid_get_offset( &p, cid->gd_bytes );
+
+    p    += cid->fd_bytes;
+    off2  = cid_get_offset( &p, cid->gd_bytes );
+
+    if ( fd_select_p )
+      *fd_select_p = fd_select;
+    if ( off1_p )
+      *off1_p = off1;
+    if ( off2_p )
+      *off2_p = off2;
+
+    if ( fd_select >= cid->num_dicts )
+    {
+      /*
+       * fd_select == 0xFF is often used to indicate that the CID
+       * has no charstring to be rendered, similar to GID = 0xFFFF
+       * in TrueType fonts.
+       */
+      if ( ( cid->fd_bytes == 1 && fd_select == 0xFFU   ) ||
+           ( cid->fd_bytes == 2 && fd_select == 0xFFFFU ) )
+      {
+        FT_TRACE1(( "cid_load_glyph: fail for glyph index %d:\n",
+                    glyph_index ));
+        FT_TRACE1(( "                FD number %ld is the maximum\n",
+                    fd_select ));
+        FT_TRACE1(( "                integer fitting into %d byte%s\n",
+                    cid->fd_bytes, cid->fd_bytes == 1 ? "" : "s" ));
+      }
+      else
+      {
+        FT_TRACE0(( "cid_load_glyph: fail for glyph index %d:\n",
+                    glyph_index ));
+        FT_TRACE0(( "                FD number %ld is larger\n",
+                    fd_select ));
+        FT_TRACE0(( "                than number of dictionaries (%d)\n",
+                    cid->num_dicts ));
+      }
+
+      error = FT_THROW( Invalid_Offset );
+      goto Exit;
+    }
+    else if ( off2 > stream->size )
+    {
+      FT_TRACE0(( "cid_load_glyph: fail for glyph index %d:\n",
+                  glyph_index ));
+      FT_TRACE0(( "               end of the glyph data\n" ));
+      FT_TRACE0(( "               is beyond the data stream\n" ));
+
+      error = FT_THROW( Invalid_Offset );
+      goto Exit;
+    }
+    else if ( off1 > off2 )
+    {
+      FT_TRACE0(( "cid_load_glyph: fail for glyph index %d:\n",
+                  glyph_index ));
+      FT_TRACE0(( "                the end position of glyph data\n" ));
+      FT_TRACE0(( "                is set before the start position\n" ));
+
+      error = FT_THROW( Invalid_Offset );
+    }
+
+    Exit:
+      if ( need_frame_exit )
+        FT_FRAME_EXIT();
+
+    return error;
+  }
+
+
   FT_CALLBACK_DEF( FT_Error )
   cid_load_glyph( T1_Decoder  decoder,
                   FT_UInt     glyph_index )
@@ -97,34 +208,14 @@
     else
 
 #endif /* FT_CONFIG_OPTION_INCREMENTAL */
-
-    /* For ordinary fonts read the CID font dictionary index */
-    /* and charstring offset from the CIDMap.                */
     {
-      FT_UInt   entry_len = cid->fd_bytes + cid->gd_bytes;
       FT_ULong  off1, off2;
 
 
-      if ( FT_STREAM_SEEK( cid->data_offset + cid->cidmap_offset +
-                           glyph_index * entry_len )               ||
-           FT_FRAME_ENTER( 2 * entry_len )                         )
-        goto Exit;
-
-      p         = (FT_Byte*)stream->cursor;
-      fd_select = cid_get_offset( &p, cid->fd_bytes );
-      off1      = cid_get_offset( &p, cid->gd_bytes );
-      p        += cid->fd_bytes;
-      off2      = cid_get_offset( &p, cid->gd_bytes );
-      FT_FRAME_EXIT();
-
-      if ( fd_select >= cid->num_dicts ||
-           off2 > stream->size         ||
-           off1 > off2                 )
-      {
-        FT_TRACE0(( "cid_load_glyph: invalid glyph stream offsets\n" ));
-        error = FT_THROW( Invalid_Offset );
+      error = cid_compute_fd_and_offsets( face, glyph_index,
+                                          &fd_select, &off1, &off2 );
+      if ( error )
         goto Exit;
-      }
 
       glyph_length = off2 - off1;
 
@@ -161,7 +252,9 @@
       cs_offset = decoder->lenIV >= 0 ? (FT_UInt)decoder->lenIV : 0;
       if ( cs_offset > glyph_length )
       {
-        FT_TRACE0(( "cid_load_glyph: invalid glyph stream offsets\n" ));
+        FT_TRACE0(( "cid_load_glyph: fail for glyph_index=%d, "
+                    "offset to the charstring is beyond glyph length\n",
+                    glyph_index ));
         error = FT_THROW( Invalid_Offset );
         goto Exit;
       }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidgload.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidgload.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidgload.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidgload.h	2024-04-08 05:38:38.000000000 +0000
@@ -42,6 +42,14 @@
                        FT_Int32      load_flags );
 
 
+  FT_LOCAL( FT_Error )
+  cid_compute_fd_and_offsets( CID_Face   face,
+                              FT_UInt    glyph_index,
+                              FT_ULong*  fd_select_p,
+                              FT_ULong*  off1_p,
+                              FT_ULong*  off2_p );
+
+
 FT_END_HEADER
 
 #endif /* CIDGLOAD_H_ */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidload.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidload.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidload.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidload.c	2024-04-08 05:38:38.000000000 +0000
@@ -155,23 +155,24 @@
 
 
   FT_CALLBACK_DEF( void )
-  cid_parse_font_matrix( CID_Face     face,
-                         CID_Parser*  parser )
+  cid_parse_font_matrix( FT_Face  face,     /* CID_Face */
+                         void*    parser_ )
   {
+    CID_Face      cidface = (CID_Face)face;
+    CID_Parser*   parser  = (CID_Parser*)parser_;
     CID_FaceDict  dict;
-    FT_Face       root = (FT_Face)&face->root;
     FT_Fixed      temp[6];
     FT_Fixed      temp_scale;
 
 
-    if ( parser->num_dict < face->cid.num_dicts )
+    if ( parser->num_dict < cidface->cid.num_dicts )
     {
       FT_Matrix*  matrix;
       FT_Vector*  offset;
       FT_Int      result;
 
 
-      dict   = face->cid.font_dicts + parser->num_dict;
+      dict   = cidface->cid.font_dicts + parser->num_dict;
       matrix = &dict->font_matrix;
       offset = &dict->font_offset;
 
@@ -204,7 +205,7 @@
       if ( temp_scale != 0x10000L )
       {
         /* set units per EM based on FontMatrix values */
-        root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
+        face->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
 
         temp[0] = FT_DivFix( temp[0], temp_scale );
         temp[1] = FT_DivFix( temp[1], temp_scale );
@@ -237,13 +238,15 @@
 
 
   FT_CALLBACK_DEF( void )
-  parse_fd_array( CID_Face     face,
-                  CID_Parser*  parser )
+  parse_fd_array( FT_Face  face,     /* CID_Face */
+                  void*    parser_ )
   {
-    CID_FaceInfo  cid    = &face->cid;
-    FT_Memory     memory = face->root.memory;
-    FT_Stream     stream = parser->stream;
-    FT_Error      error  = FT_Err_Ok;
+    CID_Face      cidface = (CID_Face)face;
+    CID_Parser*   parser  = (CID_Parser*)parser_;
+    CID_FaceInfo  cid     = &cidface->cid;
+    FT_Memory     memory  = FT_FACE_MEMORY( face );
+    FT_Stream     stream  = parser->stream;
+    FT_Error      error   = FT_Err_Ok;
     FT_Long       num_dicts, max_dicts;
 
 
@@ -313,18 +316,20 @@
 
   /* By mistake, `expansion_factor' appears both in PS_PrivateRec */
   /* and CID_FaceDictRec (both are public header files and can't  */
-  /* changed).  We simply copy the value.                         */
+  /* be thus changed).  We simply copy the value.                 */
 
   FT_CALLBACK_DEF( void )
-  parse_expansion_factor( CID_Face     face,
-                          CID_Parser*  parser )
+  parse_expansion_factor( FT_Face  face,    /* CID_Face */
+                          void*    parser_ )
   {
+    CID_Face      cidface = (CID_Face)face;
+    CID_Parser*   parser  = (CID_Parser*)parser_;
     CID_FaceDict  dict;
 
 
-    if ( parser->num_dict < face->cid.num_dicts )
+    if ( parser->num_dict < cidface->cid.num_dicts )
     {
-      dict = face->cid.font_dicts + parser->num_dict;
+      dict = cidface->cid.font_dicts + parser->num_dict;
 
       dict->expansion_factor              = cid_parser_to_fixed( parser, 0 );
       dict->private_dict.expansion_factor = dict->expansion_factor;
@@ -341,11 +346,15 @@
   /* to catch it for producing better trace output.                */
 
   FT_CALLBACK_DEF( void )
-  parse_font_name( CID_Face     face,
-                   CID_Parser*  parser )
+  parse_font_name( FT_Face  face,     /* CID_Face */
+                   void*    parser_ )
   {
 #ifdef FT_DEBUG_LEVEL_TRACE
-    if ( parser->num_dict < face->cid.num_dicts )
+    CID_Face      cidface = (CID_Face)face;
+    CID_Parser*   parser  = (CID_Parser*)parser_;
+
+
+    if ( parser->num_dict < cidface->cid.num_dicts )
     {
       T1_TokenRec  token;
       FT_UInt      len;
@@ -361,7 +370,7 @@
     }
 #else
     FT_UNUSED( face );
-    FT_UNUSED( parser );
+    FT_UNUSED( parser_ );
 #endif
 
     return;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidobjs.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidobjs.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidobjs.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidobjs.c	2024-04-08 05:38:38.000000000 +0000
@@ -69,8 +69,7 @@
       FT_Module  module;
 
 
-      module = FT_Get_Module( slot->face->driver->root.library,
-                              "pshinter" );
+      module = FT_Get_Module( slot->library, "pshinter" );
       if ( module )
       {
         T1_Hints_Funcs  funcs;
@@ -268,7 +267,8 @@
    *
    * @Input:
    *   stream ::
-   *     The source font stream.
+   *     Dummy argument for compatibility with the `FT_Face_InitFunc` API.
+   *     Ignored.  The stream should be passed through `face->root.stream`.
    *
    *   face_index ::
    *     The index of the font face in the resource.
@@ -375,6 +375,14 @@
       if ( info->is_fixed_pitch )
         cidface->face_flags |= FT_FACE_FLAG_FIXED_WIDTH;
 
+      /*
+       * For the sfnt-wrapped CID fonts for MacOS, currently,
+       * its `cmap' tables are ignored, and the content in
+       * its `CID ' table is treated the same as naked CID-keyed
+       * font.  See ft_lookup_PS_in_sfnt_stream().
+       */
+      cidface->face_flags |= FT_FACE_FLAG_CID_KEYED;
+
       /* XXX: TODO: add kerning with .afm support */
 
       /* get style name -- be careful, some broken fonts only */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidparse.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidparse.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidparse.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidparse.c	2024-04-08 05:38:38.000000000 +0000
@@ -214,18 +214,24 @@
            cur <= limit - STARTDATA_LEN                            &&
            ft_strncmp( (char*)cur, STARTDATA, STARTDATA_LEN ) == 0 )
       {
-        if ( ft_strncmp( (char*)arg1, "(Hex)", 5 ) == 0 )
-        {
-          FT_Long  tmp = ft_strtol( (const char *)arg2, NULL, 10 );
+        T1_TokenRec  type_token;
+        FT_Long      binary_length;
 
 
-          if ( tmp < 0 )
+        parser->root.cursor = arg1;
+        cid_parser_to_token( parser, &type_token );
+        if ( type_token.limit - type_token.start == 5              &&
+             ft_memcmp( (char*)type_token.start, "(Hex)", 5 ) == 0 )
+        {
+          parser->root.cursor = arg2;
+          binary_length = cid_parser_to_int( parser );
+          if ( binary_length < 0 )
           {
             FT_ERROR(( "cid_parser_new: invalid length of hex data\n" ));
             error = FT_THROW( Invalid_File_Format );
           }
           else
-            parser->binary_length = (FT_ULong)tmp;
+            parser->binary_length = (FT_ULong)binary_length;
         }
 
         goto Exit;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidriver.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidriver.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/cid/cidriver.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/cid/cidriver.c	2024-04-08 05:38:38.000000000 +0000
@@ -48,10 +48,11 @@
    *
    */
 
-  static const char*
-  cid_get_postscript_name( CID_Face  face )
+  FT_CALLBACK_DEF( const char* )
+  cid_get_postscript_name( FT_Face  face )    /* CID_Face */
   {
-    const char*  result = face->cid.cid_font_name;
+    CID_Face     cidface = (CID_Face)face;
+    const char*  result  = cidface->cid.cid_font_name;
 
 
     if ( result && result[0] == '/' )
@@ -72,34 +73,36 @@
    *
    */
 
-  static FT_Error
-  cid_ps_get_font_info( FT_Face          face,
+  FT_CALLBACK_DEF( FT_Error )
+  cid_ps_get_font_info( FT_Face          face,        /* CID_Face */
                         PS_FontInfoRec*  afont_info )
   {
-    *afont_info = ((CID_Face)face)->cid.font_info;
+    *afont_info = ( (CID_Face)face )->cid.font_info;
 
     return FT_Err_Ok;
   }
 
-  static FT_Error
-  cid_ps_get_font_extra( FT_Face          face,
-                        PS_FontExtraRec*  afont_extra )
+
+  FT_CALLBACK_DEF( FT_Error )
+  cid_ps_get_font_extra( FT_Face           face,         /* CID_Face */
+                         PS_FontExtraRec*  afont_extra )
   {
-    *afont_extra = ((CID_Face)face)->font_extra;
+    *afont_extra = ( (CID_Face)face )->font_extra;
 
     return FT_Err_Ok;
   }
 
+
   static const FT_Service_PsInfoRec  cid_service_ps_info =
   {
-    (PS_GetFontInfoFunc)   cid_ps_get_font_info,   /* ps_get_font_info    */
-    (PS_GetFontExtraFunc)  cid_ps_get_font_extra,  /* ps_get_font_extra   */
+    cid_ps_get_font_info,   /* PS_GetFontInfoFunc    ps_get_font_info    */
+    cid_ps_get_font_extra,  /* PS_GetFontExtraFunc   ps_get_font_extra   */
     /* unsupported with CID fonts */
-    (PS_HasGlyphNamesFunc) NULL,                   /* ps_has_glyph_names  */
+    NULL,                   /* PS_HasGlyphNamesFunc  ps_has_glyph_names  */
     /* unsupported                */
-    (PS_GetFontPrivateFunc)NULL,                   /* ps_get_font_private */
+    NULL,                   /* PS_GetFontPrivateFunc ps_get_font_private */
     /* not implemented            */
-    (PS_GetFontValueFunc)  NULL                    /* ps_get_font_value   */
+    NULL                    /* PS_GetFontValueFunc   ps_get_font_value   */
   };
 
 
@@ -107,13 +110,14 @@
    * CID INFO SERVICE
    *
    */
-  static FT_Error
-  cid_get_ros( CID_Face      face,
+  FT_CALLBACK_DEF( FT_Error )
+  cid_get_ros( FT_Face       face,        /* CID_Face */
                const char*  *registry,
                const char*  *ordering,
                FT_Int       *supplement )
   {
-    CID_FaceInfo  cid = &face->cid;
+    CID_Face      cidface = (CID_Face)face;
+    CID_FaceInfo  cid     = &cidface->cid;
 
 
     if ( registry )
@@ -129,32 +133,48 @@
   }
 
 
-  static FT_Error
-  cid_get_is_cid( CID_Face  face,
+  FT_CALLBACK_DEF( FT_Error )
+  cid_get_is_cid( FT_Face   face,    /* CID_Face */
                   FT_Bool  *is_cid )
   {
     FT_Error  error = FT_Err_Ok;
     FT_UNUSED( face );
 
 
+    /*
+     * XXX: If the ROS is Adobe-Identity-H or -V,
+     * the font has no reliable information about
+     * its glyph collection.  Should we not set
+     * *is_cid in such cases?
+     */
     if ( is_cid )
-      *is_cid = 1; /* cid driver is only used for CID keyed fonts */
+      *is_cid = 1;
 
     return error;
   }
 
 
-  static FT_Error
-  cid_get_cid_from_glyph_index( CID_Face  face,
+  FT_CALLBACK_DEF( FT_Error )
+  cid_get_cid_from_glyph_index( FT_Face   face,        /* CID_Face */
                                 FT_UInt   glyph_index,
                                 FT_UInt  *cid )
   {
-    FT_Error  error = FT_Err_Ok;
-    FT_UNUSED( face );
+    FT_Error  error   = FT_Err_Ok;
+    CID_Face  cidface = (CID_Face)face;
 
 
-    if ( cid )
-      *cid = glyph_index; /* identity mapping */
+    /*
+     * Currently, FreeType does not support incrementally-defined, CID-keyed
+     * fonts that store the glyph description data in a `/GlyphDirectory`
+     * array or dictionary.  Fonts loaded by the incremental loading feature
+     * are thus not handled here.
+     */
+    error = cid_compute_fd_and_offsets( cidface, glyph_index,
+                                        NULL, NULL, NULL );
+    if ( error )
+      *cid = 0;
+    else
+      *cid = glyph_index;
 
     return error;
   }
@@ -162,12 +182,12 @@
 
   static const FT_Service_CIDRec  cid_service_cid_info =
   {
-    (FT_CID_GetRegistryOrderingSupplementFunc)
-      cid_get_ros,                             /* get_ros                  */
-    (FT_CID_GetIsInternallyCIDKeyedFunc)
-      cid_get_is_cid,                          /* get_is_cid               */
-    (FT_CID_GetCIDFromGlyphIndexFunc)
-      cid_get_cid_from_glyph_index             /* get_cid_from_glyph_index */
+    cid_get_ros,
+      /* FT_CID_GetRegistryOrderingSupplementFunc get_ros                  */
+    cid_get_is_cid,
+      /* FT_CID_GetIsInternallyCIDKeyedFunc       get_is_cid               */
+    cid_get_cid_from_glyph_index
+      /* FT_CID_GetCIDFromGlyphIndexFunc          get_cid_from_glyph_index */
   };
 
 
@@ -179,9 +199,9 @@
   FT_DEFINE_SERVICE_PROPERTIESREC(
     cid_service_properties,
 
-    (FT_Properties_SetFunc)ps_property_set,      /* set_property */
-    (FT_Properties_GetFunc)ps_property_get )     /* get_property */
-
+    ps_property_set,  /* FT_Properties_SetFunc set_property */
+    ps_property_get   /* FT_Properties_GetFunc get_property */
+  )
 
   /*
    * SERVICE LIST
@@ -209,7 +229,6 @@
   }
 
 
-
   FT_CALLBACK_TABLE_DEF
   const FT_Driver_ClassRec  t1cid_driver_class =
   {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/afmparse.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/afmparse.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/afmparse.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/afmparse.c	2024-04-08 05:38:38.000000000 +0000
@@ -1086,7 +1086,7 @@
 #else /* T1_CONFIG_OPTION_NO_AFM */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _afm_parse_dummy;
+  typedef int  afm_parse_dummy_;
 
 #endif /* T1_CONFIG_OPTION_NO_AFM */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.c	2024-04-08 05:38:38.000000000 +0000
@@ -2153,7 +2153,7 @@
                                       decoder->locals_bias );
 
 
-            FT_TRACE4(( " callsubr (idx %d, entering level %ld)\n",
+            FT_TRACE4(( " callsubr (idx %d, entering level %td)\n",
                         idx,
                         zone - decoder->zones + 1 ));
 
@@ -2197,7 +2197,7 @@
                                       decoder->globals_bias );
 
 
-            FT_TRACE4(( " callgsubr (idx %d, entering level %ld)\n",
+            FT_TRACE4(( " callgsubr (idx %d, entering level %td)\n",
                         idx,
                         zone - decoder->zones + 1 ));
 
@@ -2236,7 +2236,7 @@
           break;
 
         case cff_op_return:
-          FT_TRACE4(( " return (leaving level %ld)\n",
+          FT_TRACE4(( " return (leaving level %td)\n",
                       decoder->zone - decoder->zones ));
 
           if ( decoder->zone <= decoder->zones )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/pshints.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/pshints.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/pshints.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/pshints.c	2024-04-08 05:38:38.000000000 +0000
@@ -310,7 +310,7 @@
       CF2_Hint  hint = &hintmap->edge[i];
 
 
-      FT_TRACE6(( "  %3ld    %7.2f  %7.2f  %5d  %s%s%s%s\n",
+      FT_TRACE6(( "  %3zu    %7.2f  %7.2f  %5d  %s%s%s%s\n",
                   hint->index,
                   hint->csCoord / 65536.0,
                   hint->dsCoord / ( hint->scale * 1.0 ),
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.c	2024-04-08 05:38:38.000000000 +0000
@@ -50,8 +50,11 @@
 
 
   FT_CALLBACK_DEF( void )
-  t1_cmap_std_done( T1_CMapStd  cmap )
+  t1_cmap_std_done( FT_CMap  cmap_ )   /* T1_CMapStd */
   {
+    T1_CMapStd  cmap = (T1_CMapStd)cmap_;
+
+
     cmap->num_glyphs    = 0;
     cmap->glyph_names   = NULL;
     cmap->sid_to_string = NULL;
@@ -60,10 +63,11 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  t1_cmap_std_char_index( T1_CMapStd  cmap,
-                          FT_UInt32   char_code )
+  t1_cmap_std_char_index( FT_CMap    cmap,       /* T1_CMapStd */
+                          FT_UInt32  char_code )
   {
-    FT_UInt  result = 0;
+    T1_CMapStd  t1cmap = (T1_CMapStd)cmap;
+    FT_UInt     result = 0;
 
 
     if ( char_code < 256 )
@@ -73,13 +77,13 @@
 
 
       /* convert character code to Adobe SID string */
-      code       = cmap->code_to_sid[char_code];
-      glyph_name = cmap->sid_to_string( code );
+      code       = t1cmap->code_to_sid[char_code];
+      glyph_name = t1cmap->sid_to_string( code );
 
       /* look for the corresponding glyph name */
-      for ( n = 0; n < cmap->num_glyphs; n++ )
+      for ( n = 0; n < t1cmap->num_glyphs; n++ )
       {
-        const char* gname = cmap->glyph_names[n];
+        const char* gname = t1cmap->glyph_names[n];
 
 
         if ( gname && gname[0] == glyph_name[0]  &&
@@ -95,9 +99,9 @@
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  t1_cmap_std_char_next( T1_CMapStd   cmap,
-                         FT_UInt32   *pchar_code )
+  FT_CALLBACK_DEF( FT_UInt )
+  t1_cmap_std_char_next( FT_CMap     cmap,
+                         FT_UInt32  *pchar_code )
   {
     FT_UInt    result    = 0;
     FT_UInt32  char_code = *pchar_code + 1;
@@ -120,13 +124,14 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  t1_cmap_standard_init( T1_CMapStd  cmap,
+  t1_cmap_standard_init( FT_CMap     cmap,     /* T1_CMapStd */
                          FT_Pointer  pointer )
   {
+    T1_CMapStd  t1cmap = (T1_CMapStd)cmap;
     FT_UNUSED( pointer );
 
 
-    t1_cmap_std_init( cmap, 0 );
+    t1_cmap_std_init( t1cmap, 0 );
     return 0;
   }
 
@@ -150,13 +155,14 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  t1_cmap_expert_init( T1_CMapStd  cmap,
+  t1_cmap_expert_init( FT_CMap     cmap,     /* T1_CMapStd */
                        FT_Pointer  pointer )
   {
+    T1_CMapStd  t1cmap = (T1_CMapStd)cmap;
     FT_UNUSED( pointer );
 
 
-    t1_cmap_std_init( cmap, 1 );
+    t1_cmap_std_init( t1cmap, 1 );
     return 0;
   }
 
@@ -188,20 +194,21 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  t1_cmap_custom_init( T1_CMapCustom  cmap,
-                       FT_Pointer     pointer )
+  t1_cmap_custom_init( FT_CMap     cmap,     /* T1_CMapCustom */
+                       FT_Pointer  pointer )
   {
-    T1_Face      face     = (T1_Face)FT_CMAP_FACE( cmap );
-    T1_Encoding  encoding = &face->type1.encoding;
+    T1_CMapCustom  t1cmap   = (T1_CMapCustom)cmap;
+    T1_Face        face     = (T1_Face)FT_CMAP_FACE( cmap );
+    T1_Encoding    encoding = &face->type1.encoding;
 
     FT_UNUSED( pointer );
 
 
-    cmap->first   = (FT_UInt)encoding->code_first;
-    cmap->count   = (FT_UInt)encoding->code_last - cmap->first;
-    cmap->indices = encoding->char_index;
+    t1cmap->first   = (FT_UInt)encoding->code_first;
+    t1cmap->count   = (FT_UInt)encoding->code_last - t1cmap->first;
+    t1cmap->indices = encoding->char_index;
 
-    FT_ASSERT( cmap->indices );
+    FT_ASSERT( t1cmap->indices );
     FT_ASSERT( encoding->code_first <= encoding->code_last );
 
     return 0;
@@ -209,45 +216,50 @@
 
 
   FT_CALLBACK_DEF( void )
-  t1_cmap_custom_done( T1_CMapCustom  cmap )
+  t1_cmap_custom_done( FT_CMap  cmap )   /* T1_CMapCustom */
   {
-    cmap->indices = NULL;
-    cmap->first   = 0;
-    cmap->count   = 0;
+    T1_CMapCustom  t1cmap = (T1_CMapCustom)cmap;
+
+
+    t1cmap->indices = NULL;
+    t1cmap->first   = 0;
+    t1cmap->count   = 0;
   }
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  t1_cmap_custom_char_index( T1_CMapCustom  cmap,
-                             FT_UInt32      char_code )
+  t1_cmap_custom_char_index( FT_CMap    cmap,       /* T1_CMapCustom */
+                             FT_UInt32  char_code )
   {
-    FT_UInt    result = 0;
+    T1_CMapCustom  t1cmap = (T1_CMapCustom)cmap;
+    FT_UInt        result = 0;
 
 
-    if ( ( char_code >= cmap->first )                  &&
-         ( char_code < ( cmap->first + cmap->count ) ) )
-      result = cmap->indices[char_code];
+    if ( char_code >= t1cmap->first                    &&
+         char_code < ( t1cmap->first + t1cmap->count ) )
+      result = t1cmap->indices[char_code];
 
     return result;
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  t1_cmap_custom_char_next( T1_CMapCustom  cmap,
-                            FT_UInt32     *pchar_code )
+  FT_CALLBACK_DEF( FT_UInt )
+  t1_cmap_custom_char_next( FT_CMap     cmap,        /* T1_CMapCustom */
+                            FT_UInt32  *pchar_code )
   {
-    FT_UInt    result = 0;
-    FT_UInt32  char_code = *pchar_code;
+    T1_CMapCustom  t1cmap    = (T1_CMapCustom)cmap;
+    FT_UInt        result    = 0;
+    FT_UInt32      char_code = *pchar_code;
 
 
     char_code++;
 
-    if ( char_code < cmap->first )
-      char_code = cmap->first;
+    if ( char_code < t1cmap->first )
+      char_code = t1cmap->first;
 
-    for ( ; char_code < ( cmap->first + cmap->count ); char_code++ )
+    for ( ; char_code < ( t1cmap->first + t1cmap->count ); char_code++ )
     {
-      result = cmap->indices[char_code];
+      result = t1cmap->indices[char_code];
       if ( result != 0 )
         goto Exit;
     }
@@ -287,20 +299,24 @@
   /*************************************************************************/
 
   FT_CALLBACK_DEF( const char * )
-  psaux_get_glyph_name( T1_Face  face,
+  psaux_get_glyph_name( void*    face_,
                         FT_UInt  idx )
   {
+    T1_Face  face = (T1_Face)face_;
+
+
     return face->type1.glyph_names[idx];
   }
 
 
   FT_CALLBACK_DEF( FT_Error )
-  t1_cmap_unicode_init( PS_Unicodes  unicodes,
-                        FT_Pointer   pointer )
+  t1_cmap_unicode_init( FT_CMap     cmap,     /* PS_Unicodes */
+                        FT_Pointer  pointer )
   {
-    T1_Face             face    = (T1_Face)FT_CMAP_FACE( unicodes );
-    FT_Memory           memory  = FT_FACE_MEMORY( face );
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)face->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    T1_Face             face     = (T1_Face)FT_CMAP_FACE( cmap );
+    FT_Memory           memory   = FT_FACE_MEMORY( face );
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)face->psnames;
 
     FT_UNUSED( pointer );
 
@@ -311,17 +327,18 @@
     return psnames->unicodes_init( memory,
                                    unicodes,
                                    (FT_UInt)face->type1.num_glyphs,
-                                   (PS_GetGlyphNameFunc)&psaux_get_glyph_name,
+                                   &psaux_get_glyph_name,
                                    (PS_FreeGlyphNameFunc)NULL,
                                    (FT_Pointer)face );
   }
 
 
   FT_CALLBACK_DEF( void )
-  t1_cmap_unicode_done( PS_Unicodes  unicodes )
+  t1_cmap_unicode_done( FT_CMap  cmap )   /* PS_Unicodes */
   {
-    FT_Face    face   = FT_CMAP_FACE( unicodes );
-    FT_Memory  memory = FT_FACE_MEMORY( face );
+    PS_Unicodes  unicodes = (PS_Unicodes)cmap;
+    FT_Face      face     = FT_CMAP_FACE( cmap );
+    FT_Memory    memory   = FT_FACE_MEMORY( face );
 
 
     FT_FREE( unicodes->maps );
@@ -330,23 +347,25 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  t1_cmap_unicode_char_index( PS_Unicodes  unicodes,
-                              FT_UInt32    char_code )
+  t1_cmap_unicode_char_index( FT_CMap    cmap,       /* PS_Unicodes */
+                              FT_UInt32  char_code )
   {
-    T1_Face             face    = (T1_Face)FT_CMAP_FACE( unicodes );
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)face->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    T1_Face             face     = (T1_Face)FT_CMAP_FACE( cmap );
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)face->psnames;
 
 
     return psnames->unicodes_char_index( unicodes, char_code );
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  t1_cmap_unicode_char_next( PS_Unicodes  unicodes,
-                             FT_UInt32   *pchar_code )
+  FT_CALLBACK_DEF( FT_UInt )
+  t1_cmap_unicode_char_next( FT_CMap     cmap,        /* PS_Unicodes */
+                             FT_UInt32  *pchar_code )
   {
-    T1_Face             face    = (T1_Face)FT_CMAP_FACE( unicodes );
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)face->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    T1_Face             face     = (T1_Face)FT_CMAP_FACE( cmap );
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)face->psnames;
 
 
     return psnames->unicodes_char_next( unicodes, pchar_code );
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/t1decode.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/t1decode.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psaux/t1decode.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psaux/t1decode.c	2024-04-08 05:38:38.000000000 +0000
@@ -520,7 +520,7 @@
 #ifdef FT_DEBUG_LEVEL_TRACE
       if ( bol )
       {
-        FT_TRACE5(( " (%ld)", decoder->top - decoder->stack ));
+        FT_TRACE5(( " (%td)", decoder->top - decoder->stack ));
         bol = FALSE;
       }
 #endif
@@ -1165,7 +1165,7 @@
           if ( top - decoder->stack != num_args )
             FT_TRACE0(( "t1_decoder_parse_charstrings:"
                         " too much operands on the stack"
-                        " (seen %ld, expected %d)\n",
+                        " (seen %td, expected %d)\n",
                         top - decoder->stack, num_args ));
           break;
         }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.c	2024-04-08 05:38:38.000000000 +0000
@@ -516,7 +516,7 @@
             if ( !psh_hint_is_fitted( parent ) )
               psh_hint_align( parent, globals, dimension, glyph );
 
-            /* keep original relation between hints, this is, use the */
+            /* keep original relation between hints, that is, use the */
             /* scaled distance between the centers of the hints to    */
             /* compute the new position                               */
             par_org_center = parent->org_pos + ( parent->org_len >> 1 );
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.c	2024-04-08 05:38:38.000000000 +0000
@@ -37,8 +37,11 @@
 
   /* finalize module */
   FT_CALLBACK_DEF( void )
-  ps_hinter_done( PS_Hinter_Module  module )
+  ps_hinter_done( FT_Module  module_ )    /* PS_Hinter_Module */
   {
+    PS_Hinter_Module  module = (PS_Hinter_Module)module_;
+
+
     module->t1_funcs.hints = NULL;
     module->t2_funcs.hints = NULL;
 
@@ -48,8 +51,10 @@
 
   /* initialize module, create hints recorder and the interface */
   FT_CALLBACK_DEF( FT_Error )
-  ps_hinter_init( PS_Hinter_Module  module )
+  ps_hinter_init( FT_Module  module_ )    /* PS_Hinter_Module */
   {
+    PS_Hinter_Module  module = (PS_Hinter_Module)module_;
+
     FT_Memory  memory = module->root.memory;
     void*      ph     = &module->ps_hints;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.c	2024-04-08 05:38:38.000000000 +0000
@@ -851,10 +851,11 @@
 
   /* add one Type1 counter stem to the current hints table */
   static void
-  ps_hints_t1stem3( PS_Hints   hints,
+  ps_hints_t1stem3( T1_Hints   hints_,    /* PS_Hints */
                     FT_UInt    dimension,
                     FT_Fixed*  stems )
   {
+    PS_Hints  hints = (PS_Hints)hints_;
     FT_Error  error = FT_Err_Ok;
 
 
@@ -914,9 +915,10 @@
 
   /* reset hints (only with Type 1 hints) */
   static void
-  ps_hints_t1reset( PS_Hints  hints,
+  ps_hints_t1reset( T1_Hints  hints_,     /* PS_Hints */
                     FT_UInt   end_point )
   {
+    PS_Hints  hints = (PS_Hints)hints_;
     FT_Error  error = FT_Err_Ok;
 
 
@@ -953,11 +955,12 @@
 
   /* Type2 "hintmask" operator, add a new hintmask to each direction */
   static void
-  ps_hints_t2mask( PS_Hints        hints,
+  ps_hints_t2mask( T2_Hints        hints_,    /* PS_Hints */
                    FT_UInt         end_point,
                    FT_UInt         bit_count,
                    const FT_Byte*  bytes )
   {
+    PS_Hints  hints = (PS_Hints)hints_;
     FT_Error  error;
 
 
@@ -999,10 +1002,11 @@
 
 
   static void
-  ps_hints_t2counter( PS_Hints        hints,
+  ps_hints_t2counter( T2_Hints        hints_,    /* PS_Hints */
                       FT_UInt         bit_count,
                       const FT_Byte*  bytes )
   {
+    PS_Hints  hints = (PS_Hints)hints_;
     FT_Error  error;
 
 
@@ -1087,6 +1091,13 @@
     ps_hints_open( (PS_Hints)hints, PS_HINT_TYPE_1 );
   }
 
+  static FT_Error
+  t1_hints_close( T1_Hints  hints,
+                  FT_UInt   end_point )
+  {
+    return ps_hints_close( (PS_Hints)hints, end_point );
+  }
+
   static void
   t1_hints_stem( T1_Hints   hints,
                  FT_UInt    dimension,
@@ -1102,17 +1113,27 @@
   }
 
 
+  static FT_Error
+  t1_hints_apply( T1_Hints        hints,
+                  FT_Outline*     outline,
+                  PSH_Globals     globals,
+                  FT_Render_Mode  hint_mode )
+  {
+    return ps_hints_apply( (PS_Hints)hints, outline, globals, hint_mode );
+  }
+
+
   FT_LOCAL_DEF( void )
   t1_hints_funcs_init( T1_Hints_FuncsRec*  funcs )
   {
     FT_ZERO( funcs );
 
     funcs->open  = (T1_Hints_OpenFunc)    t1_hints_open;
-    funcs->close = (T1_Hints_CloseFunc)   ps_hints_close;
+    funcs->close = (T1_Hints_CloseFunc)   t1_hints_close;
     funcs->stem  = (T1_Hints_SetStemFunc) t1_hints_stem;
     funcs->stem3 = (T1_Hints_SetStem3Func)ps_hints_t1stem3;
     funcs->reset = (T1_Hints_ResetFunc)   ps_hints_t1reset;
-    funcs->apply = (T1_Hints_ApplyFunc)   ps_hints_apply;
+    funcs->apply = (T1_Hints_ApplyFunc)   t1_hints_apply;
   }
 
 
@@ -1131,6 +1152,14 @@
   }
 
 
+  static FT_Error
+  t2_hints_close( T2_Hints  hints,
+                  FT_UInt   end_point )
+  {
+    return ps_hints_close( (PS_Hints)hints, end_point );
+  }
+
+
   static void
   t2_hints_stems( T2_Hints   hints,
                   FT_UInt    dimension,
@@ -1168,17 +1197,27 @@
   }
 
 
+  static FT_Error
+  t2_hints_apply( T2_Hints        hints,
+                  FT_Outline*     outline,
+                  PSH_Globals     globals,
+                  FT_Render_Mode  hint_mode )
+  {
+    return ps_hints_apply( (PS_Hints)hints, outline, globals, hint_mode );
+  }
+
+
   FT_LOCAL_DEF( void )
   t2_hints_funcs_init( T2_Hints_FuncsRec*  funcs )
   {
     FT_ZERO( funcs );
 
-    funcs->open    = (T2_Hints_OpenFunc)   t2_hints_open;
-    funcs->close   = (T2_Hints_CloseFunc)  ps_hints_close;
-    funcs->stems   = (T2_Hints_StemsFunc)  t2_hints_stems;
-    funcs->hintmask= (T2_Hints_MaskFunc)   ps_hints_t2mask;
-    funcs->counter = (T2_Hints_CounterFunc)ps_hints_t2counter;
-    funcs->apply   = (T2_Hints_ApplyFunc)  ps_hints_apply;
+    funcs->open     = (T2_Hints_OpenFunc)   t2_hints_open;
+    funcs->close    = (T2_Hints_CloseFunc)  t2_hints_close;
+    funcs->stems    = (T2_Hints_StemsFunc)  t2_hints_stems;
+    funcs->hintmask = (T2_Hints_MaskFunc)   ps_hints_t2mask;
+    funcs->counter  = (T2_Hints_CounterFunc)ps_hints_t2counter;
+    funcs->apply    = (T2_Hints_ApplyFunc)  t2_hints_apply;
   }
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psnames/psmodule.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psnames/psmodule.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/psnames/psmodule.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/psnames/psmodule.c	2024-04-08 05:38:38.000000000 +0000
@@ -57,7 +57,7 @@
   /* the name, as in `A.swash' or `e.final'; in this case, the           */
   /* VARIANT_BIT is set in the return value.                             */
   /*                                                                     */
-  static FT_UInt32
+  FT_CALLBACK_DEF( FT_UInt32 )
   ps_unicode_value( const char*  glyph_name )
   {
     /* If the name begins with `uni', then the glyph name may be a */
@@ -309,7 +309,7 @@
 
 
   /* Build a table that maps Unicode values to glyph indices. */
-  static FT_Error
+  FT_CALLBACK_DEF( FT_Error )
   ps_unicodes_init( FT_Memory             memory,
                     PS_Unicodes           table,
                     FT_UInt               num_glyphs,
@@ -408,7 +408,7 @@
   }
 
 
-  static FT_UInt
+  FT_CALLBACK_DEF( FT_UInt )
   ps_unicodes_char_index( PS_Unicodes  table,
                           FT_UInt32    unicode )
   {
@@ -453,7 +453,7 @@
   }
 
 
-  static FT_UInt32
+  FT_CALLBACK_DEF( FT_UInt )
   ps_unicodes_char_next( PS_Unicodes  table,
                          FT_UInt32   *unicode )
   {
@@ -518,7 +518,7 @@
 #endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
 
 
-  static const char*
+  FT_CALLBACK_DEF( const char* )
   ps_get_macintosh_name( FT_UInt  name_index )
   {
     if ( name_index >= FT_NUM_MAC_NAMES )
@@ -528,7 +528,7 @@
   }
 
 
-  static const char*
+  FT_CALLBACK_DEF( const char* )
   ps_get_standard_strings( FT_UInt  sid )
   {
     if ( sid >= FT_NUM_SID_NAMES )
@@ -543,13 +543,13 @@
   FT_DEFINE_SERVICE_PSCMAPSREC(
     pscmaps_interface,
 
-    (PS_Unicode_ValueFunc)     ps_unicode_value,        /* unicode_value         */
-    (PS_Unicodes_InitFunc)     ps_unicodes_init,        /* unicodes_init         */
-    (PS_Unicodes_CharIndexFunc)ps_unicodes_char_index,  /* unicodes_char_index   */
-    (PS_Unicodes_CharNextFunc) ps_unicodes_char_next,   /* unicodes_char_next    */
+    ps_unicode_value,         /* PS_Unicode_ValueFunc      unicode_value         */
+    ps_unicodes_init,         /* PS_Unicodes_InitFunc      unicodes_init         */
+    ps_unicodes_char_index,   /* PS_Unicodes_CharIndexFunc unicodes_char_index   */
+    ps_unicodes_char_next,    /* PS_Unicodes_CharNextFunc  unicodes_char_next    */
 
-    (PS_Macintosh_NameFunc)    ps_get_macintosh_name,   /* macintosh_name        */
-    (PS_Adobe_Std_StringsFunc) ps_get_standard_strings, /* adobe_std_strings     */
+    ps_get_macintosh_name,    /* PS_Macintosh_NameFunc     macintosh_name        */
+    ps_get_standard_strings,  /* PS_Adobe_Std_StringsFunc  adobe_std_strings     */
 
     t1_standard_encoding,                               /* adobe_std_encoding    */
     t1_expert_encoding                                  /* adobe_expert_encoding */
@@ -560,13 +560,13 @@
   FT_DEFINE_SERVICE_PSCMAPSREC(
     pscmaps_interface,
 
-    NULL,                                               /* unicode_value         */
-    NULL,                                               /* unicodes_init         */
-    NULL,                                               /* unicodes_char_index   */
-    NULL,                                               /* unicodes_char_next    */
+    NULL,                     /* PS_Unicode_ValueFunc      unicode_value         */
+    NULL,                     /* PS_Unicodes_InitFunc      unicodes_init         */
+    NULL,                     /* PS_Unicodes_CharIndexFunc unicodes_char_index   */
+    NULL,                     /* PS_Unicodes_CharNextFunc  unicodes_char_next    */
 
-    (PS_Macintosh_NameFunc)    ps_get_macintosh_name,   /* macintosh_name        */
-    (PS_Adobe_Std_StringsFunc) ps_get_standard_strings, /* adobe_std_strings     */
+    ps_get_macintosh_name,    /* PS_Macintosh_NameFunc     macintosh_name        */
+    ps_get_standard_strings,  /* PS_Adobe_Std_StringsFunc  adobe_std_strings     */
 
     t1_standard_encoding,                               /* adobe_std_encoding    */
     t1_expert_encoding                                  /* adobe_expert_encoding */
@@ -612,9 +612,9 @@
     PUT_PS_NAMES_SERVICE(
       (void*)&pscmaps_interface ),   /* module specific interface */
 
-    (FT_Module_Constructor)NULL,                                       /* module_init   */
-    (FT_Module_Destructor) NULL,                                       /* module_done   */
-    (FT_Module_Requester)  PUT_PS_NAMES_SERVICE( psnames_get_service ) /* get_interface */
+    NULL,                                        /* FT_Module_Constructor module_init   */
+    NULL,                                        /* FT_Module_Destructor  module_done   */
+    PUT_PS_NAMES_SERVICE( psnames_get_service )  /* FT_Module_Requester   get_interface */
   )
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/raster/ftraster.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/raster/ftraster.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/raster/ftraster.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/raster/ftraster.c	2024-04-08 05:38:38.000000000 +0000
@@ -1742,9 +1742,9 @@
    *   SUCCESS on success, FAILURE on error.
    */
   static Bool
-  Decompose_Curve( RAS_ARGS UShort  first,
-                            UShort  last,
-                            Int     flipped )
+  Decompose_Curve( RAS_ARGS Int  first,
+                            Int  last,
+                            Int  flipped )
   {
     FT_Vector   v_last;
     FT_Vector   v_control;
@@ -1969,8 +1969,8 @@
   static Bool
   Convert_Glyph( RAS_ARGS Int  flipped )
   {
-    Int   i;
-    UInt  start;
+    Int  i;
+    Int  first, last;
 
 
     ras.fProfile = NULL;
@@ -1985,8 +1985,7 @@
     ras.cProfile->offset = ras.top;
     ras.num_Profs        = 0;
 
-    start = 0;
-
+    last = -1;
     for ( i = 0; i < ras.outline.n_contours; i++ )
     {
       PProfile  lastProfile;
@@ -1996,12 +1995,11 @@
       ras.state    = Unknown_State;
       ras.gProfile = NULL;
 
-      if ( Decompose_Curve( RAS_VARS (UShort)start,
-                                     (UShort)ras.outline.contours[i],
-                                     flipped ) )
-        return FAILURE;
+      first = last + 1;
+      last  = ras.outline.contours[i];
 
-      start = (UShort)ras.outline.contours[i] + 1;
+      if ( Decompose_Curve( RAS_VARS first, last, flipped ) )
+        return FAILURE;
 
       /* we must now check whether the extreme arcs join or not */
       if ( FRAC( ras.lastY ) == 0 &&
@@ -3167,9 +3165,12 @@
 
 
   static int
-  ft_black_new( FT_Memory       memory,
-                black_PRaster  *araster )
+  ft_black_new( void*       memory_,    /* FT_Memory     */
+                FT_Raster  *araster_ )  /* black_PRaster */
   {
+    FT_Memory       memory = (FT_Memory)memory_;
+    black_PRaster  *araster = (black_PRaster*)araster_;
+
     FT_Error       error;
     black_PRaster  raster = NULL;
 
@@ -3184,9 +3185,10 @@
 
 
   static void
-  ft_black_done( black_PRaster  raster )
+  ft_black_done( FT_Raster  raster_ )   /* black_PRaster */
   {
-    FT_Memory  memory = (FT_Memory)raster->memory;
+    black_PRaster  raster = (black_PRaster)raster_;
+    FT_Memory      memory = (FT_Memory)raster->memory;
 
 
     FT_FREE( raster );
@@ -3281,11 +3283,11 @@
 
     FT_GLYPH_FORMAT_OUTLINE,
 
-    (FT_Raster_New_Func)     ft_black_new,       /* raster_new      */
-    (FT_Raster_Reset_Func)   ft_black_reset,     /* raster_reset    */
-    (FT_Raster_Set_Mode_Func)ft_black_set_mode,  /* raster_set_mode */
-    (FT_Raster_Render_Func)  ft_black_render,    /* raster_render   */
-    (FT_Raster_Done_Func)    ft_black_done       /* raster_done     */
+    ft_black_new,       /* FT_Raster_New_Func      raster_new      */
+    ft_black_reset,     /* FT_Raster_Reset_Func    raster_reset    */
+    ft_black_set_mode,  /* FT_Raster_Set_Mode_Func raster_set_mode */
+    ft_black_render,    /* FT_Raster_Render_Func   raster_render   */
+    ft_black_done       /* FT_Raster_Done_Func     raster_done     */
   )
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/raster/ftrend1.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/raster/ftrend1.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/raster/ftrend1.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/raster/ftrend1.c	2024-04-08 05:38:38.000000000 +0000
@@ -27,8 +27,11 @@
 
   /* initialize renderer -- init its raster */
   static FT_Error
-  ft_raster1_init( FT_Renderer  render )
+  ft_raster1_init( FT_Module  module )   /* FT_Renderer */
   {
+    FT_Renderer  render = (FT_Renderer)module;
+
+
     render->clazz->raster_class->raster_reset( render->raster, NULL, 0 );
 
     return FT_Err_Ok;
@@ -188,18 +191,18 @@
 
       NULL,    /* module specific interface */
 
-      (FT_Module_Constructor)ft_raster1_init,  /* module_init   */
-      (FT_Module_Destructor) NULL,             /* module_done   */
-      (FT_Module_Requester)  NULL,             /* get_interface */
+      ft_raster1_init,  /* FT_Module_Constructor module_init   */
+      NULL,             /* FT_Module_Destructor  module_done   */
+      NULL,             /* FT_Module_Requester   get_interface */
 
     FT_GLYPH_FORMAT_OUTLINE,
 
-    (FT_Renderer_RenderFunc)   ft_raster1_render,     /* render_glyph    */
-    (FT_Renderer_TransformFunc)ft_raster1_transform,  /* transform_glyph */
-    (FT_Renderer_GetCBoxFunc)  ft_raster1_get_cbox,   /* get_glyph_cbox  */
-    (FT_Renderer_SetModeFunc)  ft_raster1_set_mode,   /* set_mode        */
+    ft_raster1_render,     /* FT_Renderer_RenderFunc    render_glyph    */
+    ft_raster1_transform,  /* FT_Renderer_TransformFunc transform_glyph */
+    ft_raster1_get_cbox,   /* FT_Renderer_GetCBoxFunc   get_glyph_cbox  */
+    ft_raster1_set_mode,   /* FT_Renderer_SetModeFunc   set_mode        */
 
-    (FT_Raster_Funcs*)&ft_standard_raster             /* raster_class    */
+    &ft_standard_raster    /* FT_Raster_Funcs*          raster_class    */
   )
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.c	2024-04-08 05:38:38.000000000 +0000
@@ -406,10 +406,7 @@
 
     switch ( color_type )
     {
-    default:
-      /* Shouldn't happen, but ... */
-      FALL_THROUGH;
-
+    default:  /* Shouldn't happen, but ... */
     case PNG_COLOR_TYPE_RGB_ALPHA:
       png_set_read_user_transform_fn( png, premultiply_data );
       break;
@@ -457,7 +454,7 @@
 #else /* !(TT_CONFIG_OPTION_EMBEDDED_BITMAPS && FT_CONFIG_OPTION_USE_PNG) */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _pngshim_dummy;
+  typedef int  pngshim_dummy_;
 
 #endif /* !(TT_CONFIG_OPTION_EMBEDDED_BITMAPS && FT_CONFIG_OPTION_USE_PNG) */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.c	2024-04-08 05:38:38.000000000 +0000
@@ -79,41 +79,57 @@
    *
    */
 
-  static void*
-  get_sfnt_table( TT_Face      face,
+  FT_CALLBACK_DEF( FT_Error )
+  sfnt_load_table( FT_Face    face,    /* TT_Face */
+                   FT_ULong   tag,
+                   FT_Long    offset,
+                   FT_Byte*   buffer,
+                   FT_ULong*  length )
+  {
+    TT_Face  ttface = (TT_Face)face;
+
+
+    return tt_face_load_any( ttface, tag, offset, buffer, length );
+  }
+
+
+  FT_CALLBACK_DEF( void* )
+  get_sfnt_table( FT_Face      face,  /* TT_Face */
                   FT_Sfnt_Tag  tag )
   {
+    TT_Face  ttface = (TT_Face)face;
+
     void*  table;
 
 
     switch ( tag )
     {
     case FT_SFNT_HEAD:
-      table = &face->header;
+      table = &ttface->header;
       break;
 
     case FT_SFNT_HHEA:
-      table = &face->horizontal;
+      table = &ttface->horizontal;
       break;
 
     case FT_SFNT_VHEA:
-      table = face->vertical_info ? &face->vertical : NULL;
+      table = ttface->vertical_info ? &ttface->vertical : NULL;
       break;
 
     case FT_SFNT_OS2:
-      table = ( face->os2.version == 0xFFFFU ) ? NULL : &face->os2;
+      table = ( ttface->os2.version == 0xFFFFU ) ? NULL : &ttface->os2;
       break;
 
     case FT_SFNT_POST:
-      table = &face->postscript;
+      table = &ttface->postscript;
       break;
 
     case FT_SFNT_MAXP:
-      table = &face->max_profile;
+      table = &ttface->max_profile;
       break;
 
     case FT_SFNT_PCLT:
-      table = face->pclt.Version ? &face->pclt : NULL;
+      table = ttface->pclt.Version ? &ttface->pclt : NULL;
       break;
 
     default:
@@ -124,26 +140,29 @@
   }
 
 
-  static FT_Error
-  sfnt_table_info( TT_Face    face,
+  FT_CALLBACK_DEF( FT_Error )
+  sfnt_table_info( FT_Face    face,    /* TT_Face */
                    FT_UInt    idx,
                    FT_ULong  *tag,
                    FT_ULong  *offset,
                    FT_ULong  *length )
   {
+    TT_Face  ttface = (TT_Face)face;
+
+
     if ( !offset || !length )
       return FT_THROW( Invalid_Argument );
 
     if ( !tag )
-      *length = face->num_tables;
+      *length = ttface->num_tables;
     else
     {
-      if ( idx >= face->num_tables )
+      if ( idx >= ttface->num_tables )
         return FT_THROW( Table_Missing );
 
-      *tag    = face->dir_tables[idx].Tag;
-      *offset = face->dir_tables[idx].Offset;
-      *length = face->dir_tables[idx].Length;
+      *tag    = ttface->dir_tables[idx].Tag;
+      *offset = ttface->dir_tables[idx].Offset;
+      *length = ttface->dir_tables[idx].Length;
     }
 
     return FT_Err_Ok;
@@ -153,9 +172,9 @@
   FT_DEFINE_SERVICE_SFNT_TABLEREC(
     sfnt_service_sfnt_table,
 
-    (FT_SFNT_TableLoadFunc)tt_face_load_any,     /* load_table */
-    (FT_SFNT_TableGetFunc) get_sfnt_table,       /* get_table  */
-    (FT_SFNT_TableInfoFunc)sfnt_table_info       /* table_info */
+    sfnt_load_table,  /* FT_SFNT_TableLoadFunc load_table */
+    get_sfnt_table,   /* FT_SFNT_TableGetFunc  get_table  */
+    sfnt_table_info   /* FT_SFNT_TableInfoFunc table_info */
   )
 
 
@@ -166,7 +185,7 @@
    *
    */
 
-  static FT_Error
+  FT_CALLBACK_DEF( FT_Error )
   sfnt_get_glyph_name( FT_Face     face,
                        FT_UInt     glyph_index,
                        FT_Pointer  buffer,
@@ -184,7 +203,7 @@
   }
 
 
-  static FT_UInt
+  FT_CALLBACK_DEF( FT_UInt )
   sfnt_get_name_index( FT_Face           face,
                        const FT_String*  glyph_name )
   {
@@ -221,8 +240,8 @@
   FT_DEFINE_SERVICE_GLYPHDICTREC(
     sfnt_service_glyph_dict,
 
-    (FT_GlyphDict_GetNameFunc)  sfnt_get_glyph_name,    /* get_name   */
-    (FT_GlyphDict_NameIndexFunc)sfnt_get_name_index     /* name_index */
+    sfnt_get_glyph_name,  /* FT_GlyphDict_GetNameFunc   get_name   */
+    sfnt_get_name_index   /* FT_GlyphDict_NameIndexFunc name_index */
   )
 
 #endif /* TT_CONFIG_OPTION_POSTSCRIPT_NAMES */
@@ -523,15 +542,14 @@
           FT_TRACE0(( "get_win_string:"
                       " Character 0x%X invalid in PS name string\n",
                       ((unsigned)p[0])*256 + (unsigned)p[1] ));
-        break;
+        continue;
       }
     }
-    if ( !len )
-      *r = '\0';
+    *r = '\0';
 
     FT_FRAME_EXIT();
 
-    if ( !len )
+    if ( r != result )
       return result;
 
   get_win_string_error:
@@ -580,15 +598,14 @@
           FT_TRACE0(( "get_apple_string:"
                       " Character `%c' (0x%X) invalid in PS name string\n",
                       *p, *p ));
-        break;
+        continue;
       }
     }
-    if ( !len )
-      *r = '\0';
+    *r = '\0';
 
     FT_FRAME_EXIT();
 
-    if ( !len )
+    if ( r != result )
       return result;
 
   get_apple_string_error:
@@ -602,7 +619,7 @@
   }
 
 
-  static FT_Bool
+  FT_CALLBACK_DEF( FT_Bool )
   sfnt_get_name_id( TT_Face    face,
                     FT_UShort  id,
                     FT_Int    *win,
@@ -819,9 +836,9 @@
 
       if ( !found )
       {
-        /* as a last resort we try the family name; note that this is */
-        /* not in the Adobe TechNote, but GX fonts (which predate the */
-        /* TechNote) benefit from this behaviour                      */
+        /* according to the 'name' documentation in the OpenType   */
+        /* specification the font family name is to be used if the */
+        /* typographic family name is missing, so let's do that    */
         found = sfnt_get_name_id( face,
                                   TT_NAME_ID_FONT_FAMILY,
                                   &win,
@@ -853,6 +870,10 @@
       {
         FT_TRACE0(( "sfnt_get_var_ps_name:"
                     " No valid PS name prefix for font instances found\n" ));
+        /* XXX It probably makes sense to never let this fail */
+        /*     since an arbitrary prefix should work, too.    */
+        /*     On the other hand, it is very unlikely that    */
+        /*     we ever reach this code at all.                */
         return NULL;
       }
 
@@ -1041,47 +1062,49 @@
 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
 
 
-  static const char*
-  sfnt_get_ps_name( TT_Face  face )
+  FT_CALLBACK_DEF( const char* )
+  sfnt_get_ps_name( FT_Face  face )    /* TT_Face */
   {
+    TT_Face  ttface = (TT_Face)face;
+
     FT_Int       found, win, apple;
     const char*  result = NULL;
 
 
-    if ( face->postscript_name )
-      return face->postscript_name;
+    if ( ttface->postscript_name )
+      return ttface->postscript_name;
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
-    if ( face->blend                                 &&
-         ( FT_IS_NAMED_INSTANCE( FT_FACE( face ) ) ||
-           FT_IS_VARIATION( FT_FACE( face ) )      ) )
+    if ( ttface->blend                    &&
+         ( FT_IS_NAMED_INSTANCE( face ) ||
+           FT_IS_VARIATION( face )      ) )
     {
-      face->postscript_name = sfnt_get_var_ps_name( face );
-      return face->postscript_name;
+      ttface->postscript_name = sfnt_get_var_ps_name( ttface );
+      return ttface->postscript_name;
     }
 #endif
 
     /* scan the name table to see whether we have a Postscript name here, */
     /* either in Macintosh or Windows platform encodings                  */
-    found = sfnt_get_name_id( face, TT_NAME_ID_PS_NAME, &win, &apple );
+    found = sfnt_get_name_id( ttface, TT_NAME_ID_PS_NAME, &win, &apple );
     if ( !found )
       return NULL;
 
     /* prefer Windows entries over Apple */
     if ( win != -1 )
-      result = get_win_string( face->root.memory,
-                               face->name_table.stream,
-                               face->name_table.names + win,
+      result = get_win_string( FT_FACE_MEMORY( face ),
+                               ttface->name_table.stream,
+                               ttface->name_table.names + win,
                                sfnt_is_postscript,
                                1 );
     if ( !result && apple != -1 )
-      result = get_apple_string( face->root.memory,
-                                 face->name_table.stream,
-                                 face->name_table.names + apple,
+      result = get_apple_string( FT_FACE_MEMORY( face ),
+                                 ttface->name_table.stream,
+                                 ttface->name_table.names + apple,
                                  sfnt_is_postscript,
                                  1 );
 
-    face->postscript_name = result;
+    ttface->postscript_name = result;
 
     return result;
   }
@@ -1090,7 +1113,7 @@
   FT_DEFINE_SERVICE_PSFONTNAMEREC(
     sfnt_service_ps_name,
 
-    (FT_PsName_GetFunc)sfnt_get_ps_name       /* get_ps_font_name */
+    sfnt_get_ps_name  /* FT_PsName_GetFunc get_ps_font_name */
   )
 
 
@@ -1100,14 +1123,14 @@
   FT_DEFINE_SERVICE_TTCMAPSREC(
     tt_service_get_cmap_info,
 
-    (TT_CMap_Info_GetFunc)tt_get_cmap_info    /* get_cmap_info */
+    tt_get_cmap_info  /* TT_CMap_Info_GetFunc get_cmap_info */
   )
 
 
 #ifdef TT_CONFIG_OPTION_BDF
 
   static FT_Error
-  sfnt_get_charset_id( TT_Face       face,
+  sfnt_get_charset_id( FT_Face       face,
                        const char*  *acharset_encoding,
                        const char*  *acharset_registry )
   {
@@ -1145,8 +1168,8 @@
   FT_DEFINE_SERVICE_BDFRec(
     sfnt_service_bdf,
 
-    (FT_BDF_GetCharsetIdFunc)sfnt_get_charset_id,     /* get_charset_id */
-    (FT_BDF_GetPropertyFunc) tt_face_find_bdf_prop    /* get_property   */
+    sfnt_get_charset_id,   /* FT_BDF_GetCharsetIdFunc get_charset_id */
+    tt_face_find_bdf_prop  /* FT_BDF_GetPropertyFunc  get_property   */
   )
 
 
@@ -1337,9 +1360,9 @@
 
     (const void*)&sfnt_interface,  /* module specific interface */
 
-    (FT_Module_Constructor)NULL,               /* module_init   */
-    (FT_Module_Destructor) NULL,               /* module_done   */
-    (FT_Module_Requester)  sfnt_get_interface  /* get_interface */
+    NULL,               /* FT_Module_Constructor module_init   */
+    NULL,               /* FT_Module_Destructor  module_done   */
+    sfnt_get_interface  /* FT_Module_Requester   get_interface */
   )
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c	2024-04-08 05:38:38.000000000 +0000
@@ -534,17 +534,23 @@
                                         0 );
     }
 
-    if ( !face->var )
+    if ( !face->tt_var )
     {
       /* we want the metrics variations interface */
       /* from the `truetype' module only          */
       FT_Module  tt_module = FT_Get_Module( library, "truetype" );
 
 
-      face->var = ft_module_get_service( tt_module,
-                                         FT_SERVICE_ID_METRICS_VARIATIONS,
-                                         0 );
+      face->tt_var = ft_module_get_service( tt_module,
+                                            FT_SERVICE_ID_METRICS_VARIATIONS,
+                                            0 );
     }
+
+    if ( !face->face_var )
+      face->face_var = ft_module_get_service(
+                         &face->root.driver->root,
+                         FT_SERVICE_ID_METRICS_VARIATIONS,
+                         0 );
 #endif
 
     FT_TRACE2(( "SFNT driver\n" ));
@@ -692,6 +698,9 @@
           instance_offset += instance_size;
         }
 
+        /* named instance indices start with value 1 */
+        face->var_default_named_instance = i + 1;
+
         if ( i == num_instances )
         {
           /* no default instance in named instance table; */
@@ -1054,6 +1063,16 @@
         GET_NAME( FONT_SUBFAMILY, &face->root.style_name );
     }
 
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+    {
+      FT_Memory  memory = face->root.memory;
+
+
+      if ( FT_STRDUP( face->non_var_style_name, face->root.style_name ) )
+        goto Exit;
+    }
+#endif
+
     /* now set up root fields */
     {
       FT_Face  root  = &face->root;
@@ -1221,7 +1240,7 @@
 
         if ( count > 0 )
         {
-          FT_Memory        memory   = face->root.stream->memory;
+          FT_Memory        memory   = face->root.memory;
           FT_UShort        em_size  = face->header.Units_Per_EM;
           FT_Short         avgwidth = face->os2.xAvgCharWidth;
           FT_Size_Metrics  metrics;
@@ -1500,6 +1519,7 @@
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
     FT_FREE( face->var_postscript_prefix );
+    FT_FREE( face->non_var_style_name );
 #endif
 
     /* freeing glyph color palette data */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.c	2024-04-08 05:38:38.000000000 +0000
@@ -426,7 +426,7 @@
 #else /* !FT_CONFIG_OPTION_USE_ZLIB */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _sfwoff_dummy;
+  typedef int  sfwoff_dummy_;
 
 #endif /* !FT_CONFIG_OPTION_USE_ZLIB */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.c	2024-04-08 05:38:38.000000000 +0000
@@ -36,6 +36,8 @@
 #undef  FT_COMPONENT
 #define FT_COMPONENT  sfwoff2
 
+  /* An arbitrary, heuristic size limit (67MByte) for expanded WOFF2 data. */
+#define MAX_SFNT_SIZE  ( 1 << 26 )
 
 #define READ_255USHORT( var )  FT_SET_ERROR( Read255UShort( stream, &var ) )
 
@@ -2180,9 +2182,8 @@
       else
         sfnt_size = woff2.totalSfntSize;
 
-      /* Value 1<<26 = 67108864 is heuristic. */
-      if (sfnt_size >= (1 << 26))
-        sfnt_size = 1 << 26;
+      if ( sfnt_size >= MAX_SFNT_SIZE )
+        sfnt_size = MAX_SFNT_SIZE;
 
 #ifdef FT_DEBUG_LEVEL_TRACE
       if ( sfnt_size != woff2.totalSfntSize )
@@ -2257,10 +2258,15 @@
       goto Exit;
     }
 
-    if ( woff2.uncompressed_size > sfnt_size )
+    /* We must not blindly trust `uncompressed_size` since its   */
+    /* value might be corrupted.  If it is too large, reject the */
+    /* font.  In other words, we don't accept a WOFF2 font that  */
+    /* expands to something larger than MAX_SFNT_SIZE.  If ever  */
+    /* necessary, this limit can be easily adjusted.             */
+    if ( woff2.uncompressed_size > MAX_SFNT_SIZE )
     {
-      FT_ERROR(( "woff2_open_font: SFNT table lengths are too large.\n" ));
-      error = FT_THROW( Invalid_Table );
+      FT_ERROR(( "Uncompressed font too large.\n" ));
+      error = FT_THROW( Array_Too_Large );
       goto Exit;
     }
 
@@ -2378,7 +2384,7 @@
 #else /* !FT_CONFIG_OPTION_USE_BROTLI */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _sfwoff2_dummy;
+  typedef int  sfwoff2_dummy_;
 
 #endif /* !FT_CONFIG_OPTION_USE_BROTLI */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c	2024-04-08 05:38:38.000000000 +0000
@@ -59,10 +59,14 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap_init( TT_CMap   cmap,
-                FT_Byte*  table )
+  tt_cmap_init( FT_CMap  cmap,    /* TT_CMap */
+                void*    table_ )
   {
-    cmap->data = table;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  table  = (FT_Byte*)table_;
+
+
+    ttcmap->data = table;
     return FT_Err_Ok;
   }
 
@@ -128,21 +132,23 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap0_char_index( TT_CMap    cmap,
+  tt_cmap0_char_index( FT_CMap    cmap,       /* TT_CMap */
                        FT_UInt32  char_code )
   {
-    FT_Byte*  table = cmap->data;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  table  = ttcmap->data;
 
 
     return char_code < 256 ? table[6 + char_code] : 0;
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap0_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap0_char_next( FT_CMap     cmap,        /* TT_CMap */
                       FT_UInt32  *pchar_code )
   {
-    FT_Byte*   table    = cmap->data;
+    TT_CMap    ttcmap   = (TT_CMap)cmap;
+    FT_Byte*   table    = ttcmap->data;
     FT_UInt32  charcode = *pchar_code;
     FT_UInt32  result   = 0;
     FT_UInt    gindex   = 0;
@@ -165,10 +171,11 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap0_get_info( TT_CMap       cmap,
+  tt_cmap0_get_info( FT_CharMap    cmap,       /* TT_CMap */
                      TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 4;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 4;
 
 
     cmap_info->format   = 0;
@@ -453,10 +460,11 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap2_char_index( TT_CMap    cmap,
+  tt_cmap2_char_index( FT_CMap    cmap,       /* TT_CMap */
                        FT_UInt32  char_code )
   {
-    FT_Byte*  table   = cmap->data;
+    TT_CMap   ttcmap  = (TT_CMap)cmap;
+    FT_Byte*  table   = ttcmap->data;
     FT_UInt   result  = 0;
     FT_Byte*  subheader;
 
@@ -491,11 +499,12 @@
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap2_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap2_char_next( FT_CMap     cmap,       /* TT_CMap */
                       FT_UInt32  *pcharcode )
   {
-    FT_Byte*   table    = cmap->data;
+    TT_CMap    ttcmap   = (TT_CMap)cmap;
+    FT_Byte*   table    = ttcmap->data;
     FT_UInt    gindex   = 0;
     FT_UInt32  result   = 0;
     FT_UInt32  charcode = *pcharcode + 1;
@@ -579,10 +588,11 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap2_get_info( TT_CMap       cmap,
+  tt_cmap2_get_info( FT_CharMap    cmap,       /* TT_CMap */
                      TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 4;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 4;
 
 
     cmap_info->format   = 2;
@@ -706,18 +716,20 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap4_init( TT_CMap4  cmap,
-                 FT_Byte*  table )
+  tt_cmap4_init( FT_CMap  cmap,    /* TT_CMap4 */
+                 void*    table_ )
   {
+    TT_CMap4  ttcmap = (TT_CMap4)cmap;
+    FT_Byte*  table  = (FT_Byte*)table_;
     FT_Byte*  p;
 
 
-    cmap->cmap.data    = table;
+    ttcmap->cmap.data = table;
 
-    p                  = table + 6;
-    cmap->num_ranges   = FT_PEEK_USHORT( p ) >> 1;
-    cmap->cur_charcode = (FT_UInt32)0xFFFFFFFFUL;
-    cmap->cur_gindex   = 0;
+    p                    = table + 6;
+    ttcmap->num_ranges   = FT_PEEK_USHORT( p ) >> 1;
+    ttcmap->cur_charcode = (FT_UInt32)0xFFFFFFFFUL;
+    ttcmap->cur_gindex   = 0;
 
     return FT_Err_Ok;
   }
@@ -755,7 +767,7 @@
            cmap->cur_start == 0xFFFFU        &&
            cmap->cur_end   == 0xFFFFU        )
       {
-        TT_Face   face  = (TT_Face)cmap->cmap.cmap.charmap.face;
+        TT_Face   face  = (TT_Face)FT_CMAP_FACE( cmap );
         FT_Byte*  limit = face->cmap_table + face->cmap_size;
 
 
@@ -788,15 +800,12 @@
   static void
   tt_cmap4_next( TT_CMap4  cmap )
   {
-    TT_Face   face  = (TT_Face)cmap->cmap.cmap.charmap.face;
+    TT_Face   face  = (TT_Face)FT_CMAP_FACE( cmap );
     FT_Byte*  limit = face->cmap_table + face->cmap_size;
 
     FT_UInt  charcode;
 
 
-    if ( cmap->cur_charcode >= 0xFFFFUL )
-      goto Fail;
-
     charcode = (FT_UInt)cmap->cur_charcode + 1;
 
     if ( charcode < cmap->cur_start )
@@ -882,7 +891,6 @@
         charcode = cmap->cur_start;
     }
 
-  Fail:
     cmap->cur_charcode = (FT_UInt32)0xFFFFFFFFUL;
     cmap->cur_gindex   = 0;
   }
@@ -1097,32 +1105,26 @@
                             FT_UInt32*  pcharcode,
                             FT_Bool     next )
   {
-    TT_Face   face  = (TT_Face)cmap->cmap.charmap.face;
+    TT_Face   face  = (TT_Face)FT_CMAP_FACE( cmap );
     FT_Byte*  limit = face->cmap_table + face->cmap_size;
 
 
     FT_UInt    num_segs2, start, end, offset;
     FT_Int     delta;
     FT_UInt    i, num_segs;
-    FT_UInt32  charcode = *pcharcode;
+    FT_UInt32  charcode = *pcharcode + next;
     FT_UInt    gindex   = 0;
     FT_Byte*   p;
     FT_Byte*   q;
 
 
     p = cmap->data + 6;
-    num_segs2 = FT_PAD_FLOOR( TT_PEEK_USHORT( p ), 2 );
-
-    num_segs = num_segs2 >> 1;
+    num_segs = TT_PEEK_USHORT( p ) >> 1;
 
     if ( !num_segs )
       return 0;
 
-    if ( next )
-      charcode++;
-
-    if ( charcode > 0xFFFFU )
-      return 0;
+    num_segs2 = num_segs << 1;
 
     /* linear search */
     p = cmap->data + 14;               /* ends table   */
@@ -1232,37 +1234,30 @@
                             FT_UInt32*  pcharcode,
                             FT_Bool     next )
   {
-    TT_Face   face  = (TT_Face)cmap->cmap.charmap.face;
+    TT_Face   face  = (TT_Face)FT_CMAP_FACE( cmap );
     FT_Byte*  limit = face->cmap_table + face->cmap_size;
 
     FT_UInt   num_segs2, start, end, offset;
     FT_Int    delta;
     FT_UInt   max, min, mid, num_segs;
-    FT_UInt   charcode = (FT_UInt)*pcharcode;
+    FT_UInt   charcode = (FT_UInt)*pcharcode + next;
     FT_UInt   gindex   = 0;
     FT_Byte*  p;
 
 
     p = cmap->data + 6;
-    num_segs2 = FT_PAD_FLOOR( TT_PEEK_USHORT( p ), 2 );
+    num_segs = TT_PEEK_USHORT( p ) >> 1;
 
-    if ( !num_segs2 )
+    if ( !num_segs )
       return 0;
 
-    num_segs = num_segs2 >> 1;
-
-    /* make compiler happy */
-    mid = num_segs;
-    end = 0xFFFFU;
-
-    if ( next )
-      charcode++;
+    num_segs2 = num_segs << 1;
 
     min = 0;
     max = num_segs;
 
     /* binary search */
-    while ( min < max )
+    do
     {
       mid    = ( min + max ) >> 1;
       p      = cmap->data + 14 + mid * 2;
@@ -1445,6 +1440,7 @@
         break;
       }
     }
+    while ( min < max );
 
     if ( next )
     {
@@ -1454,12 +1450,8 @@
       /* if `charcode' is not in any segment, then `mid' is */
       /* the segment nearest to `charcode'                  */
 
-      if ( charcode > end )
-      {
-        mid++;
-        if ( mid == num_segs )
-          return 0;
-      }
+      if ( charcode > end && ++mid == num_segs )
+        return 0;
 
       if ( tt_cmap4_set_range( cmap4, mid ) )
       {
@@ -1474,7 +1466,6 @@
           cmap4->cur_gindex = gindex;
         else
         {
-          cmap4->cur_charcode = charcode;
           tt_cmap4_next( cmap4 );
           gindex = cmap4->cur_gindex;
         }
@@ -1489,31 +1480,35 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap4_char_index( TT_CMap    cmap,
+  tt_cmap4_char_index( FT_CMap    cmap,       /* TT_CMap */
                        FT_UInt32  char_code )
   {
+    TT_CMap  ttcmap = (TT_CMap)cmap;
+
+
     if ( char_code >= 0x10000UL )
       return 0;
 
-    if ( cmap->flags & TT_CMAP_FLAG_UNSORTED )
-      return tt_cmap4_char_map_linear( cmap, &char_code, 0 );
+    if ( ttcmap->flags & TT_CMAP_FLAG_UNSORTED )
+      return tt_cmap4_char_map_linear( ttcmap, &char_code, 0 );
     else
-      return tt_cmap4_char_map_binary( cmap, &char_code, 0 );
+      return tt_cmap4_char_map_binary( ttcmap, &char_code, 0 );
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap4_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap4_char_next( FT_CMap     cmap,        /* TT_CMap */
                       FT_UInt32  *pchar_code )
   {
+    TT_CMap  ttcmap = (TT_CMap)cmap;
     FT_UInt  gindex;
 
 
     if ( *pchar_code >= 0xFFFFU )
       return 0;
 
-    if ( cmap->flags & TT_CMAP_FLAG_UNSORTED )
-      gindex = tt_cmap4_char_map_linear( cmap, pchar_code, 1 );
+    if ( ttcmap->flags & TT_CMAP_FLAG_UNSORTED )
+      gindex = tt_cmap4_char_map_linear( ttcmap, pchar_code, 1 );
     else
     {
       TT_CMap4  cmap4 = (TT_CMap4)cmap;
@@ -1528,7 +1523,7 @@
           *pchar_code = cmap4->cur_charcode;
       }
       else
-        gindex = tt_cmap4_char_map_binary( cmap, pchar_code, 1 );
+        gindex = tt_cmap4_char_map_binary( ttcmap, pchar_code, 1 );
     }
 
     return gindex;
@@ -1536,10 +1531,11 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap4_get_info( TT_CMap       cmap,
+  tt_cmap4_get_info( FT_CharMap    cmap,       /* TT_CMap */
                      TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 4;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 4;
 
 
     cmap_info->format   = 4;
@@ -1640,10 +1636,11 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap6_char_index( TT_CMap    cmap,
+  tt_cmap6_char_index( FT_CMap    cmap,       /* TT_CMap */
                        FT_UInt32  char_code )
   {
-    FT_Byte*  table  = cmap->data;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  table  = ttcmap->data;
     FT_UInt   result = 0;
     FT_Byte*  p      = table + 6;
     FT_UInt   start  = TT_NEXT_USHORT( p );
@@ -1661,11 +1658,12 @@
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap6_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap6_char_next( FT_CMap     cmap,        /* TT_CMap */
                       FT_UInt32  *pchar_code )
   {
-    FT_Byte*   table     = cmap->data;
+    TT_CMap    ttcmap    = (TT_CMap)cmap;
+    FT_Byte*   table     = ttcmap->data;
     FT_UInt32  result    = 0;
     FT_UInt32  char_code = *pchar_code + 1;
     FT_UInt    gindex    = 0;
@@ -1706,10 +1704,11 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap6_get_info( TT_CMap       cmap,
+  tt_cmap6_get_info( FT_CharMap    cmap,       /* TT_CMap */
                      TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 4;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 4;
 
 
     cmap_info->format   = 6;
@@ -1900,10 +1899,11 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap8_char_index( TT_CMap    cmap,
+  tt_cmap8_char_index( FT_CMap    cmap,       /* TT_CMap */
                        FT_UInt32  char_code )
   {
-    FT_Byte*   table      = cmap->data;
+    TT_CMap    ttcmap     = (TT_CMap)cmap;
+    FT_Byte*   table      = ttcmap->data;
     FT_UInt    result     = 0;
     FT_Byte*   p          = table + 8204;
     FT_UInt32  num_groups = TT_NEXT_ULONG( p );
@@ -1932,15 +1932,16 @@
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap8_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap8_char_next( FT_CMap     cmap,        /* TT_CMap */
                       FT_UInt32  *pchar_code )
   {
-    FT_Face    face       = cmap->cmap.charmap.face;
+    TT_CMap    ttcmap     = (TT_CMap)cmap;
+    FT_Face    face       = FT_CMAP_FACE( cmap );
     FT_UInt32  result     = 0;
     FT_UInt32  char_code;
     FT_UInt    gindex     = 0;
-    FT_Byte*   table      = cmap->data;
+    FT_Byte*   table      = ttcmap->data;
     FT_Byte*   p          = table + 8204;
     FT_UInt32  num_groups = TT_NEXT_ULONG( p );
     FT_UInt32  start, end, start_id;
@@ -2000,10 +2001,11 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap8_get_info( TT_CMap       cmap,
+  tt_cmap8_get_info( FT_CharMap    cmap,       /* TT_CMap */
                      TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 8;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 8;
 
 
     cmap_info->format   = 8;
@@ -2104,10 +2106,11 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap10_char_index( TT_CMap    cmap,
+  tt_cmap10_char_index( FT_CMap    cmap,       /* TT_CMap */
                         FT_UInt32  char_code )
   {
-    FT_Byte*   table  = cmap->data;
+    TT_CMap    ttcmap = (TT_CMap)cmap;
+    FT_Byte*   table  = ttcmap->data;
     FT_UInt    result = 0;
     FT_Byte*   p      = table + 12;
     FT_UInt32  start  = TT_NEXT_ULONG( p );
@@ -2130,11 +2133,12 @@
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap10_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap10_char_next( FT_CMap     cmap,        /* TT_CMap */
                        FT_UInt32  *pchar_code )
   {
-    FT_Byte*   table     = cmap->data;
+    TT_CMap    ttcmap    = (TT_CMap)cmap;
+    FT_Byte*   table     = ttcmap->data;
     FT_UInt32  char_code;
     FT_UInt    gindex    = 0;
     FT_Byte*   p         = table + 12;
@@ -2172,10 +2176,11 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap10_get_info( TT_CMap       cmap,
+  tt_cmap10_get_info( FT_CharMap    cmap,       /* TT_CMap */
                       TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 8;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 8;
 
 
     cmap_info->format   = 10;
@@ -2253,15 +2258,19 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap12_init( TT_CMap12  cmap,
-                  FT_Byte*   table )
+  tt_cmap12_init( FT_CMap  cmap,    /* TT_CMap12 */
+                  void*    table_ )
   {
-    cmap->cmap.data  = table;
+    TT_CMap12  ttcmap = (TT_CMap12)cmap;
+    FT_Byte*   table  = (FT_Byte*)table_;
+
 
-    table           += 12;
-    cmap->num_groups = FT_PEEK_ULONG( table );
+    ttcmap->cmap.data  = table;
 
-    cmap->valid      = 0;
+    table             += 12;
+    ttcmap->num_groups = FT_PEEK_ULONG( table );
+
+    ttcmap->valid      = 0;
 
     return FT_Err_Ok;
   }
@@ -2331,23 +2340,21 @@
   /* cmap->cur_group should be set up properly by caller         */
   /*                                                             */
   static void
-  tt_cmap12_next( TT_CMap12  cmap )
+  tt_cmap12_next( FT_CMap  cmap )    /* TT_CMap12 */
   {
-    FT_Face   face = cmap->cmap.cmap.charmap.face;
-    FT_Byte*  p;
-    FT_ULong  start, end, start_id, char_code;
-    FT_ULong  n;
-    FT_UInt   gindex;
-
+    TT_CMap12  ttcmap = (TT_CMap12)cmap;
+    FT_Face    face   = FT_CMAP_FACE( cmap );
+    FT_Byte*   p;
+    FT_ULong   start, end, start_id, char_code;
+    FT_ULong   n;
+    FT_UInt    gindex;
 
-    if ( cmap->cur_charcode >= 0xFFFFFFFFUL )
-      goto Fail;
 
-    char_code = cmap->cur_charcode + 1;
+    char_code = ttcmap->cur_charcode + 1;
 
-    for ( n = cmap->cur_group; n < cmap->num_groups; n++ )
+    for ( n = ttcmap->cur_group; n < ttcmap->num_groups; n++ )
     {
-      p        = cmap->cmap.data + 16 + 12 * n;
+      p        = ttcmap->cmap.data + 16 + 12 * n;
       start    = TT_NEXT_ULONG( p );
       end      = TT_NEXT_ULONG( p );
       start_id = TT_PEEK_ULONG( p );
@@ -2379,16 +2386,16 @@
         if ( gindex >= (FT_UInt)face->num_glyphs )
           continue;
 
-        cmap->cur_charcode = char_code;
-        cmap->cur_gindex   = gindex;
-        cmap->cur_group    = n;
+        ttcmap->cur_charcode = char_code;
+        ttcmap->cur_gindex   = gindex;
+        ttcmap->cur_group    = n;
 
         return;
       }
     }
 
   Fail:
-    cmap->valid = 0;
+    ttcmap->valid = 0;
   }
 
 
@@ -2400,7 +2407,7 @@
     FT_UInt    gindex     = 0;
     FT_Byte*   p          = cmap->data + 12;
     FT_UInt32  num_groups = TT_PEEK_ULONG( p );
-    FT_UInt32  char_code  = *pchar_code;
+    FT_UInt32  char_code  = *pchar_code + next;
     FT_UInt32  start, end, start_id;
     FT_UInt32  max, min, mid;
 
@@ -2408,23 +2415,11 @@
     if ( !num_groups )
       return 0;
 
-    /* make compiler happy */
-    mid = num_groups;
-    end = 0xFFFFFFFFUL;
-
-    if ( next )
-    {
-      if ( char_code >= 0xFFFFFFFFUL )
-        return 0;
-
-      char_code++;
-    }
-
     min = 0;
     max = num_groups;
 
     /* binary search */
-    while ( min < max )
+    do
     {
       mid = ( min + max ) >> 1;
       p   = cmap->data + 16 + 12 * mid;
@@ -2448,22 +2443,19 @@
         break;
       }
     }
+    while ( min < max );
 
     if ( next )
     {
-      FT_Face    face   = cmap->cmap.charmap.face;
+      FT_Face    face   = FT_CMAP_FACE( cmap );
       TT_CMap12  cmap12 = (TT_CMap12)cmap;
 
 
       /* if `char_code' is not in any group, then `mid' is */
       /* the group nearest to `char_code'                  */
 
-      if ( char_code > end )
-      {
-        mid++;
-        if ( mid == num_groups )
-          return 0;
-      }
+      if ( char_code > end && ++mid == num_groups )
+        return 0;
 
       cmap12->valid        = 1;
       cmap12->cur_charcode = char_code;
@@ -2474,7 +2466,7 @@
 
       if ( !gindex )
       {
-        tt_cmap12_next( cmap12 );
+        tt_cmap12_next( FT_CMAP( cmap12 ) );
 
         if ( cmap12->valid )
           gindex = cmap12->cur_gindex;
@@ -2490,25 +2482,28 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap12_char_index( TT_CMap    cmap,
+  tt_cmap12_char_index( FT_CMap    cmap,       /* TT_CMap */
                         FT_UInt32  char_code )
   {
-    return tt_cmap12_char_map_binary( cmap, &char_code, 0 );
+    return tt_cmap12_char_map_binary( (TT_CMap)cmap, &char_code, 0 );
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap12_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap12_char_next( FT_CMap     cmap,        /* TT_CMap12 */
                        FT_UInt32  *pchar_code )
   {
     TT_CMap12  cmap12 = (TT_CMap12)cmap;
     FT_UInt    gindex;
 
 
+    if ( *pchar_code >= 0xFFFFFFFFUL )
+      return 0;
+
     /* no need to search */
     if ( cmap12->valid && cmap12->cur_charcode == *pchar_code )
     {
-      tt_cmap12_next( cmap12 );
+      tt_cmap12_next( FT_CMAP( cmap12 ) );
       if ( cmap12->valid )
       {
         gindex      = cmap12->cur_gindex;
@@ -2518,17 +2513,18 @@
         gindex = 0;
     }
     else
-      gindex = tt_cmap12_char_map_binary( cmap, pchar_code, 1 );
+      gindex = tt_cmap12_char_map_binary( (TT_CMap)cmap, pchar_code, 1 );
 
     return gindex;
   }
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap12_get_info( TT_CMap       cmap,
+  tt_cmap12_get_info( FT_CharMap    cmap,       /* TT_CMap */
                       TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 8;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 8;
 
 
     cmap_info->format   = 12;
@@ -2606,15 +2602,19 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap13_init( TT_CMap13  cmap,
-                  FT_Byte*   table )
+  tt_cmap13_init( FT_CMap  cmap,    /* TT_CMap13 */
+                  void*    table_ )
   {
-    cmap->cmap.data  = table;
+    TT_CMap13  ttcmap = (TT_CMap13)cmap;
+    FT_Byte*   table  = (FT_Byte*)table_;
+
+
+    ttcmap->cmap.data  = table;
 
-    table           += 12;
-    cmap->num_groups = FT_PEEK_ULONG( table );
+    table             += 12;
+    ttcmap->num_groups = FT_PEEK_ULONG( table );
 
-    cmap->valid      = 0;
+    ttcmap->valid      = 0;
 
     return FT_Err_Ok;
   }
@@ -2679,23 +2679,21 @@
   /* cmap->cur_group should be set up properly by caller         */
   /*                                                             */
   static void
-  tt_cmap13_next( TT_CMap13  cmap )
+  tt_cmap13_next( FT_CMap  cmap )    /* TT_CMap13 */
   {
-    FT_Face   face = cmap->cmap.cmap.charmap.face;
-    FT_Byte*  p;
-    FT_ULong  start, end, glyph_id, char_code;
-    FT_ULong  n;
-    FT_UInt   gindex;
-
+    TT_CMap13  ttcmap = (TT_CMap13)cmap;
+    FT_Face    face = FT_CMAP_FACE( cmap );
+    FT_Byte*   p;
+    FT_ULong   start, end, glyph_id, char_code;
+    FT_ULong   n;
+    FT_UInt    gindex;
 
-    if ( cmap->cur_charcode >= 0xFFFFFFFFUL )
-      goto Fail;
 
-    char_code = cmap->cur_charcode + 1;
+    char_code = ttcmap->cur_charcode + 1;
 
-    for ( n = cmap->cur_group; n < cmap->num_groups; n++ )
+    for ( n = ttcmap->cur_group; n < ttcmap->num_groups; n++ )
     {
-      p        = cmap->cmap.data + 16 + 12 * n;
+      p        = ttcmap->cmap.data + 16 + 12 * n;
       start    = TT_NEXT_ULONG( p );
       end      = TT_NEXT_ULONG( p );
       glyph_id = TT_PEEK_ULONG( p );
@@ -2709,17 +2707,16 @@
 
         if ( gindex && gindex < (FT_UInt)face->num_glyphs )
         {
-          cmap->cur_charcode = char_code;
-          cmap->cur_gindex   = gindex;
-          cmap->cur_group    = n;
+          ttcmap->cur_charcode = char_code;
+          ttcmap->cur_gindex   = gindex;
+          ttcmap->cur_group    = n;
 
           return;
         }
       }
     }
 
-  Fail:
-    cmap->valid = 0;
+    ttcmap->valid = 0;
   }
 
 
@@ -2731,7 +2728,7 @@
     FT_UInt    gindex     = 0;
     FT_Byte*   p          = cmap->data + 12;
     FT_UInt32  num_groups = TT_PEEK_ULONG( p );
-    FT_UInt32  char_code  = *pchar_code;
+    FT_UInt32  char_code  = *pchar_code + next;
     FT_UInt32  start, end;
     FT_UInt32  max, min, mid;
 
@@ -2739,23 +2736,11 @@
     if ( !num_groups )
       return 0;
 
-    /* make compiler happy */
-    mid = num_groups;
-    end = 0xFFFFFFFFUL;
-
-    if ( next )
-    {
-      if ( char_code >= 0xFFFFFFFFUL )
-        return 0;
-
-      char_code++;
-    }
-
     min = 0;
     max = num_groups;
 
     /* binary search */
-    while ( min < max )
+    do
     {
       mid = ( min + max ) >> 1;
       p   = cmap->data + 16 + 12 * mid;
@@ -2774,6 +2759,7 @@
         break;
       }
     }
+    while ( min < max );
 
     if ( next )
     {
@@ -2784,12 +2770,8 @@
       /* if `char_code' is not in any group, then `mid' is */
       /* the group nearest to `char_code'                  */
 
-      if ( char_code > end )
-      {
-        mid++;
-        if ( mid == num_groups )
-          return 0;
-      }
+      if ( char_code > end && ++mid == num_groups )
+        return 0;
 
       cmap13->valid        = 1;
       cmap13->cur_charcode = char_code;
@@ -2800,7 +2782,7 @@
 
       if ( !gindex )
       {
-        tt_cmap13_next( cmap13 );
+        tt_cmap13_next( FT_CMAP( cmap13 ) );
 
         if ( cmap13->valid )
           gindex = cmap13->cur_gindex;
@@ -2816,25 +2798,28 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap13_char_index( TT_CMap    cmap,
+  tt_cmap13_char_index( FT_CMap    cmap,       /* TT_CMap */
                         FT_UInt32  char_code )
   {
-    return tt_cmap13_char_map_binary( cmap, &char_code, 0 );
+    return tt_cmap13_char_map_binary( (TT_CMap)cmap, &char_code, 0 );
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap13_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap13_char_next( FT_CMap     cmap,        /* TT_CMap13 */
                        FT_UInt32  *pchar_code )
   {
     TT_CMap13  cmap13 = (TT_CMap13)cmap;
     FT_UInt    gindex;
 
 
+    if ( *pchar_code >= 0xFFFFFFFFUL )
+      return 0;
+
     /* no need to search */
     if ( cmap13->valid && cmap13->cur_charcode == *pchar_code )
     {
-      tt_cmap13_next( cmap13 );
+      tt_cmap13_next( FT_CMAP( cmap13 ) );
       if ( cmap13->valid )
       {
         gindex      = cmap13->cur_gindex;
@@ -2844,17 +2829,18 @@
         gindex = 0;
     }
     else
-      gindex = tt_cmap13_char_map_binary( cmap, pchar_code, 1 );
+      gindex = tt_cmap13_char_map_binary( (TT_CMap)cmap, pchar_code, 1 );
 
     return gindex;
   }
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap13_get_info( TT_CMap       cmap,
+  tt_cmap13_get_info( FT_CharMap    cmap,       /* TT_CMap */
                       TT_CMapInfo  *cmap_info )
   {
-    FT_Byte*  p = cmap->data + 8;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = ttcmap->data + 8;
 
 
     cmap_info->format   = 13;
@@ -2969,14 +2955,15 @@
 
 
   FT_CALLBACK_DEF( void )
-  tt_cmap14_done( TT_CMap14  cmap )
+  tt_cmap14_done( FT_CMap  cmap )    /* TT_CMap14 */
   {
-    FT_Memory  memory = cmap->memory;
+    TT_CMap14  ttcmap = (TT_CMap14)cmap;
+    FT_Memory  memory = ttcmap->memory;
 
 
-    cmap->max_results = 0;
-    if ( memory && cmap->results )
-      FT_FREE( cmap->results );
+    ttcmap->max_results = 0;
+    if ( memory && ttcmap->results )
+      FT_FREE( ttcmap->results );
   }
 
 
@@ -3004,15 +2991,19 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap14_init( TT_CMap14  cmap,
-                  FT_Byte*   table )
+  tt_cmap14_init( FT_CMap  cmap,    /* TT_CMap14 */
+                  void*    table_ )
   {
-    cmap->cmap.data = table;
+    TT_CMap14  ttcmap = (TT_CMap14)cmap;
+    FT_Byte*   table  = (FT_Byte*)table_;
+
 
-    table               += 6;
-    cmap->num_selectors  = FT_PEEK_ULONG( table );
-    cmap->max_results    = 0;
-    cmap->results        = NULL;
+    ttcmap->cmap.data = table;
+
+    table                 += 6;
+    ttcmap->num_selectors  = FT_PEEK_ULONG( table );
+    ttcmap->max_results    = 0;
+    ttcmap->results        = NULL;
 
     return FT_Err_Ok;
   }
@@ -3142,7 +3133,7 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap14_char_index( TT_CMap    cmap,
+  tt_cmap14_char_index( FT_CMap    cmap,
                         FT_UInt32  char_code )
   {
     FT_UNUSED( cmap );
@@ -3153,8 +3144,8 @@
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap14_char_next( TT_CMap     cmap,
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap14_char_next( FT_CMap     cmap,
                        FT_UInt32  *pchar_code )
   {
     FT_UNUSED( cmap );
@@ -3166,7 +3157,7 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap14_get_info( TT_CMap       cmap,
+  tt_cmap14_get_info( FT_CharMap    cmap,
                       TT_CMapInfo  *cmap_info )
   {
     FT_UNUSED( cmap );
@@ -3280,12 +3271,16 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap14_char_var_index( TT_CMap    cmap,
-                            TT_CMap    ucmap,
+  tt_cmap14_char_var_index( FT_CMap    cmap,             /* TT_CMap */
+                            FT_CMap    ucmap,            /* TT_CMap */
                             FT_UInt32  charcode,
                             FT_UInt32  variantSelector )
   {
-    FT_Byte*  p = tt_cmap14_find_variant( cmap->data + 6, variantSelector );
+    TT_CMap  ttcmap  = (TT_CMap)cmap;
+    TT_CMap  ttucmap = (TT_CMap)ucmap;
+
+    FT_Byte*  p = tt_cmap14_find_variant( ttcmap->data + 6,
+                                          variantSelector );
     FT_ULong  defOff;
     FT_ULong  nondefOff;
 
@@ -3296,16 +3291,16 @@
     defOff    = TT_NEXT_ULONG( p );
     nondefOff = TT_PEEK_ULONG( p );
 
-    if ( defOff != 0                                                    &&
-         tt_cmap14_char_map_def_binary( cmap->data + defOff, charcode ) )
+    if ( defOff != 0                                                      &&
+         tt_cmap14_char_map_def_binary( ttcmap->data + defOff, charcode ) )
     {
       /* This is the default variant of this charcode.  GID not stored */
       /* here; stored in the normal Unicode charmap instead.           */
-      return ucmap->cmap.clazz->char_index( &ucmap->cmap, charcode );
+      return ttucmap->cmap.clazz->char_index( &ttucmap->cmap, charcode );
     }
 
     if ( nondefOff != 0 )
-      return tt_cmap14_char_map_nondef_binary( cmap->data + nondefOff,
+      return tt_cmap14_char_map_nondef_binary( ttcmap->data + nondefOff,
                                                charcode );
 
     return 0;
@@ -3313,11 +3308,13 @@
 
 
   FT_CALLBACK_DEF( FT_Int )
-  tt_cmap14_char_var_isdefault( TT_CMap    cmap,
+  tt_cmap14_char_var_isdefault( FT_CMap    cmap,             /* TT_CMap */
                                 FT_UInt32  charcode,
                                 FT_UInt32  variantSelector )
   {
-    FT_Byte*  p = tt_cmap14_find_variant( cmap->data + 6, variantSelector );
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte*  p      = tt_cmap14_find_variant( ttcmap->data + 6,
+                                               variantSelector );
     FT_ULong  defOff;
     FT_ULong  nondefOff;
 
@@ -3328,13 +3325,13 @@
     defOff    = TT_NEXT_ULONG( p );
     nondefOff = TT_NEXT_ULONG( p );
 
-    if ( defOff != 0                                                    &&
-         tt_cmap14_char_map_def_binary( cmap->data + defOff, charcode ) )
+    if ( defOff != 0                                                      &&
+         tt_cmap14_char_map_def_binary( ttcmap->data + defOff, charcode ) )
       return 1;
 
-    if ( nondefOff != 0                                            &&
-         tt_cmap14_char_map_nondef_binary( cmap->data + nondefOff,
-                                           charcode ) != 0         )
+    if ( nondefOff != 0                                              &&
+         tt_cmap14_char_map_nondef_binary( ttcmap->data + nondefOff,
+                                           charcode ) != 0           )
       return 0;
 
     return -1;
@@ -3342,12 +3339,13 @@
 
 
   FT_CALLBACK_DEF( FT_UInt32* )
-  tt_cmap14_variants( TT_CMap    cmap,
+  tt_cmap14_variants( FT_CMap    cmap,    /* TT_CMap14 */
                       FT_Memory  memory )
   {
+    TT_CMap     ttcmap = (TT_CMap)cmap;
     TT_CMap14   cmap14 = (TT_CMap14)cmap;
     FT_UInt32   count  = cmap14->num_selectors;
-    FT_Byte*    p      = cmap->data + 10;
+    FT_Byte*    p      = ttcmap->data + 10;
     FT_UInt32*  result;
     FT_UInt32   i;
 
@@ -3368,13 +3366,14 @@
 
 
   FT_CALLBACK_DEF( FT_UInt32 * )
-  tt_cmap14_char_variants( TT_CMap    cmap,
+  tt_cmap14_char_variants( FT_CMap    cmap,      /* TT_CMap14 */
                            FT_Memory  memory,
                            FT_UInt32  charCode )
   {
-    TT_CMap14   cmap14 = (TT_CMap14)  cmap;
+    TT_CMap     ttcmap = (TT_CMap)cmap;
+    TT_CMap14   cmap14 = (TT_CMap14)cmap;
     FT_UInt32   count  = cmap14->num_selectors;
-    FT_Byte*    p      = cmap->data + 10;
+    FT_Byte*    p      = ttcmap->data + 10;
     FT_UInt32*  q;
 
 
@@ -3388,12 +3387,12 @@
       FT_ULong   nondefOff = TT_NEXT_ULONG( p );
 
 
-      if ( ( defOff != 0                                               &&
-             tt_cmap14_char_map_def_binary( cmap->data + defOff,
-                                            charCode )                 ) ||
-           ( nondefOff != 0                                            &&
-             tt_cmap14_char_map_nondef_binary( cmap->data + nondefOff,
-                                               charCode ) != 0         ) )
+      if ( ( defOff != 0                                                 &&
+             tt_cmap14_char_map_def_binary( ttcmap->data + defOff,
+                                            charCode )                   ) ||
+           ( nondefOff != 0                                              &&
+             tt_cmap14_char_map_nondef_binary( ttcmap->data + nondefOff,
+                                               charCode ) != 0           ) )
       {
         q[0] = varSel;
         q++;
@@ -3489,15 +3488,16 @@
 
 
   FT_CALLBACK_DEF( FT_UInt32 * )
-  tt_cmap14_variant_chars( TT_CMap    cmap,
+  tt_cmap14_variant_chars( FT_CMap    cmap,             /* TT_CMap */
                            FT_Memory  memory,
                            FT_UInt32  variantSelector )
   {
-    FT_Byte    *p  = tt_cmap14_find_variant( cmap->data + 6,
-                                             variantSelector );
-    FT_Int      i;
-    FT_ULong    defOff;
-    FT_ULong    nondefOff;
+    TT_CMap   ttcmap = (TT_CMap)cmap;
+    FT_Byte  *p      = tt_cmap14_find_variant( ttcmap->data + 6,
+                                               variantSelector );
+    FT_Int    i;
+    FT_ULong  defOff;
+    FT_ULong  nondefOff;
 
 
     if ( !p )
@@ -3510,16 +3510,16 @@
       return NULL;
 
     if ( defOff == 0 )
-      return tt_cmap14_get_nondef_chars( cmap, cmap->data + nondefOff,
+      return tt_cmap14_get_nondef_chars( ttcmap, ttcmap->data + nondefOff,
                                          memory );
     else if ( nondefOff == 0 )
-      return tt_cmap14_get_def_chars( cmap, cmap->data + defOff,
+      return tt_cmap14_get_def_chars( ttcmap, ttcmap->data + defOff,
                                       memory );
     else
     {
       /* Both a default and a non-default glyph set?  That's probably not */
       /* good font design, but the spec allows for it...                  */
-      TT_CMap14  cmap14 = (TT_CMap14) cmap;
+      TT_CMap14  cmap14 = (TT_CMap14)cmap;
       FT_UInt32  numRanges;
       FT_UInt32  numMappings;
       FT_UInt32  duni;
@@ -3531,18 +3531,18 @@
       FT_UInt32  *ret;
 
 
-      p  = cmap->data + nondefOff;
-      dp = cmap->data + defOff;
+      p  = ttcmap->data + nondefOff;
+      dp = ttcmap->data + defOff;
 
       numMappings = (FT_UInt32)TT_NEXT_ULONG( p );
       dcnt        = tt_cmap14_def_char_count( dp );
       numRanges   = (FT_UInt32)TT_NEXT_ULONG( dp );
 
       if ( numMappings == 0 )
-        return tt_cmap14_get_def_chars( cmap, cmap->data + defOff,
+        return tt_cmap14_get_def_chars( ttcmap, ttcmap->data + defOff,
                                         memory );
       if ( dcnt == 0 )
-        return tt_cmap14_get_nondef_chars( cmap, cmap->data + nondefOff,
+        return tt_cmap14_get_nondef_chars( ttcmap, ttcmap->data + nondefOff,
                                            memory );
 
       if ( tt_cmap14_ensure( cmap14, ( dcnt + numMappings + 1 ), memory ) )
@@ -3664,9 +3664,10 @@
 #ifdef FT_CONFIG_OPTION_POSTSCRIPT_NAMES
 
   FT_CALLBACK_DEF( const char * )
-  tt_get_glyph_name( TT_Face  face,
+  tt_get_glyph_name( void*    face_,   /* TT_Face */
                      FT_UInt  idx )
   {
+    TT_Face     face   = (TT_Face)face_;
     FT_String*  PSname = NULL;
 
 
@@ -3677,12 +3678,13 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  tt_cmap_unicode_init( PS_Unicodes  unicodes,
-                        FT_Pointer   pointer )
+  tt_cmap_unicode_init( FT_CMap     cmap,     /* PS_Unicodes */
+                        FT_Pointer  pointer )
   {
-    TT_Face             face    = (TT_Face)FT_CMAP_FACE( unicodes );
-    FT_Memory           memory  = FT_FACE_MEMORY( face );
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)face->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    TT_Face             face     = (TT_Face)FT_CMAP_FACE( cmap );
+    FT_Memory           memory   = FT_FACE_MEMORY( face );
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)face->psnames;
 
     FT_UNUSED( pointer );
 
@@ -3693,17 +3695,18 @@
     return psnames->unicodes_init( memory,
                                    unicodes,
                                    face->root.num_glyphs,
-                                   (PS_GetGlyphNameFunc)&tt_get_glyph_name,
+                                   &tt_get_glyph_name,
                                    (PS_FreeGlyphNameFunc)NULL,
                                    (FT_Pointer)face );
   }
 
 
   FT_CALLBACK_DEF( void )
-  tt_cmap_unicode_done( PS_Unicodes  unicodes )
+  tt_cmap_unicode_done( FT_CMap  cmap )    /* PS_Unicodes */
   {
-    FT_Face    face   = FT_CMAP_FACE( unicodes );
-    FT_Memory  memory = FT_FACE_MEMORY( face );
+    PS_Unicodes  unicodes = (PS_Unicodes)cmap;
+    FT_Face      face     = FT_CMAP_FACE( cmap );
+    FT_Memory    memory   = FT_FACE_MEMORY( face );
 
 
     FT_FREE( unicodes->maps );
@@ -3712,23 +3715,25 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  tt_cmap_unicode_char_index( PS_Unicodes  unicodes,
-                              FT_UInt32    char_code )
+  tt_cmap_unicode_char_index( FT_CMap    cmap,       /* PS_Unicodes */
+                              FT_UInt32  char_code )
   {
-    TT_Face             face    = (TT_Face)FT_CMAP_FACE( unicodes );
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)face->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    TT_Face             face     = (TT_Face)FT_CMAP_FACE( cmap );
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)face->psnames;
 
 
     return psnames->unicodes_char_index( unicodes, char_code );
   }
 
 
-  FT_CALLBACK_DEF( FT_UInt32 )
-  tt_cmap_unicode_char_next( PS_Unicodes  unicodes,
-                             FT_UInt32   *pchar_code )
+  FT_CALLBACK_DEF( FT_UInt )
+  tt_cmap_unicode_char_next( FT_CMap     cmap,        /* PS_Unicodes */
+                             FT_UInt32  *pchar_code )
   {
-    TT_Face             face    = (TT_Face)FT_CMAP_FACE( unicodes );
-    FT_Service_PsCMaps  psnames = (FT_Service_PsCMaps)face->psnames;
+    PS_Unicodes         unicodes = (PS_Unicodes)cmap;
+    TT_Face             face     = (TT_Face)FT_CMAP_FACE( cmap );
+    FT_Service_PsCMaps  psnames  = (FT_Service_PsCMaps)face->psnames;
 
 
     return psnames->unicodes_char_next( unicodes, pchar_code );
@@ -3883,7 +3888,7 @@
   tt_get_cmap_info( FT_CharMap    charmap,
                     TT_CMapInfo  *cmap_info )
   {
-    FT_CMap        cmap  = (FT_CMap)charmap;
+    FT_CMap        cmap  = FT_CMAP( charmap );
     TT_CMap_Class  clazz = (TT_CMap_Class)cmap->clazz;
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.c	2024-04-08 05:38:38.000000000 +0000
@@ -229,7 +229,7 @@
 
       base_glyphs_offset_v1 = FT_NEXT_ULONG( p );
 
-      if ( base_glyphs_offset_v1 + 4 >= table_size )
+      if ( base_glyphs_offset_v1 >= table_size - 4 )
         goto InvalidTable;
 
       p1                 = (FT_Byte*)( table + base_glyphs_offset_v1 );
@@ -249,7 +249,7 @@
 
       if ( layer_offset_v1 )
       {
-        if ( layer_offset_v1 + 4 >= table_size )
+        if ( layer_offset_v1 >= table_size - 4 )
           goto InvalidTable;
 
         p1            = (FT_Byte*)( table + layer_offset_v1 );
@@ -699,7 +699,7 @@
                                              item_deltas ) )
           return 0;
 
-        apaint->u.solid.color.alpha += item_deltas[0];
+        apaint->u.solid.color.alpha += (FT_F2Dot14)item_deltas[0];
       }
 #endif
 
@@ -1646,7 +1646,7 @@
           return 0;
 
         color_stop->stop_offset += F2DOT14_TO_FIXED( item_deltas[0] );
-        color_stop->color.alpha += item_deltas[1];
+        color_stop->color.alpha += (FT_F2Dot14)item_deltas[1];
       }
 #else
       FT_UNUSED( var_index_base );
@@ -1914,7 +1914,7 @@
 #else /* !TT_CONFIG_OPTION_COLOR_LAYERS */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _tt_colr_dummy;
+  typedef int  tt_colr_dummy_;
 
 #endif /* !TT_CONFIG_OPTION_COLOR_LAYERS */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.c	2024-04-08 05:38:38.000000000 +0000
@@ -303,7 +303,7 @@
 #else /* !TT_CONFIG_OPTION_COLOR_LAYERS */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _tt_cpal_dummy;
+  typedef int  tt_cpal_dummy_;
 
 #endif /* !TT_CONFIG_OPTION_COLOR_LAYERS */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c	2024-04-08 05:38:38.000000000 +0000
@@ -504,6 +504,13 @@
 
     FT_FRAME_EXIT();
 
+    if ( !valid_entries )
+    {
+      FT_TRACE2(( "tt_face_load_font_dir: no valid tables found\n" ));
+      error = FT_THROW( Unknown_File_Format );
+      goto Exit;
+    }
+
     FT_TRACE2(( "table directory loaded\n" ));
     FT_TRACE2(( "\n" ));
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.c	2024-04-08 05:38:38.000000000 +0000
@@ -239,7 +239,7 @@
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
     FT_Service_MetricsVariations  var =
-      (FT_Service_MetricsVariations)face->var;
+      (FT_Service_MetricsVariations)face->tt_var;
 #endif
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c	2024-04-08 05:38:38.000000000 +0000
@@ -156,86 +156,66 @@
 
 
   static FT_Error
-  load_format_20( TT_Face    face,
-                  FT_Stream  stream,
-                  FT_ULong   post_len )
+  load_format_20( TT_Post_Names  names,
+                  FT_Stream      stream,
+                  FT_UShort      num_glyphs,
+                  FT_ULong       post_len )
   {
     FT_Memory   memory = stream->memory;
     FT_Error    error;
 
-    FT_Int      num_glyphs;
-    FT_UShort   num_names;
+    FT_UShort   n;
+    FT_UShort   num_names = 0;
 
     FT_UShort*  glyph_indices = NULL;
-    FT_Char**   name_strings  = NULL;
-    FT_Byte*    strings       = NULL;
+    FT_Byte**   name_strings  = NULL;
+    FT_Byte*    q;
 
 
-    if ( FT_READ_USHORT( num_glyphs ) )
-      goto Exit;
-
-    /* UNDOCUMENTED!  The number of glyphs in this table can be smaller */
-    /* than the value in the maxp table (cf. cyberbit.ttf).             */
-
-    /* There already exist fonts which have more than 32768 glyph names */
-    /* in this table, so the test for this threshold has been dropped.  */
-
-    if ( num_glyphs > face->max_profile.numGlyphs  ||
-         (FT_ULong)num_glyphs * 2UL > post_len - 2 )
+    if ( (FT_ULong)num_glyphs * 2 > post_len )
     {
       error = FT_THROW( Invalid_File_Format );
       goto Exit;
     }
 
-    /* load the indices */
-    {
-      FT_Int  n;
-
-
-      if ( FT_QNEW_ARRAY( glyph_indices, num_glyphs ) ||
-           FT_FRAME_ENTER( num_glyphs * 2L )          )
-        goto Fail;
-
-      for ( n = 0; n < num_glyphs; n++ )
-        glyph_indices[n] = FT_GET_USHORT();
+    /* load the indices and note their maximum */
+    if ( FT_QNEW_ARRAY( glyph_indices, num_glyphs ) ||
+         FT_FRAME_ENTER( num_glyphs * 2 )           )
+      goto Fail;
 
-      FT_FRAME_EXIT();
-    }
+    q = (FT_Byte*)stream->cursor;
 
-    /* compute number of names stored in table */
+    for ( n = 0; n < num_glyphs; n++ )
     {
-      FT_Int  n;
+      FT_UShort  idx = FT_NEXT_USHORT( q );
 
 
-      num_names = 0;
+      if ( idx > num_names )
+        num_names = idx;
 
-      for ( n = 0; n < num_glyphs; n++ )
-      {
-        FT_Int  idx;
+      glyph_indices[n] = idx;
+    }
 
+    FT_FRAME_EXIT();
 
-        idx = glyph_indices[n];
-        if ( idx >= 258 )
-        {
-          idx -= 257;
-          if ( idx > num_names )
-            num_names = (FT_UShort)idx;
-        }
-      }
-    }
+    /* compute number of names stored in the table */
+    num_names = num_names > 257 ? num_names - 257 : 0;
 
     /* now load the name strings */
     if ( num_names )
     {
-      FT_UShort  n;
       FT_ULong   p;
+      FT_Byte*   strings;
 
 
-      post_len -= (FT_ULong)num_glyphs * 2UL + 2;
+      post_len -= (FT_ULong)num_glyphs * 2;
+
+      if ( FT_QALLOC( name_strings, num_names * sizeof ( FT_Byte* ) +
+                                    post_len + 1 ) )
+        goto Fail;
 
-      if ( FT_QALLOC( strings, post_len + 1 )       ||
-           FT_STREAM_READ( strings, post_len )      ||
-           FT_QNEW_ARRAY( name_strings, num_names ) )
+      strings = (FT_Byte*)( name_strings + num_names );
+      if ( FT_STREAM_READ( strings, post_len ) )
         goto Fail;
 
       /* convert from Pascal- to C-strings and set pointers */
@@ -251,7 +231,7 @@
         }
 
         strings[p]      = 0;
-        name_strings[n] = (FT_Char*)strings + p + 1;
+        name_strings[n] = strings + p + 1;
         p              += len + 1;
       }
       strings[post_len] = 0;
@@ -259,40 +239,24 @@
       /* deal with missing or insufficient string data */
       if ( n < num_names )
       {
-        if ( post_len == 0 )
-        {
-          /* fake empty string */
-          if ( FT_QREALLOC( strings, 1, 2 ) )
-            goto Fail;
-
-          post_len          = 1;
-          strings[post_len] = 0;
-        }
+        FT_TRACE4(( "load_format_20: %hu PostScript names are truncated\n",
+                    num_names - n ));
 
-        FT_ERROR(( "load_format_20:"
-                   " all entries in post table are already parsed,"
-                   " using NULL names for gid %d - %d\n",
-                    n, num_names - 1 ));
         for ( ; n < num_names; n++ )
-          name_strings[n] = (FT_Char*)strings + post_len;
+          name_strings[n] = strings + post_len;
       }
     }
 
     /* all right, set table fields and exit successfully */
-    {
-      TT_Post_20  table = &face->postscript_names.names.format_20;
-
+    names->num_glyphs    = num_glyphs;
+    names->num_names     = num_names;
+    names->glyph_indices = glyph_indices;
+    names->glyph_names   = name_strings;
 
-      table->num_glyphs    = (FT_UShort)num_glyphs;
-      table->num_names     = (FT_UShort)num_names;
-      table->glyph_indices = glyph_indices;
-      table->glyph_names   = name_strings;
-    }
     return FT_Err_Ok;
 
   Fail:
     FT_FREE( name_strings );
-    FT_FREE( strings );
     FT_FREE( glyph_indices );
 
   Exit:
@@ -301,66 +265,55 @@
 
 
   static FT_Error
-  load_format_25( TT_Face    face,
-                  FT_Stream  stream,
-                  FT_ULong   post_len )
+  load_format_25( TT_Post_Names  names,
+                  FT_Stream      stream,
+                  FT_UShort      num_glyphs,
+                  FT_ULong       post_len )
   {
     FT_Memory  memory = stream->memory;
     FT_Error   error;
 
-    FT_Int     num_glyphs;
-    FT_Char*   offset_table = NULL;
-
-    FT_UNUSED( post_len );
+    FT_UShort   n;
+    FT_UShort*  glyph_indices = NULL;
+    FT_Byte*    q;
 
 
-    if ( FT_READ_USHORT( num_glyphs ) )
-      goto Exit;
-
-    /* check the number of glyphs */
-    if ( num_glyphs > face->max_profile.numGlyphs ||
-         num_glyphs > 258                         ||
-         num_glyphs < 1                           )
+    /* check the number of glyphs, including the theoretical limit */
+    if ( num_glyphs > post_len  ||
+         num_glyphs > 258 + 128 )
     {
       error = FT_THROW( Invalid_File_Format );
       goto Exit;
     }
 
-    if ( FT_QNEW_ARRAY( offset_table, num_glyphs )  ||
-         FT_STREAM_READ( offset_table, num_glyphs ) )
+    /* load the indices and check their Mac range */
+    if ( FT_QNEW_ARRAY( glyph_indices, num_glyphs ) ||
+         FT_FRAME_ENTER( num_glyphs )               )
       goto Fail;
 
-    /* now check the offset table */
-    {
-      FT_Int  n;
+    q = (FT_Byte*)stream->cursor;
 
+    for ( n = 0; n < num_glyphs; n++ )
+    {
+      FT_Int  idx = n + FT_NEXT_CHAR( q );
 
-      for ( n = 0; n < num_glyphs; n++ )
-      {
-        FT_Long  idx = (FT_Long)n + offset_table[n];
 
+      if ( idx < 0 || idx > 257 )
+        idx = 0;
 
-        if ( idx < 0 || idx > num_glyphs )
-        {
-          error = FT_THROW( Invalid_File_Format );
-          goto Fail;
-        }
-      }
+      glyph_indices[n] = (FT_UShort)idx;
     }
 
-    /* OK, set table fields and exit successfully */
-    {
-      TT_Post_25  table = &face->postscript_names.names.format_25;
-
+    FT_FRAME_EXIT();
 
-      table->num_glyphs = (FT_UShort)num_glyphs;
-      table->offsets    = offset_table;
-    }
+    /* OK, set table fields and exit successfully */
+    names->num_glyphs    = num_glyphs;
+    names->glyph_indices = glyph_indices;
 
     return FT_Err_Ok;
 
   Fail:
-    FT_FREE( offset_table );
+    FT_FREE( glyph_indices );
 
   Exit:
     return error;
@@ -370,37 +323,37 @@
   static FT_Error
   load_post_names( TT_Face  face )
   {
-    FT_Stream  stream;
-    FT_Error   error;
-    FT_Fixed   format;
+    FT_Error   error = FT_Err_Ok;
+    FT_Stream  stream = face->root.stream;
+    FT_Fixed   format = face->postscript.FormatType;
     FT_ULong   post_len;
+    FT_UShort  num_glyphs;
 
 
-    /* get a stream for the face's resource */
-    stream = face->root.stream;
-
     /* seek to the beginning of the PS names table */
     error = face->goto_table( face, TTAG_post, stream, &post_len );
     if ( error )
       goto Exit;
 
-    format = face->postscript.FormatType;
-
-    /* go to beginning of subtable */
-    if ( FT_STREAM_SKIP( 32 ) )
+    /* UNDOCUMENTED!  The number of glyphs in this table can be smaller */
+    /* than the value in the maxp table (cf. cyberbit.ttf).             */
+    if ( post_len < 34                            ||
+         FT_STREAM_SKIP( 32 )                     ||
+         FT_READ_USHORT( num_glyphs )             ||
+         num_glyphs > face->max_profile.numGlyphs ||
+         num_glyphs == 0 )
       goto Exit;
 
-    /* now read postscript table */
-    if ( format == 0x00020000L && post_len >= 34 )
-      error = load_format_20( face, stream, post_len - 32 );
-    else if ( format == 0x00025000L && post_len >= 34 )
-      error = load_format_25( face, stream, post_len - 32 );
-    else
-      error = FT_THROW( Invalid_File_Format );
-
-    face->postscript_names.loaded = 1;
+    /* now read postscript names data */
+    if ( format == 0x00020000L )
+      error = load_format_20( &face->postscript_names, stream,
+                              num_glyphs, post_len - 34 );
+    else if ( format == 0x00025000L )
+      error = load_format_25( &face->postscript_names, stream,
+                              num_glyphs, post_len - 34 );
 
   Exit:
+    face->postscript_names.loaded = 1;  /* even if failed */
     return error;
   }
 
@@ -410,39 +363,20 @@
   {
     FT_Memory      memory = face->root.memory;
     TT_Post_Names  names  = &face->postscript_names;
-    FT_Fixed       format;
 
 
-    if ( names->loaded )
+    if ( names->num_glyphs )
     {
-      format = face->postscript.FormatType;
-
-      if ( format == 0x00020000L )
-      {
-        TT_Post_20  table = &names->names.format_20;
-
-
-        FT_FREE( table->glyph_indices );
-        table->num_glyphs = 0;
-
-        if ( table->num_names )
-        {
-          table->glyph_names[0]--;
-          FT_FREE( table->glyph_names[0] );
-
-          FT_FREE( table->glyph_names );
-          table->num_names = 0;
-        }
-      }
-      else if ( format == 0x00025000L )
-      {
-        TT_Post_25  table = &names->names.format_25;
-
+      FT_FREE( names->glyph_indices );
+      names->num_glyphs = 0;
+    }
 
-        FT_FREE( table->offsets );
-        table->num_glyphs = 0;
-      }
+    if ( names->num_names )
+    {
+      FT_FREE( names->glyph_names );
+      names->num_names = 0;
     }
+
     names->loaded = 0;
   }
 
@@ -478,7 +412,6 @@
                        FT_String**  PSname )
   {
     FT_Error       error;
-    TT_Post_Names  names;
     FT_Fixed       format;
 
 #ifdef FT_CONFIG_OPTION_POSTSCRIPT_NAMES
@@ -498,8 +431,6 @@
       return FT_THROW( Unimplemented_Feature );
 #endif
 
-    names = &face->postscript_names;
-
     /* `.notdef' by default */
     *PSname = MAC_NAME( 0 );
 
@@ -510,9 +441,10 @@
       if ( idx < 258 )                    /* paranoid checking */
         *PSname = MAC_NAME( idx );
     }
-    else if ( format == 0x00020000L )
+    else if ( format == 0x00020000L ||
+              format == 0x00025000L )
     {
-      TT_Post_20  table = &names->names.format_20;
+      TT_Post_Names  names = &face->postscript_names;
 
 
       if ( !names->loaded )
@@ -522,43 +454,29 @@
           goto End;
       }
 
-      if ( idx < (FT_UInt)table->num_glyphs )
+      if ( idx < (FT_UInt)names->num_glyphs )
       {
-        FT_UShort  name_index = table->glyph_indices[idx];
+        FT_UShort  name_index = names->glyph_indices[idx];
 
 
         if ( name_index < 258 )
           *PSname = MAC_NAME( name_index );
-        else
-          *PSname = (FT_String*)table->glyph_names[name_index - 258];
-      }
-    }
-    else if ( format == 0x00025000L )
-    {
-      TT_Post_25  table = &names->names.format_25;
-
-
-      if ( !names->loaded )
-      {
-        error = load_post_names( face );
-        if ( error )
-          goto End;
+        else  /* only for version 2.0 */
+          *PSname = (FT_String*)names->glyph_names[name_index - 258];
       }
-
-      if ( idx < (FT_UInt)table->num_glyphs )    /* paranoid checking */
-        *PSname = MAC_NAME( (FT_Int)idx + table->offsets[idx] );
     }
 
     /* nothing to do for format == 0x00030000L */
 
   End:
+    /* post format errors ignored */
     return FT_Err_Ok;
   }
 
 #else /* !TT_CONFIG_OPTION_POSTSCRIPT_NAMES */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _tt_post_dummy;
+  typedef int  tt_post_dummy_;
 
 #endif /* !TT_CONFIG_OPTION_POSTSCRIPT_NAMES */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c	2024-04-08 05:38:38.000000000 +0000
@@ -1677,7 +1677,7 @@
 #else /* !TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _tt_sbit_dummy;
+  typedef int  tt_sbit_dummy_;
 
 #endif /* !TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.c	2024-04-08 05:38:38.000000000 +0000
@@ -111,7 +111,7 @@
 #else /* !FT_CONFIG_OPTION_USE_BROTLI */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _woff2tags_dummy;
+  typedef int  woff2tags_dummy_;
 
 #endif /* !FT_CONFIG_OPTION_USE_BROTLI */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c	2024-04-08 05:38:38.000000000 +0000
@@ -1006,10 +1006,11 @@
    *
    * For other cases, using binary splits is actually slightly faster.
    */
-#if defined( __SSE2__ )                          || \
-    defined( __x86_64__ )                        || \
-    defined( _M_AMD64 )                          || \
-    ( defined( _M_IX86_FP ) && _M_IX86_FP >= 2 )
+#if ( defined( __SSE2__ )                          ||   \
+      defined( __x86_64__ )                        ||   \
+      defined( _M_AMD64 )                          ||   \
+      ( defined( _M_IX86_FP ) && _M_IX86_FP >= 2 ) ) && \
+    !defined( __VMS )
 #  define FT_SSE2 1
 #else
 #  define FT_SSE2 0
@@ -1427,8 +1428,10 @@
 
   static int
   gray_move_to( const FT_Vector*  to,
-                gray_PWorker      worker )
+                void*             worker_ )  /* gray_PWorker */
   {
+    gray_PWorker  worker = (gray_PWorker)worker_;
+
     TPos  x, y;
 
 
@@ -1446,8 +1449,11 @@
 
   static int
   gray_line_to( const FT_Vector*  to,
-                gray_PWorker      worker )
+                void*             worker_ )   /* gray_PWorker */
   {
+    gray_PWorker  worker = (gray_PWorker)worker_;
+
+
     gray_render_line( RAS_VAR_ UPSCALE( to->x ), UPSCALE( to->y ) );
     return 0;
   }
@@ -1456,8 +1462,11 @@
   static int
   gray_conic_to( const FT_Vector*  control,
                  const FT_Vector*  to,
-                 gray_PWorker      worker )
+                 void*             worker_ )   /* gray_PWorker */
   {
+    gray_PWorker  worker = (gray_PWorker)worker_;
+
+
     gray_render_conic( RAS_VAR_ control, to );
     return 0;
   }
@@ -1467,8 +1476,11 @@
   gray_cubic_to( const FT_Vector*  control1,
                  const FT_Vector*  control2,
                  const FT_Vector*  to,
-                 gray_PWorker      worker )
+                 void*             worker_ )   /* gray_PWorker */
   {
+    gray_PWorker  worker = (gray_PWorker)worker_;
+
+
     gray_render_cubic( RAS_VAR_ control1, control2, to );
     return 0;
   }
@@ -1666,6 +1678,8 @@
 
     int   n;         /* index of contour in outline     */
     int   first;     /* index of first point in contour */
+    int   last;      /* index of last point in contour  */
+
     char  tag;       /* current point's state           */
 
     int   shift;
@@ -1680,18 +1694,17 @@
 
     shift = func_interface->shift;
     delta = func_interface->delta;
-    first = 0;
 
+    last = -1;
     for ( n = 0; n < outline->n_contours; n++ )
     {
-      int  last;  /* index of last point in contour */
-
-
-      FT_TRACE5(( "FT_Outline_Decompose: Outline %d\n", n ));
+      FT_TRACE5(( "FT_Outline_Decompose: Contour %d\n", n ));
 
+      first = last + 1;
       last  = outline->contours[n];
-      if ( last < 0 )
+      if ( last < first )
         goto Invalid_Outline;
+
       limit = outline->points + last;
 
       v_start   = outline->points[first];
@@ -1874,11 +1887,9 @@
                   v_start.x / 64.0, v_start.y / 64.0 ));
       error = func_interface->line_to( &v_start, user );
 
-   Close:
+    Close:
       if ( error )
         goto Exit;
-
-      first = last + 1;
     }
 
     FT_TRACE5(( "FT_Outline_Decompose: Done\n", n ));
@@ -1923,7 +1934,7 @@
       if ( continued )
         FT_Trace_Enable();
 
-      FT_TRACE7(( "band [%d..%d]: %ld cell%s remaining/\n",
+      FT_TRACE7(( "band [%d..%d]: %td cell%s remaining/\n",
                   ras.min_ey,
                   ras.max_ey,
                   ras.cell_null - ras.cell_free,
@@ -2156,9 +2167,12 @@
 #else /* !STANDALONE_ */
 
   static int
-  gray_raster_new( FT_Memory      memory,
-                   gray_PRaster*  araster )
+  gray_raster_new( void*       memory_,
+                   FT_Raster*  araster_ )
   {
+    FT_Memory      memory  = (FT_Memory)memory_;
+    gray_PRaster*  araster = (gray_PRaster*)araster_;
+
     FT_Error      error;
     gray_PRaster  raster = NULL;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.c	2024-04-08 05:38:38.000000000 +0000
@@ -87,8 +87,10 @@
 
   /* initialize renderer -- init its raster */
   static FT_Error
-  ft_smooth_init( FT_Renderer  render )
+  ft_smooth_init( FT_Module  module )   /* FT_Renderer */
   {
+    FT_Renderer  render = (FT_Renderer)module;
+
     FT_Vector*  sub = render->root.library->lcd_geometry;
 
 
@@ -111,8 +113,10 @@
   ft_smooth_lcd_spans( int             y,
                        int             count,
                        const FT_Span*  spans,
-                       TOrigin*        target )
+                       void*           target_ )   /* TOrigin* */
   {
+    TOrigin*  target = (TOrigin*)target_;
+
     unsigned char*  dst_line = target->origin - y * target->pitch;
     unsigned char*  dst;
     unsigned short  w;
@@ -141,7 +145,7 @@
     /* Set up direct rendering to record them on each third byte. */
     params.source     = outline;
     params.flags      = FT_RASTER_FLAG_AA | FT_RASTER_FLAG_DIRECT;
-    params.gray_spans = (FT_SpanFunc)ft_smooth_lcd_spans;
+    params.gray_spans = ft_smooth_lcd_spans;
     params.user       = ⌖
 
     params.clip_box.xMin = 0;
@@ -256,8 +260,11 @@
 
   /* initialize renderer -- init its raster */
   static FT_Error
-  ft_smooth_init( FT_Renderer  render )
+  ft_smooth_init( FT_Module  module )   /* FT_Renderer */
   {
+    FT_Renderer  render = (FT_Renderer)module;
+
+
     /* set up default LCD filtering */
     FT_Library_SetLcdFilter( render->root.library, FT_LCD_FILTER_DEFAULT );
 
@@ -340,8 +347,11 @@
   ft_smooth_overlap_spans( int             y,
                            int             count,
                            const FT_Span*  spans,
-                           TOrigin*        target )
+                           void*           target_ )
   {
+    TOrigin*  target = (TOrigin*)target_;
+
+
     unsigned char*  dst = target->origin - ( y / SCALE ) * target->pitch;
     unsigned short  x;
     unsigned int    cover, sum;
@@ -386,7 +396,7 @@
     /* Set up direct rendering to average oversampled spans. */
     params.source     = outline;
     params.flags      = FT_RASTER_FLAG_AA | FT_RASTER_FLAG_DIRECT;
-    params.gray_spans = (FT_SpanFunc)ft_smooth_overlap_spans;
+    params.gray_spans = ft_smooth_overlap_spans;
     params.user       = ⌖
 
     params.clip_box.xMin = 0;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.c	2024-04-08 05:38:38.000000000 +0000
@@ -57,7 +57,7 @@
    * PROPERTY SERVICE
    *
    */
-  static FT_Error
+  FT_CALLBACK_DEF( FT_Error )
   tt_property_set( FT_Module    module,         /* TT_Driver */
                    const char*  property_name,
                    const void*  value,
@@ -93,17 +93,22 @@
         interpreter_version = *iv;
       }
 
-      if ( interpreter_version == TT_INTERPRETER_VERSION_35
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-           || interpreter_version == TT_INTERPRETER_VERSION_38
-#endif
+      switch ( interpreter_version )
+      {
+      case TT_INTERPRETER_VERSION_35:
+        driver->interpreter_version = TT_INTERPRETER_VERSION_35;
+        break;
+
+      case TT_INTERPRETER_VERSION_38:
+      case TT_INTERPRETER_VERSION_40:
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
-           || interpreter_version == TT_INTERPRETER_VERSION_40
+        driver->interpreter_version = TT_INTERPRETER_VERSION_40;
+      break;
 #endif
-         )
-        driver->interpreter_version = interpreter_version;
-      else
+
+      default:
         error = FT_ERR( Unimplemented_Feature );
+      }
 
       return error;
     }
@@ -114,10 +119,10 @@
   }
 
 
-  static FT_Error
+  FT_CALLBACK_DEF( FT_Error )
   tt_property_get( FT_Module    module,         /* TT_Driver */
                    const char*  property_name,
-                   const void*  value )
+                   void*        value )
   {
     FT_Error   error  = FT_Err_Ok;
     TT_Driver  driver = (TT_Driver)module;
@@ -144,8 +149,8 @@
   FT_DEFINE_SERVICE_PROPERTIESREC(
     tt_service_properties,
 
-    (FT_Properties_SetFunc)tt_property_set,     /* set_property */
-    (FT_Properties_GetFunc)tt_property_get      /* get_property */
+    tt_property_set,  /* FT_Properties_SetFunc set_property */
+    tt_property_get   /* FT_Properties_GetFunc get_property */
   )
 
 
@@ -198,35 +203,35 @@
    *
    *   They can be implemented by format-specific interfaces.
    */
-  static FT_Error
-  tt_get_kerning( FT_Face     ttface,          /* TT_Face */
+  FT_CALLBACK_DEF( FT_Error )
+  tt_get_kerning( FT_Face     face,        /* TT_Face */
                   FT_UInt     left_glyph,
                   FT_UInt     right_glyph,
                   FT_Vector*  kerning )
   {
-    TT_Face       face = (TT_Face)ttface;
-    SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
+    TT_Face       ttface = (TT_Face)face;
+    SFNT_Service  sfnt   = (SFNT_Service)ttface->sfnt;
 
 
     kerning->x = 0;
     kerning->y = 0;
 
     if ( sfnt )
-      kerning->x = sfnt->get_kerning( face, left_glyph, right_glyph );
+      kerning->x = sfnt->get_kerning( ttface, left_glyph, right_glyph );
 
     return 0;
   }
 
 
-  static FT_Error
-  tt_get_advances( FT_Face    ttface,
+  FT_CALLBACK_DEF( FT_Error )
+  tt_get_advances( FT_Face    face,      /* TT_Face */
                    FT_UInt    start,
                    FT_UInt    count,
                    FT_Int32   flags,
                    FT_Fixed  *advances )
   {
     FT_UInt  nn;
-    TT_Face  face = (TT_Face)ttface;
+    TT_Face  ttface = (TT_Face)face;
 
 
     /* XXX: TODO: check for sbits */
@@ -235,8 +240,8 @@
     {
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
       /* no fast retrieval for blended MM fonts without VVAR table */
-      if ( ( FT_IS_NAMED_INSTANCE( ttface ) || FT_IS_VARIATION( ttface ) ) &&
-           !( face->variation_support & TT_FACE_FLAG_VAR_VADVANCE )        )
+      if ( ( FT_IS_NAMED_INSTANCE( face ) || FT_IS_VARIATION( face ) ) &&
+           !( ttface->variation_support & TT_FACE_FLAG_VAR_VADVANCE )  )
         return FT_THROW( Unimplemented_Feature );
 #endif
 
@@ -247,7 +252,7 @@
 
 
         /* since we don't need `tsb', we use zero for `yMax' parameter */
-        TT_Get_VMetrics( face, start + nn, 0, &tsb, &ah );
+        TT_Get_VMetrics( ttface, start + nn, 0, &tsb, &ah );
         advances[nn] = ah;
       }
     }
@@ -255,8 +260,8 @@
     {
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
       /* no fast retrieval for blended MM fonts without HVAR table */
-      if ( ( FT_IS_NAMED_INSTANCE( ttface ) || FT_IS_VARIATION( ttface ) ) &&
-           !( face->variation_support & TT_FACE_FLAG_VAR_HADVANCE )        )
+      if ( ( FT_IS_NAMED_INSTANCE( face ) || FT_IS_VARIATION( face ) ) &&
+           !( ttface->variation_support & TT_FACE_FLAG_VAR_HADVANCE )  )
         return FT_THROW( Unimplemented_Feature );
 #endif
 
@@ -266,7 +271,7 @@
         FT_UShort  aw;
 
 
-        TT_Get_HMetrics( face, start + nn, &lsb, &aw );
+        TT_Get_HMetrics( ttface, start + nn, &lsb, &aw );
         advances[nn] = aw;
       }
     }
@@ -290,7 +295,7 @@
 
 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
 
-  static FT_Error
+  FT_CALLBACK_DEF( FT_Error )
   tt_size_select( FT_Size   size,
                   FT_ULong  strike_index )
   {
@@ -306,7 +311,7 @@
       /* use the scaled metrics, even when tt_size_reset fails */
       FT_Select_Metrics( size->face, strike_index );
 
-      tt_size_reset( ttsize, 0 ); /* ignore return value */
+      tt_size_reset( ttsize ); /* ignore return value */
     }
     else
     {
@@ -327,7 +332,7 @@
 #endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
 
 
-  static FT_Error
+  FT_CALLBACK_DEF( FT_Error )
   tt_size_request( FT_Size          size,
                    FT_Size_Request  req )
   {
@@ -367,7 +372,7 @@
 
     if ( FT_IS_SCALABLE( size->face ) )
     {
-      error = tt_size_reset( ttsize, 0 );
+      error = tt_size_reset( ttsize );
 
 #ifdef TT_USE_BYTECODE_INTERPRETER
       /* for the `MPS' bytecode instruction we need the point size */
@@ -426,15 +431,15 @@
    * @Return:
    *   FreeType error code.  0 means success.
    */
-  static FT_Error
-  tt_glyph_load( FT_GlyphSlot  ttslot,      /* TT_GlyphSlot */
-                 FT_Size       ttsize,      /* TT_Size      */
+  FT_CALLBACK_DEF( FT_Error )
+  tt_glyph_load( FT_GlyphSlot  slot,        /* TT_GlyphSlot */
+                 FT_Size       size,        /* TT_Size      */
                  FT_UInt       glyph_index,
                  FT_Int32      load_flags )
   {
-    TT_GlyphSlot  slot = (TT_GlyphSlot)ttslot;
-    TT_Size       size = (TT_Size)ttsize;
-    FT_Face       face = ttslot->face;
+    TT_GlyphSlot  ttslot = (TT_GlyphSlot)slot;
+    TT_Size       ttsize = (TT_Size)size;
+    FT_Face       face   = ttslot->face;
     FT_Error      error;
 
 
@@ -476,12 +481,12 @@
     }
 
     /* use hinted metrics only if we load a glyph with hinting */
-    size->metrics = ( load_flags & FT_LOAD_NO_HINTING )
-                      ? &ttsize->metrics
-                      : &size->hinted_metrics;
+    ttsize->metrics = ( load_flags & FT_LOAD_NO_HINTING )
+                        ? &size->metrics
+                        : &ttsize->hinted_metrics;
 
     /* now fill in the glyph slot with outline/bitmap/layered */
-    error = TT_Load_Glyph( size, slot, glyph_index, load_flags );
+    error = TT_Load_Glyph( ttsize, ttslot, glyph_index, load_flags );
 
     /* force drop-out mode to 2 - irrelevant now */
     /* slot->outline.dropout_mode = 2; */
@@ -507,49 +512,47 @@
   FT_DEFINE_SERVICE_MULTIMASTERSREC(
     tt_service_gx_multi_masters,
 
-    (FT_Get_MM_Func)        NULL,                  /* get_mm                    */
-    (FT_Set_MM_Design_Func) NULL,                  /* set_mm_design             */
-    (FT_Set_MM_Blend_Func)  TT_Set_MM_Blend,       /* set_mm_blend              */
-    (FT_Get_MM_Blend_Func)  TT_Get_MM_Blend,       /* get_mm_blend              */
-    (FT_Get_MM_Var_Func)    TT_Get_MM_Var,         /* get_mm_var                */
-    (FT_Set_Var_Design_Func)TT_Set_Var_Design,     /* set_var_design            */
-    (FT_Get_Var_Design_Func)TT_Get_Var_Design,     /* get_var_design            */
-    (FT_Set_Instance_Func)  TT_Set_Named_Instance, /* set_instance              */
-    (FT_Set_MM_WeightVector_Func)
-                            NULL,                  /* set_mm_weightvector       */
-    (FT_Get_MM_WeightVector_Func)
-                            NULL,                  /* get_mm_weightvector       */
-    (FT_Var_Load_Delta_Set_Idx_Map_Func)
-                            tt_var_load_delta_set_index_mapping,
-                                                   /* load_delta_set_idx_map    */
-    (FT_Var_Load_Item_Var_Store_Func)
-                            tt_var_load_item_variation_store,
-                                                   /* load_item_variation_store */
-    (FT_Var_Get_Item_Delta_Func)
-                            tt_var_get_item_delta, /* get_item_delta            */
-    (FT_Var_Done_Item_Var_Store_Func)
-                            tt_var_done_item_variation_store,
-                                                   /* done_item_variation_store */
-    (FT_Var_Done_Delta_Set_Idx_Map_Func)
-                            tt_var_done_delta_set_index_map,
-                                                   /* done_delta_set_index_map  */
-    (FT_Get_Var_Blend_Func) tt_get_var_blend,      /* get_var_blend             */
-    (FT_Done_Blend_Func)    tt_done_blend          /* done_blend                */
+    NULL,                  /* FT_Get_MM_Func              get_mm                     */
+    NULL,                  /* FT_Set_MM_Design_Func       set_mm_design              */
+    TT_Set_MM_Blend,       /* FT_Set_MM_Blend_Func        set_mm_blend               */
+    TT_Get_MM_Blend,       /* FT_Get_MM_Blend_Func        get_mm_blend               */
+    TT_Get_MM_Var,         /* FT_Get_MM_Var_Func          get_mm_var                 */
+    TT_Set_Var_Design,     /* FT_Set_Var_Design_Func      set_var_design             */
+    TT_Get_Var_Design,     /* FT_Get_Var_Design_Func      get_var_design             */
+    TT_Set_Named_Instance, /* FT_Set_Named_Instance_Func  set_named_instance         */
+    TT_Get_Default_Named_Instance,
+                    /* FT_Get_Default_Named_Instance_Func get_default_named_instance */
+    NULL,                  /* FT_Set_MM_WeightVector_Func set_mm_weightvector        */
+    NULL,                  /* FT_Get_MM_WeightVector_Func get_mm_weightvector        */
+
+    tt_construct_ps_name,  /* FT_Construct_PS_Name_Func   construct_ps_name          */
+    tt_var_load_delta_set_index_mapping,
+                    /* FT_Var_Load_Delta_Set_Idx_Map_Func load_delta_set_idx_map     */
+    tt_var_load_item_variation_store,
+                    /* FT_Var_Load_Item_Var_Store_Func    load_item_variation_store  */
+    tt_var_get_item_delta, /* FT_Var_Get_Item_Delta_Func  get_item_delta             */
+    tt_var_done_item_variation_store,
+                    /* FT_Var_Done_Item_Var_Store_Func    done_item_variation_store  */
+    tt_var_done_delta_set_index_map,
+                    /* FT_Var_Done_Delta_Set_Idx_Map_Func done_delta_set_index_map   */
+    tt_get_var_blend,      /* FT_Get_Var_Blend_Func       get_var_blend              */
+    tt_done_blend          /* FT_Done_Blend_Func          done_blend                 */
   )
 
   FT_DEFINE_SERVICE_METRICSVARIATIONSREC(
     tt_service_metrics_variations,
 
-    (FT_HAdvance_Adjust_Func)tt_hadvance_adjust,     /* hadvance_adjust */
-    (FT_LSB_Adjust_Func)     NULL,                   /* lsb_adjust      */
-    (FT_RSB_Adjust_Func)     NULL,                   /* rsb_adjust      */
-
-    (FT_VAdvance_Adjust_Func)tt_vadvance_adjust,     /* vadvance_adjust */
-    (FT_TSB_Adjust_Func)     NULL,                   /* tsb_adjust      */
-    (FT_BSB_Adjust_Func)     NULL,                   /* bsb_adjust      */
-    (FT_VOrg_Adjust_Func)    NULL,                   /* vorg_adjust     */
+    tt_hadvance_adjust,   /* FT_HAdvance_Adjust_Func hadvance_adjust */
+    NULL,                 /* FT_LSB_Adjust_Func      lsb_adjust      */
+    NULL,                 /* FT_RSB_Adjust_Func      rsb_adjust      */
+
+    tt_vadvance_adjust,   /* FT_VAdvance_Adjust_Func vadvance_adjust */
+    NULL,                 /* FT_TSB_Adjust_Func      tsb_adjust      */
+    NULL,                 /* FT_BSB_Adjust_Func      bsb_adjust      */
+    NULL,                 /* FT_VOrg_Adjust_Func     vorg_adjust     */
 
-    (FT_Metrics_Adjust_Func) tt_apply_mvar           /* metrics_adjust  */
+    tt_apply_mvar,        /* FT_Metrics_Adjust_Func  metrics_adjust  */
+    tt_size_reset_height  /* FT_Size_Reset_Func      size_reset      */
   )
 
 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c	2024-04-08 05:38:38.000000000 +0000
@@ -35,7 +35,6 @@
 #endif
 
 #include "tterrors.h"
-#include "ttsubpix.h"
 
 
   /**************************************************************************
@@ -152,9 +151,6 @@
                   FT_UInt    glyph_index )
   {
     TT_Face    face   = loader->face;
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    TT_Driver  driver = (TT_Driver)FT_FACE_DRIVER( face );
-#endif
 
     FT_Error   error;
     FT_Stream  stream = loader->stream;
@@ -183,20 +179,6 @@
     loader->top_bearing  = top_bearing;
     loader->vadvance     = advance_height;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 &&
-         loader->exec                                             )
-    {
-      loader->exec->sph_tweak_flags = 0;
-
-      /* This may not be the right place for this, but it works...  */
-      /* Note that we have to unconditionally load the tweaks since */
-      /* it is possible that glyphs individually switch ClearType's */
-      /* backward compatibility mode on and off.                    */
-      sph_set_tweaks( loader, glyph_index );
-    }
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
 #ifdef FT_CONFIG_OPTION_INCREMENTAL
     /* With the incremental interface, these values are set by  */
     /* a call to `tt_get_metrics_incremental'.                  */
@@ -362,17 +344,16 @@
     FT_Byte*        p          = load->cursor;
     FT_Byte*        limit      = load->limit;
     FT_GlyphLoader  gloader    = load->gloader;
+    FT_Outline*     outline    = &gloader->current.outline;
     FT_Int          n_contours = load->n_contours;
-    FT_Outline*     outline;
-    FT_UShort       n_ins;
     FT_Int          n_points;
+    FT_UShort       n_ins;
 
     FT_Byte         *flag, *flag_limit;
     FT_Byte         c, count;
     FT_Vector       *vec, *vec_limit;
     FT_Pos          x, y;
-    FT_Short        *cont, *cont_limit, prev_cont;
-    FT_Int          xy_size = 0;
+    FT_Short        *cont, *cont_limit, last;
 
 
     /* check that we can add the contours to the glyph */
@@ -380,41 +361,27 @@
     if ( error )
       goto Fail;
 
-    /* reading the contours' endpoints & number of points */
-    cont       = gloader->current.outline.contours;
-    cont_limit = cont + n_contours;
-
     /* check space for contours array + instructions count */
-    if ( n_contours >= 0xFFF || p + ( n_contours + 1 ) * 2 > limit )
+    if ( n_contours >= 0xFFF || p + 2 * n_contours + 2 > limit )
       goto Invalid_Outline;
 
-    prev_cont = FT_NEXT_SHORT( p );
-
-    if ( n_contours > 0 )
-      cont[0] = prev_cont;
-
-    if ( prev_cont < 0 )
-      goto Invalid_Outline;
+    /* reading the contours' endpoints & number of points */
+    cont       = outline->contours;
+    cont_limit = cont + n_contours;
 
-    for ( cont++; cont < cont_limit; cont++ )
+    last = -1;
+    for ( ; cont < cont_limit; cont++ )
     {
-      cont[0] = FT_NEXT_SHORT( p );
-      if ( cont[0] <= prev_cont )
-      {
-        /* unordered contours: this is invalid */
-        goto Invalid_Outline;
-      }
-      prev_cont = cont[0];
-    }
+      *cont = FT_NEXT_SHORT( p );
 
-    n_points = 0;
-    if ( n_contours > 0 )
-    {
-      n_points = cont[-1] + 1;
-      if ( n_points < 0 )
+      if ( *cont <= last )
         goto Invalid_Outline;
+
+      last = *cont;
     }
 
+    n_points = last + 1;
+
     FT_TRACE5(( "  # of points: %d\n", n_points ));
 
     /* note that we will add four phantom points later */
@@ -422,59 +389,48 @@
     if ( error )
       goto Fail;
 
-    /* reading the bytecode instructions */
-    load->glyph->control_len  = 0;
-    load->glyph->control_data = NULL;
-
-    if ( p + 2 > limit )
-      goto Invalid_Outline;
-
+    /* space checked above */
     n_ins = FT_NEXT_USHORT( p );
 
     FT_TRACE5(( "  Instructions size: %u\n", n_ins ));
 
+    /* check instructions size */
+    if ( p + n_ins > limit )
+    {
+      FT_TRACE1(( "TT_Load_Simple_Glyph: excessive instruction count\n" ));
+      error = FT_THROW( Too_Many_Hints );
+      goto Fail;
+    }
+
 #ifdef TT_USE_BYTECODE_INTERPRETER
 
     if ( IS_HINTED( load->load_flags ) )
     {
-      FT_ULong  tmp;
+      TT_ExecContext  exec = load->exec;
+      FT_Memory       memory = exec->memory;
 
 
-      /* check instructions size */
-      if ( ( limit - p ) < n_ins )
-      {
-        FT_TRACE1(( "TT_Load_Simple_Glyph: instruction count mismatch\n" ));
-        error = FT_THROW( Too_Many_Hints );
-        goto Fail;
-      }
+      if ( exec->glyphSize )
+        FT_FREE( exec->glyphIns );
+      exec->glyphSize = 0;
 
       /* we don't trust `maxSizeOfInstructions' in the `maxp' table */
-      /* and thus update the bytecode array size by ourselves       */
-
-      tmp   = load->exec->glyphSize;
-      error = Update_Max( load->exec->memory,
-                          &tmp,
-                          sizeof ( FT_Byte ),
-                          (void*)&load->exec->glyphIns,
-                          n_ins );
-
-      load->exec->glyphSize = (FT_UInt)tmp;
-      if ( error )
-        return error;
+      /* and thus allocate the bytecode array size by ourselves     */
+      if ( n_ins )
+      {
+        if ( FT_QNEW_ARRAY( exec->glyphIns, n_ins ) )
+          return error;
 
-      load->glyph->control_len  = n_ins;
-      load->glyph->control_data = load->exec->glyphIns;
+        FT_MEM_COPY( exec->glyphIns, p, (FT_Long)n_ins );
 
-      if ( n_ins )
-        FT_MEM_COPY( load->exec->glyphIns, p, (FT_Long)n_ins );
+        exec->glyphSize  = n_ins;
+      }
     }
 
 #endif /* TT_USE_BYTECODE_INTERPRETER */
 
     p += n_ins;
 
-    outline = &gloader->current.outline;
-
     /* reading the point tags */
     flag       = (FT_Byte*)outline->tags;
     flag_limit = flag + n_points;
@@ -512,9 +468,6 @@
     flag      = (FT_Byte*)outline->tags;
     x         = 0;
 
-    if ( p + xy_size > limit )
-      goto Invalid_Outline;
-
     for ( ; vec < vec_limit; vec++, flag++ )
     {
       FT_Pos   delta = 0;
@@ -544,7 +497,7 @@
 
     /* reading the Y coordinates */
 
-    vec       = gloader->current.outline.points;
+    vec       = outline->points;
     vec_limit = vec + n_points;
     flag      = (FT_Byte*)outline->tags;
     y         = 0;
@@ -827,8 +780,7 @@
   TT_Hint_Glyph( TT_Loader  loader,
                  FT_Bool    is_composite )
   {
-#if defined TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY || \
-    defined TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
     TT_Face    face   = loader->face;
     TT_Driver  driver = (TT_Driver)FT_FACE_DRIVER( face );
 #endif
@@ -836,35 +788,34 @@
     TT_GlyphZone  zone = &loader->zone;
 
 #ifdef TT_USE_BYTECODE_INTERPRETER
-    FT_Long       n_ins;
+    TT_ExecContext  exec  = loader->exec;
+    FT_Long         n_ins = exec->glyphSize;
 #else
     FT_UNUSED( is_composite );
 #endif
 
 
 #ifdef TT_USE_BYTECODE_INTERPRETER
-    n_ins = loader->glyph->control_len;
-
     /* save original point positions in `org' array */
     if ( n_ins > 0 )
       FT_ARRAY_COPY( zone->org, zone->cur, zone->n_points );
 
     /* Reset graphics state. */
-    loader->exec->GS = loader->size->GS;
+    exec->GS = loader->size->GS;
 
     /* XXX: UNDOCUMENTED! Hinting instructions of a composite glyph */
     /*      completely refer to the (already) hinted subglyphs.     */
     if ( is_composite )
     {
-      loader->exec->metrics.x_scale = 1 << 16;
-      loader->exec->metrics.y_scale = 1 << 16;
+      exec->metrics.x_scale = 1 << 16;
+      exec->metrics.y_scale = 1 << 16;
 
       FT_ARRAY_COPY( zone->orus, zone->cur, zone->n_points );
     }
     else
     {
-      loader->exec->metrics.x_scale = loader->size->metrics->x_scale;
-      loader->exec->metrics.y_scale = loader->size->metrics->y_scale;
+      exec->metrics.x_scale = loader->size->metrics->x_scale;
+      exec->metrics.y_scale = loader->size->metrics->y_scale;
     }
 #endif
 
@@ -884,53 +835,37 @@
     {
       FT_Error  error;
 
-      FT_GlyphLoader  gloader         = loader->gloader;
-      FT_Outline      current_outline = gloader->current.outline;
-
 
-      TT_Set_CodeRange( loader->exec, tt_coderange_glyph,
-                        loader->exec->glyphIns, n_ins );
+      TT_Set_CodeRange( exec, tt_coderange_glyph, exec->glyphIns, n_ins );
 
-      loader->exec->is_composite = is_composite;
-      loader->exec->pts          = *zone;
+      exec->is_composite = is_composite;
+      exec->pts          = *zone;
 
-      error = TT_Run_Context( loader->exec );
-      if ( error && loader->exec->pedantic_hinting )
+      error = TT_Run_Context( exec );
+      if ( error && exec->pedantic_hinting )
         return error;
 
       /* store drop-out mode in bits 5-7; set bit 2 also as a marker */
-      current_outline.tags[0] |=
-        ( loader->exec->GS.scan_type << 5 ) | FT_CURVE_TAG_HAS_SCANMODE;
+      loader->gloader->current.outline.tags[0] |=
+        ( exec->GS.scan_type << 5 ) | FT_CURVE_TAG_HAS_SCANMODE;
     }
 
 #endif
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
     /* Save possibly modified glyph phantom points unless in v40 backward  */
     /* compatibility mode, where no movement on the x axis means no reason */
     /* to change bearings or advance widths.                               */
-    if ( !( driver->interpreter_version == TT_INTERPRETER_VERSION_40 &&
-            loader->exec->backward_compatibility ) )
-    {
-#endif
-      loader->pp1 = zone->cur[zone->n_points - 4];
-      loader->pp2 = zone->cur[zone->n_points - 3];
-      loader->pp3 = zone->cur[zone->n_points - 2];
-      loader->pp4 = zone->cur[zone->n_points - 1];
+
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
-    }
+    if ( driver->interpreter_version == TT_INTERPRETER_VERSION_40 &&
+         exec->backward_compatibility )
+      return FT_Err_Ok;
 #endif
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 )
-    {
-      if ( loader->exec->sph_tweak_flags & SPH_TWEAK_DEEMBOLDEN )
-        FT_Outline_EmboldenXY( &loader->gloader->current.outline, -24, 0 );
-
-      else if ( loader->exec->sph_tweak_flags & SPH_TWEAK_EMBOLDEN )
-        FT_Outline_EmboldenXY( &loader->gloader->current.outline, 24, 0 );
-    }
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
+    loader->pp1 = zone->cur[zone->n_points - 4];
+    loader->pp2 = zone->cur[zone->n_points - 3];
+    loader->pp3 = zone->cur[zone->n_points - 2];
+    loader->pp4 = zone->cur[zone->n_points - 1];
 
     return FT_Err_Ok;
   }
@@ -949,10 +884,10 @@
   static FT_Error
   TT_Process_Simple_Glyph( TT_Loader  loader )
   {
-    FT_GlyphLoader  gloader = loader->gloader;
-    FT_Error        error   = FT_Err_Ok;
-    FT_Outline*     outline;
-    FT_Int          n_points;
+    FT_Error        error    = FT_Err_Ok;
+    FT_GlyphLoader  gloader  = loader->gloader;
+    FT_Outline*     outline  = &gloader->current.outline;
+    FT_Int          n_points = outline->n_points;
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
     FT_Memory   memory    = loader->face->root.memory;
@@ -960,11 +895,7 @@
 #endif
 
 
-    outline  = &gloader->current.outline;
-    n_points = outline->n_points;
-
     /* set phantom points */
-
     outline->points[n_points    ] = loader->pp1;
     outline->points[n_points + 1] = loader->pp2;
     outline->points[n_points + 2] = loader->pp3;
@@ -976,7 +907,7 @@
 
     if ( !IS_DEFAULT_INSTANCE( FT_FACE( loader->face ) ) )
     {
-      if ( FT_NEW_ARRAY( unrounded, n_points ) )
+      if ( FT_QNEW_ARRAY( unrounded, n_points ) )
         goto Exit;
 
       /* Deltas apply to the unscaled data. */
@@ -998,16 +929,6 @@
     }
 
     {
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      TT_Face    face   = loader->face;
-      TT_Driver  driver = (TT_Driver)FT_FACE_DRIVER( face );
-
-      FT_String*  family         = face->root.family_name;
-      FT_UInt     ppem           = loader->size->metrics->x_ppem;
-      FT_String*  style          = face->root.style_name;
-      FT_UInt     x_scale_factor = 1000;
-#endif
-
       FT_Vector*  vec   = outline->points;
       FT_Vector*  limit = outline->points + n_points;
 
@@ -1017,52 +938,6 @@
       FT_Bool  do_scale = FALSE;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-
-      if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 )
-      {
-        /* scale, but only if enabled and only if TT hinting is being used */
-        if ( IS_HINTED( loader->load_flags ) )
-          x_scale_factor = sph_test_tweak_x_scaling( face,
-                                                     family,
-                                                     ppem,
-                                                     style,
-                                                     loader->glyph_index );
-        /* scale the glyph */
-        if ( ( loader->load_flags & FT_LOAD_NO_SCALE ) == 0 ||
-             x_scale_factor != 1000                         )
-        {
-          x_scale = FT_MulDiv( loader->size->metrics->x_scale,
-                               (FT_Long)x_scale_factor, 1000 );
-          y_scale = loader->size->metrics->y_scale;
-
-          /* compensate for any scaling by de/emboldening; */
-          /* the amount was determined via experimentation */
-          if ( x_scale_factor != 1000 && ppem > 11 )
-          {
-#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
-            FT_Vector*  orig_points = outline->points;
-
-
-            if ( !IS_DEFAULT_INSTANCE( FT_FACE( loader->face ) ) )
-              outline->points = unrounded;
-#endif
-            FT_Outline_EmboldenXY( outline,
-                                   FT_MulFix( 1280 * ppem,
-                                              1000 - x_scale_factor ),
-                                   0 );
-#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
-            if ( !IS_DEFAULT_INSTANCE( FT_FACE( loader->face ) ) )
-              outline->points = orig_points;
-#endif
-          }
-          do_scale = TRUE;
-        }
-      }
-      else
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       {
         /* scale the glyph */
         if ( ( loader->load_flags & FT_LOAD_NO_SCALE ) == 0 )
@@ -1331,12 +1206,12 @@
                               FT_UInt    start_contour )
   {
     FT_Error     error;
-    FT_Outline*  outline;
+    FT_Outline*  outline = &loader->gloader->base.outline;
+    FT_Stream    stream = loader->stream;
+    FT_UShort    n_ins;
     FT_UInt      i;
 
 
-    outline = &loader->gloader->base.outline;
-
     /* make room for phantom points */
     error = FT_GLYPHLOADER_CHECK_POINTS( loader->gloader,
                                          outline->n_points + 4,
@@ -1352,10 +1227,13 @@
 #ifdef TT_USE_BYTECODE_INTERPRETER
 
     {
-      FT_Stream  stream = loader->stream;
-      FT_UShort  n_ins, max_ins;
-      FT_ULong   tmp;
+      TT_ExecContext  exec = loader->exec;
+      FT_Memory       memory = exec->memory;
+
 
+      if ( exec->glyphSize )
+        FT_FREE( exec->glyphIns );
+      exec->glyphSize = 0;
 
       /* TT_Load_Composite_Glyph only gives us the offset of instructions */
       /* so we read them here                                             */
@@ -1365,39 +1243,24 @@
 
       FT_TRACE5(( "  Instructions size = %hu\n", n_ins ));
 
-      /* check it */
-      max_ins = loader->face->max_profile.maxSizeOfInstructions;
-      if ( n_ins > max_ins )
-      {
-        /* don't trust `maxSizeOfInstructions'; */
-        /* only do a rough safety check         */
-        if ( n_ins > loader->byte_len )
-        {
-          FT_TRACE1(( "TT_Process_Composite_Glyph:"
-                      " too many instructions (%hu) for glyph with length %u\n",
-                      n_ins, loader->byte_len ));
-          return FT_THROW( Too_Many_Hints );
-        }
-
-        tmp   = loader->exec->glyphSize;
-        error = Update_Max( loader->exec->memory,
-                            &tmp,
-                            sizeof ( FT_Byte ),
-                            (void*)&loader->exec->glyphIns,
-                            n_ins );
+      if ( !n_ins )
+        return FT_Err_Ok;
 
-        loader->exec->glyphSize = (FT_UShort)tmp;
-        if ( error )
-          return error;
+      /* don't trust `maxSizeOfInstructions'; */
+      /* only do a rough safety check         */
+      if ( n_ins > loader->byte_len )
+      {
+        FT_TRACE1(( "TT_Process_Composite_Glyph:"
+                    " too many instructions (%hu) for glyph with length %u\n",
+                    n_ins, loader->byte_len ));
+        return FT_THROW( Too_Many_Hints );
       }
-      else if ( n_ins == 0 )
-        return FT_Err_Ok;
 
-      if ( FT_STREAM_READ( loader->exec->glyphIns, n_ins ) )
+      if ( FT_QNEW_ARRAY( exec->glyphIns, n_ins )  ||
+           FT_STREAM_READ( exec->glyphIns, n_ins ) )
         return error;
 
-      loader->glyph->control_data = loader->exec->glyphIns;
-      loader->glyph->control_len  = n_ins;
+      exec->glyphSize = n_ins;
     }
 
 #endif
@@ -1501,45 +1364,31 @@
   static void
   tt_loader_set_pp( TT_Loader  loader )
   {
-    FT_Bool  subpixel_hinting = 0;
-    FT_Bool  grayscale        = 0;
-    FT_Bool  use_aw_2         = 0;
-
-#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
-    TT_Driver driver = (TT_Driver)FT_FACE_DRIVER( loader->face );
-#endif
-
-
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 )
-    {
-      subpixel_hinting = loader->exec ? loader->exec->subpixel_hinting
-                                      : 0;
-      grayscale        = loader->exec ? loader->exec->grayscale
-                                      : 0;
-    }
-#endif
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
-    if ( driver->interpreter_version == TT_INTERPRETER_VERSION_40 )
-    {
-      subpixel_hinting = loader->exec ? loader->exec->subpixel_hinting_lean
-                                      : 0;
-      grayscale        = loader->exec ? loader->exec->grayscale_cleartype
-                                      : 0;
-    }
-#endif
-
-    use_aw_2 = FT_BOOL( subpixel_hinting && grayscale );
-
     loader->pp1.x = loader->bbox.xMin - loader->left_bearing;
     loader->pp1.y = 0;
     loader->pp2.x = loader->pp1.x + loader->advance;
     loader->pp2.y = 0;
 
-    loader->pp3.x = use_aw_2 ? loader->advance / 2 : 0;
+    loader->pp3.x = 0;
     loader->pp3.y = loader->bbox.yMax + loader->top_bearing;
-    loader->pp4.x = use_aw_2 ? loader->advance / 2 : 0;
+    loader->pp4.x = 0;
     loader->pp4.y = loader->pp3.y - loader->vadvance;
+
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
+    {
+      TT_Driver driver = (TT_Driver)FT_FACE_DRIVER( loader->face );
+
+
+      if ( driver->interpreter_version == TT_INTERPRETER_VERSION_40 &&
+           loader->exec                                             &&
+           loader->exec->subpixel_hinting_lean                      &&
+           loader->exec->grayscale_cleartype                        )
+      {
+        loader->pp3.x = loader->advance / 2;
+        loader->pp4.x = loader->advance / 2;
+      }
+    }
+#endif
   }
 
 
@@ -1662,8 +1511,14 @@
     else
 
 #endif /* FT_CONFIG_OPTION_INCREMENTAL */
+    {
+      FT_ULong  len;
 
-      offset = tt_face_get_location( face, glyph_index, &loader->byte_len );
+
+      offset = tt_face_get_location( FT_FACE( face ), glyph_index, &len );
+
+      loader->byte_len = (FT_UInt)len;
+    }
 
     if ( loader->byte_len > 0 )
     {
@@ -1889,10 +1744,7 @@
         short        i, limit;
         FT_SubGlyph  subglyph;
 
-        FT_Outline  outline;
-        FT_Vector*  points    = NULL;
-        char*       tags      = NULL;
-        short*      contours  = NULL;
+        FT_Outline  outline = { 0, 0, NULL, NULL, NULL, 0 };
         FT_Vector*  unrounded = NULL;
 
 
@@ -1900,18 +1752,14 @@
 
         /* construct an outline structure for              */
         /* communication with `TT_Vary_Apply_Glyph_Deltas' */
-        outline.n_contours = outline.n_points = limit;
-
-        outline.points   = NULL;
-        outline.tags     = NULL;
-        outline.contours = NULL;
-
-        if ( FT_NEW_ARRAY( points, limit + 4 )    ||
-             FT_NEW_ARRAY( tags, limit + 4 )      ||
-             FT_NEW_ARRAY( contours, limit + 4 )  ||
-             FT_NEW_ARRAY( unrounded, limit + 4 ) )
+        if ( FT_QNEW_ARRAY( outline.points, limit + 4 ) ||
+             FT_QNEW_ARRAY( outline.tags, limit )       ||
+             FT_QNEW_ARRAY( outline.contours, limit )   ||
+             FT_QNEW_ARRAY( unrounded, limit + 4 )      )
           goto Exit1;
 
+        outline.n_contours = outline.n_points = limit;
+
         subglyph = gloader->current.subglyphs;
 
         for ( i = 0; i < limit; i++, subglyph++ )
@@ -1919,20 +1767,16 @@
           /* applying deltas for anchor points doesn't make sense, */
           /* but we don't have to specially check this since       */
           /* unused delta values are zero anyways                  */
-          points[i].x = subglyph->arg1;
-          points[i].y = subglyph->arg2;
-          tags[i]     = 1;
-          contours[i] = i;
+          outline.points[i].x = subglyph->arg1;
+          outline.points[i].y = subglyph->arg2;
+          outline.tags[i]     = ON_CURVE_POINT;
+          outline.contours[i] = i;
         }
 
-        points[i++] = loader->pp1;
-        points[i++] = loader->pp2;
-        points[i++] = loader->pp3;
-        points[i  ] = loader->pp4;
-
-        outline.points   = points;
-        outline.tags     = tags;
-        outline.contours = contours;
+        outline.points[i++] = loader->pp1;
+        outline.points[i++] = loader->pp2;
+        outline.points[i++] = loader->pp3;
+        outline.points[i  ] = loader->pp4;
 
         /* this call provides additional offsets */
         /* for each component's translation      */
@@ -1947,8 +1791,8 @@
         {
           if ( subglyph->flags & ARGS_ARE_XY_VALUES )
           {
-            subglyph->arg1 = (FT_Int16)points[i].x;
-            subglyph->arg2 = (FT_Int16)points[i].y;
+            subglyph->arg1 = (FT_Int16)outline.points[i].x;
+            subglyph->arg2 = (FT_Int16)outline.points[i].y;
           }
         }
 
@@ -2332,8 +2176,7 @@
 #ifdef TT_USE_BYTECODE_INTERPRETER
     FT_Error   error;
     FT_Bool    pedantic = FT_BOOL( load_flags & FT_LOAD_PEDANTIC );
-#if defined TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY || \
-    defined TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
     TT_Driver  driver   = (TT_Driver)FT_FACE_DRIVER( glyph->face );
 #endif
 #endif
@@ -2353,20 +2196,6 @@
       FT_Bool         grayscale_cleartype;
 #endif
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      FT_Bool  subpixel_hinting = FALSE;
-
-#if 0
-      /* not used yet */
-      FT_Bool  compatible_widths;
-      FT_Bool  symmetrical_smoothing;
-      FT_Bool  bgr;
-      FT_Bool  vertical_lcd;
-      FT_Bool  subpixel_positioned;
-      FT_Bool  gray_cleartype;
-#endif
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       FT_Bool  reexecute = FALSE;
 
 
@@ -2386,6 +2215,9 @@
       if ( !exec )
         return FT_THROW( Could_Not_Find_Context );
 
+      grayscale = FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
+                             FT_RENDER_MODE_MONO             );
+
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
       if ( driver->interpreter_version == TT_INTERPRETER_VERSION_40 )
       {
@@ -2402,6 +2234,7 @@
           FT_BOOL( subpixel_hinting_lean    &&
                    ( load_flags           &
                      FT_LOAD_TARGET_LCD_V ) );
+        grayscale = FT_BOOL( grayscale && !subpixel_hinting_lean );
       }
       else
       {
@@ -2411,111 +2244,11 @@
       }
 #endif
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-
-      if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 )
-      {
-        subpixel_hinting = FT_BOOL( ( FT_LOAD_TARGET_MODE( load_flags ) !=
-                                      FT_RENDER_MODE_MONO               )  &&
-                                    SPH_OPTION_SET_SUBPIXEL                );
-
-        if ( subpixel_hinting )
-          grayscale = FALSE;
-        else if ( SPH_OPTION_SET_GRAYSCALE )
-        {
-          grayscale        = TRUE;
-          subpixel_hinting = FALSE;
-        }
-        else
-          grayscale = FALSE;
-
-        if ( FT_IS_TRICKY( glyph->face ) )
-          subpixel_hinting = FALSE;
-
-        exec->ignore_x_mode      = subpixel_hinting || grayscale;
-        exec->rasterizer_version = SPH_OPTION_SET_RASTERIZER_VERSION;
-        if ( exec->sph_tweak_flags & SPH_TWEAK_RASTERIZER_35 )
-          exec->rasterizer_version = TT_INTERPRETER_VERSION_35;
-
-#if 1
-        exec->compatible_widths     = SPH_OPTION_SET_COMPATIBLE_WIDTHS;
-        exec->symmetrical_smoothing = TRUE;
-        exec->bgr                   = FALSE;
-        exec->vertical_lcd          = FALSE;
-        exec->subpixel_positioned   = TRUE;
-        exec->gray_cleartype        = FALSE;
-#else /* 0 */
-        exec->compatible_widths =
-          FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
-                   TT_LOAD_COMPATIBLE_WIDTHS );
-        exec->symmetrical_smoothing =
-          FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
-                   TT_LOAD_SYMMETRICAL_SMOOTHING );
-        exec->bgr =
-          FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
-                   TT_LOAD_BGR );
-        exec->vertical_lcd =
-          FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
-                   TT_LOAD_VERTICAL_LCD );
-        exec->subpixel_positioned =
-          FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
-                   TT_LOAD_SUBPIXEL_POSITIONED );
-        exec->gray_cleartype =
-          FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
-                   TT_LOAD_GRAY_CLEARTYPE );
-#endif /* 0 */
-
-      }
-      else
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
-      if ( driver->interpreter_version == TT_INTERPRETER_VERSION_40 )
-        grayscale = FT_BOOL( !subpixel_hinting_lean               &&
-                             FT_LOAD_TARGET_MODE( load_flags ) !=
-                               FT_RENDER_MODE_MONO                );
-      else
-#endif
-        grayscale = FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) !=
-                               FT_RENDER_MODE_MONO             );
-
       error = TT_Load_Context( exec, face, size );
       if ( error )
         return error;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-
-      if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 )
       {
-        /* a change from mono to subpixel rendering (and vice versa) */
-        /* requires a re-execution of the CVT program                */
-        if ( subpixel_hinting != exec->subpixel_hinting )
-        {
-          FT_TRACE4(( "tt_loader_init: subpixel hinting change,"
-                      " re-executing `prep' table\n" ));
-
-          exec->subpixel_hinting = subpixel_hinting;
-          reexecute              = TRUE;
-        }
-
-        /* a change from mono to grayscale rendering (and vice versa) */
-        /* requires a re-execution of the CVT program                 */
-        if ( grayscale != exec->grayscale )
-        {
-          FT_TRACE4(( "tt_loader_init: grayscale hinting change,"
-                      " re-executing `prep' table\n" ));
-
-          exec->grayscale = grayscale;
-          reexecute       = TRUE;
-        }
-      }
-      else
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
-      {
-
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
         if ( driver->interpreter_version == TT_INTERPRETER_VERSION_40 )
         {
@@ -2573,14 +2306,6 @@
       if ( exec->GS.instruct_control & 2 )
         exec->GS = tt_default_graphics_state;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      /* check whether we have a font hinted for ClearType --           */
-      /* note that this flag can also be modified in a glyph's bytecode */
-      if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 &&
-           exec->GS.instruct_control & 4                            )
-        exec->ignore_x_mode = FALSE;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
       /*
        * Toggle backward compatibility according to what font wants, except
@@ -2617,13 +2342,6 @@
            !( driver->interpreter_version == TT_INTERPRETER_VERSION_40  &&
               exec->backward_compatibility                              ) &&
 #endif
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-           !( driver->interpreter_version == TT_INTERPRETER_VERSION_38  &&
-              !SPH_OPTION_BITMAP_WIDTHS                                 &&
-              FT_LOAD_TARGET_MODE( loader->load_flags ) !=
-                                                   FT_RENDER_MODE_MONO  &&
-              exec->compatible_widths                                   ) &&
-#endif
            !face->postscript.isFixedPitch                                 )
       {
         loader->widthp = size->widthp;
@@ -2857,7 +2575,9 @@
 #ifdef FT_CONFIG_OPTION_SVG
 
     /* check for OT-SVG */
-    if ( ( load_flags & FT_LOAD_COLOR ) && face->svg )
+    if ( ( load_flags & FT_LOAD_NO_SVG ) == 0 &&
+         ( load_flags & FT_LOAD_COLOR )       &&
+         face->svg                            )
     {
       SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
 
@@ -2955,6 +2675,9 @@
 
       if ( IS_HINTED( load_flags ) )
       {
+        glyph->control_data = loader.exec->glyphIns;
+        glyph->control_len  = loader.exec->glyphSize;
+
         if ( loader.exec->GS.scan_control )
         {
           /* convert scan conversion mode to FT_OUTLINE_XXX flags */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c	2024-04-08 05:38:38.000000000 +0000
@@ -45,6 +45,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -465,7 +466,7 @@
     if ( store_offset )
     {
       error = tt_var_load_item_variation_store(
-                face,
+                FT_FACE( face ),
                 table_offset + store_offset,
                 &table->itemStore );
       if ( error )
@@ -475,7 +476,7 @@
     if ( axisMap_offset )
     {
       error = tt_var_load_delta_set_index_mapping(
-                face,
+                FT_FACE( face ),
                 table_offset + axisMap_offset,
                 &table->axisMap,
                 &table->itemStore,
@@ -492,10 +493,11 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  tt_var_load_item_variation_store( TT_Face          face,
+  tt_var_load_item_variation_store( FT_Face          face,      /* TT_Face */
                                     FT_ULong         offset,
                                     GX_ItemVarStore  itemStore )
   {
+    TT_Face    ttface = (TT_Face)face;
     FT_Stream  stream = FT_FACE_STREAM( face );
     FT_Memory  memory = stream->memory;
 
@@ -507,10 +509,10 @@
     FT_UShort  axis_count;
     FT_UInt    region_count;
 
-    FT_UInt  i, j, k;
+    FT_UInt  i, j;
     FT_Bool  long_words;
 
-    GX_Blend   blend           = face->blend;
+    GX_Blend   blend           = ttface->blend;
     FT_ULong*  dataOffsetArray = NULL;
 
 
@@ -619,9 +621,10 @@
     {
       GX_ItemVarData  varData = &itemStore->varData[i];
 
-      FT_UInt  item_count;
-      FT_UInt  word_delta_count;
-      FT_UInt  region_idx_count;
+      FT_UInt    item_count;
+      FT_UShort  word_delta_count;
+      FT_UInt    region_idx_count;
+      FT_UInt    per_region_size;
 
 
       if ( FT_STREAM_SEEK( offset + dataOffsetArray[i] ) )
@@ -658,6 +661,8 @@
       if ( FT_NEW_ARRAY( varData->regionIndices, region_idx_count ) )
         goto Exit;
       varData->regionIdxCount = region_idx_count;
+      varData->wordDeltaCount = word_delta_count;
+      varData->longWords      = long_words;
 
       for ( j = 0; j < varData->regionIdxCount; j++ )
       {
@@ -673,37 +678,22 @@
         }
       }
 
-      /* Parse delta set.                                                  */
-      /*                                                                   */
-      /* On input, deltas are (word_delta_count + region_idx_count) bytes  */
-      /* each if `long_words` isn't set, and twice as much otherwise.      */
-      /*                                                                   */
-      /* On output, deltas are expanded to `region_idx_count` shorts each. */
-      if ( FT_NEW_ARRAY( varData->deltaSet, item_count * region_idx_count ) )
-        goto Exit;
-      varData->itemCount = item_count;
+      per_region_size = word_delta_count + region_idx_count;
+      if ( long_words )
+        per_region_size *= 2;
 
-      for ( j = 0; j < item_count * region_idx_count; )
+      if ( FT_NEW_ARRAY( varData->deltaSet, per_region_size * item_count ) )
+        goto Exit;
+      if ( FT_Stream_Read( stream,
+                           varData->deltaSet,
+                           per_region_size * item_count ) )
       {
-        if ( long_words )
-        {
-          for ( k = 0; k < word_delta_count; k++, j++ )
-            if ( FT_READ_LONG( varData->deltaSet[j] ) )
-              goto Exit;
-          for ( ; k < region_idx_count; k++, j++ )
-            if ( FT_READ_SHORT( varData->deltaSet[j] ) )
-              goto Exit;
-        }
-        else
-        {
-          for ( k = 0; k < word_delta_count; k++, j++ )
-            if ( FT_READ_SHORT( varData->deltaSet[j] ) )
-              goto Exit;
-          for ( ; k < region_idx_count; k++, j++ )
-            if ( FT_READ_CHAR( varData->deltaSet[j] ) )
-              goto Exit;
-        }
+        FT_TRACE2(( "deltaSet read failed." ));
+        error = FT_THROW( Invalid_Table );
+        goto Exit;
       }
+
+      varData->itemCount = item_count;
     }
 
   Exit:
@@ -714,7 +704,7 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  tt_var_load_delta_set_index_mapping( TT_Face            face,
+  tt_var_load_delta_set_index_mapping( FT_Face            face, /* TT_Face */
                                        FT_ULong           offset,
                                        GX_DeltaSetIdxMap  map,
                                        GX_ItemVarStore    itemStore,
@@ -941,7 +931,7 @@
     }
 
     error = tt_var_load_item_variation_store(
-              face,
+              FT_FACE( face ),
               table_offset + store_offset,
               &table->itemStore );
     if ( error )
@@ -950,7 +940,7 @@
     if ( widthMap_offset )
     {
       error = tt_var_load_delta_set_index_mapping(
-                face,
+                FT_FACE( face ),
                 table_offset + widthMap_offset,
                 &table->widthMap,
                 &table->itemStore,
@@ -992,24 +982,30 @@
 
 
   FT_LOCAL_DEF( FT_ItemVarDelta )
-  tt_var_get_item_delta( TT_Face          face,
+  tt_var_get_item_delta( FT_Face          face,        /* TT_Face */
                          GX_ItemVarStore  itemStore,
                          FT_UInt          outerIndex,
                          FT_UInt          innerIndex )
   {
+    TT_Face    ttface = (TT_Face)face;
     FT_Stream  stream = FT_FACE_STREAM( face );
     FT_Memory  memory = stream->memory;
     FT_Error   error  = FT_Err_Ok;
 
     GX_ItemVarData    varData;
-    FT_ItemVarDelta*  deltaSet;
+    FT_ItemVarDelta*  deltaSet = NULL;
+    FT_ItemVarDelta   deltaSetStack[16];
+
+    FT_Fixed*  scalars = NULL;
+    FT_Fixed   scalarsStack[16];
 
     FT_UInt          master, j;
-    FT_Fixed*        scalars = NULL;
-    FT_ItemVarDelta  returnValue;
+    FT_ItemVarDelta  returnValue = 0;
+    FT_UInt          per_region_size;
+    FT_Byte*         bytes;
 
 
-    if ( !face->blend || !face->blend->normalizedcoords )
+    if ( !ttface->blend || !ttface->blend->normalizedcoords )
       return 0;
 
     /* OpenType 1.8.4+: No variation data for this item */
@@ -1023,15 +1019,48 @@
     if ( outerIndex >= itemStore->dataCount )
       return 0; /* Out of range. */
 
-    varData  = &itemStore->varData[outerIndex];
-    deltaSet = FT_OFFSET( varData->deltaSet,
-                          varData->regionIdxCount * innerIndex );
+    varData = &itemStore->varData[outerIndex];
 
     if ( innerIndex >= varData->itemCount )
       return 0; /* Out of range. */
 
-    if ( FT_QNEW_ARRAY( scalars, varData->regionIdxCount ) )
-      return 0;
+    if ( varData->regionIdxCount < 16 )
+    {
+      deltaSet = deltaSetStack;
+      scalars  = scalarsStack;
+    }
+    else
+    {
+      if ( FT_QNEW_ARRAY( deltaSet, varData->regionIdxCount ) )
+        goto Exit;
+      if ( FT_QNEW_ARRAY( scalars, varData->regionIdxCount ) )
+        goto Exit;
+    }
+
+    /* Parse delta set.                                            */
+    /*                                                             */
+    /* Deltas are (word_delta_count + region_idx_count) bytes each */
+    /* if `longWords` isn't set, and twice as much otherwise.      */
+    per_region_size = varData->wordDeltaCount + varData->regionIdxCount;
+    if ( varData->longWords )
+      per_region_size *= 2;
+
+    bytes = varData->deltaSet + per_region_size * innerIndex;
+
+    if ( varData->longWords )
+    {
+      for ( master = 0; master < varData->wordDeltaCount; master++ )
+        deltaSet[master] = FT_NEXT_LONG( bytes );
+      for ( ; master < varData->regionIdxCount; master++ )
+        deltaSet[master] = FT_NEXT_SHORT( bytes );
+    }
+    else
+    {
+      for ( master = 0; master < varData->wordDeltaCount; master++ )
+        deltaSet[master] = FT_NEXT_SHORT( bytes );
+      for ( ; master < varData->regionIdxCount; master++ )
+        deltaSet[master] = FT_NEXT_CHAR( bytes );
+    }
 
     /* outer loop steps through master designs to be blended */
     for ( master = 0; master < varData->regionIdxCount; master++ )
@@ -1060,27 +1089,27 @@
         else if ( axis->peakCoord == 0 )
           continue;
 
-        else if ( face->blend->normalizedcoords[j] == axis->peakCoord )
+        else if ( ttface->blend->normalizedcoords[j] == axis->peakCoord )
           continue;
 
         /* ignore this region if coords are out of range */
-        else if ( face->blend->normalizedcoords[j] <= axis->startCoord ||
-                  face->blend->normalizedcoords[j] >= axis->endCoord   )
+        else if ( ttface->blend->normalizedcoords[j] <= axis->startCoord ||
+                  ttface->blend->normalizedcoords[j] >= axis->endCoord   )
         {
           scalar = 0;
           break;
         }
 
         /* cumulative product of all the axis scalars */
-        else if ( face->blend->normalizedcoords[j] < axis->peakCoord )
+        else if ( ttface->blend->normalizedcoords[j] < axis->peakCoord )
           scalar =
             FT_MulDiv( scalar,
-                       face->blend->normalizedcoords[j] - axis->startCoord,
+                       ttface->blend->normalizedcoords[j] - axis->startCoord,
                        axis->peakCoord - axis->startCoord );
         else
           scalar =
             FT_MulDiv( scalar,
-                       axis->endCoord - face->blend->normalizedcoords[j],
+                       axis->endCoord - ttface->blend->normalizedcoords[j],
                        axis->endCoord - axis->peakCoord );
 
       } /* per-axis loop */
@@ -1106,7 +1135,11 @@
      */
     returnValue = FT_MulAddFix( scalars, deltaSet, varData->regionIdxCount );
 
-    FT_FREE( scalars );
+  Exit:
+    if ( scalars != scalarsStack )
+      FT_FREE( scalars );
+    if ( deltaSet != deltaSetStack )
+      FT_FREE( deltaSet );
 
     return returnValue;
   }
@@ -1206,7 +1239,7 @@
       innerIndex = gindex;
     }
 
-    delta = tt_var_get_item_delta( face,
+    delta = tt_var_get_item_delta( FT_FACE( face ),
                                    &table->itemStore,
                                    outerIndex,
                                    innerIndex );
@@ -1229,20 +1262,20 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  tt_hadvance_adjust( TT_Face  face,
+  tt_hadvance_adjust( FT_Face  face,    /* TT_Face */
                       FT_UInt  gindex,
                       FT_Int  *avalue )
   {
-    return tt_hvadvance_adjust( face, gindex, avalue, 0 );
+    return tt_hvadvance_adjust( (TT_Face)face, gindex, avalue, 0 );
   }
 
 
   FT_LOCAL_DEF( FT_Error )
-  tt_vadvance_adjust( TT_Face  face,
+  tt_vadvance_adjust( FT_Face  face,    /* TT_Face */
                       FT_UInt  gindex,
                       FT_Int  *avalue )
   {
-    return tt_hvadvance_adjust( face, gindex, avalue, 1 );
+    return tt_hvadvance_adjust( (TT_Face)face, gindex, avalue, 1 );
   }
 
 
@@ -1389,7 +1422,7 @@
     records_offset = FT_STREAM_POS();
 
     error = tt_var_load_item_variation_store(
-              face,
+              FT_FACE( face ),
               table_offset + store_offset,
               &blend->mvar_table->itemStore );
     if ( error )
@@ -1462,15 +1495,14 @@
 
 
   static FT_Error
-  tt_size_reset_iterator( FT_ListNode  node,
+  ft_size_reset_iterator( FT_ListNode  node,
                           void*        user )
   {
-    TT_Size  size = (TT_Size)node->data;
-
-    FT_UNUSED( user );
+    FT_Size                       size = (FT_Size)node->data;
+    FT_Service_MetricsVariations  var  = (FT_Service_MetricsVariations)user;
 
 
-    tt_size_reset( size, 1 );
+    var->size_reset( size );
 
     return FT_Err_Ok;
   }
@@ -1489,16 +1521,19 @@
    *     The font face.
    */
   FT_LOCAL_DEF( void )
-  tt_apply_mvar( TT_Face  face )
+  tt_apply_mvar( FT_Face  face )  /* TT_Face */
   {
-    GX_Blend  blend = face->blend;
+    TT_Face  ttface = (TT_Face)face;
+
+    GX_Blend  blend = ttface->blend;
     GX_Value  value, limit;
+
     FT_Short  mvar_hasc_delta = 0;
     FT_Short  mvar_hdsc_delta = 0;
     FT_Short  mvar_hlgp_delta = 0;
 
 
-    if ( !( face->variation_support & TT_FACE_FLAG_VAR_MVAR ) )
+    if ( !( ttface->variation_support & TT_FACE_FLAG_VAR_MVAR ) )
       return;
 
     value = blend->mvar_table->values;
@@ -1506,7 +1541,7 @@
 
     for ( ; value < limit; value++ )
     {
-      FT_Short*  p = ft_var_get_value_pointer( face, value->tag );
+      FT_Short*  p = ft_var_get_value_pointer( ttface, value->tag );
       FT_Int     delta;
 
 
@@ -1543,7 +1578,8 @@
 
     /* adjust all derived values */
     {
-      FT_Face  root = &face->root;
+      FT_Service_MetricsVariations  var =
+        (FT_Service_MetricsVariations)ttface->face_var;
 
       /*
        * Apply the deltas of hasc, hdsc and hlgp to the FT_Face's ascender,
@@ -1571,24 +1607,25 @@
        *    whether they were actually changed or the font had the OS/2 table's
        *    fsSelection's bit 7 (USE_TYPO_METRICS) set.
        */
-      FT_Short  current_line_gap = root->height - root->ascender +
-                                   root->descender;
+      FT_Short  current_line_gap = face->height - face->ascender +
+                                   face->descender;
 
 
-      root->ascender  = root->ascender + mvar_hasc_delta;
-      root->descender = root->descender + mvar_hdsc_delta;
-      root->height    = root->ascender - root->descender +
+      face->ascender  = face->ascender + mvar_hasc_delta;
+      face->descender = face->descender + mvar_hdsc_delta;
+      face->height    = face->ascender - face->descender +
                         current_line_gap + mvar_hlgp_delta;
 
-      root->underline_position  = face->postscript.underlinePosition -
-                                  face->postscript.underlineThickness / 2;
-      root->underline_thickness = face->postscript.underlineThickness;
-
-      /* iterate over all FT_Size objects and call `tt_size_reset' */
-      /* to propagate the metrics changes                          */
-      FT_List_Iterate( &root->sizes_list,
-                       tt_size_reset_iterator,
-                       NULL );
+      face->underline_position  = ttface->postscript.underlinePosition -
+                                  ttface->postscript.underlineThickness / 2;
+      face->underline_thickness = ttface->postscript.underlineThickness;
+
+      /* iterate over all FT_Size objects and call `var->size_reset' */
+      /* to propagate the metrics changes                            */
+      if ( var && var->size_reset )
+        FT_List_Iterate( &face->sizes_list,
+                         ft_size_reset_iterator,
+                         (void*)var );
     }
   }
 
@@ -2099,7 +2136,7 @@
             innerIndex = table->axisMap.innerIndex[idx];
           }
 
-          delta = tt_var_get_item_delta( face,
+          delta = tt_var_get_item_delta( FT_FACE( face ),
                                          &table->itemStore,
                                          outerIndex,
                                          innerIndex );
@@ -2261,11 +2298,12 @@
    *   FreeType error code.  0 means success.
    */
   FT_LOCAL_DEF( FT_Error )
-  TT_Get_MM_Var( TT_Face      face,
+  TT_Get_MM_Var( FT_Face      face,    /* TT_Face */
                  FT_MM_Var*  *master )
   {
-    FT_Stream            stream     = face->root.stream;
-    FT_Memory            memory     = face->root.memory;
+    TT_Face              ttface     = (TT_Face)face;
+    FT_Stream            stream     = FT_FACE_STREAM( face );
+    FT_Memory            memory     = FT_FACE_MEMORY( face );
     FT_ULong             table_len;
     FT_Error             error      = FT_Err_Ok;
     FT_ULong             fvar_start = 0;
@@ -2329,19 +2367,19 @@
     /* the default instance, which might be missing in the table of named */
     /* instances (in 'fvar').  This value is validated in `sfobjs.c` and  */
     /* may be reset to 0 if consistency checks fail.                      */
-    num_instances = (FT_UInt)face->root.style_flags >> 16;
+    num_instances = (FT_UInt)face->style_flags >> 16;
 
     /* read the font data and set up the internal representation */
     /* if not already done                                       */
 
-    need_init = !face->blend;
+    need_init = !ttface->blend;
 
     if ( need_init )
     {
       FT_TRACE2(( "FVAR " ));
 
-      if ( FT_SET_ERROR( face->goto_table( face, TTAG_fvar,
-                                           stream, &table_len ) ) )
+      if ( FT_SET_ERROR( ttface->goto_table( ttface, TTAG_fvar,
+                                             stream, &table_len ) ) )
       {
         FT_TRACE1(( "is missing\n" ));
         goto Exit;
@@ -2374,14 +2412,14 @@
                   fvar_head.axisCount,
                   fvar_head.axisCount == 1 ? "is" : "es" ));
 
-      if ( FT_NEW( face->blend ) )
+      if ( FT_NEW( ttface->blend ) )
         goto Exit;
 
-      num_axes              = fvar_head.axisCount;
-      face->blend->num_axis = num_axes;
+      num_axes                = fvar_head.axisCount;
+      ttface->blend->num_axis = num_axes;
     }
     else
-      num_axes = face->blend->num_axis;
+      num_axes = ttface->blend->num_axis;
 
     /* prepare storage area for MM data; this cannot overflow   */
     /* 32-bit arithmetic because of the size limits used in the */
@@ -2410,16 +2448,16 @@
 
     if ( need_init )
     {
-      face->blend->mmvar_len = mmvar_size       +
-                               axis_flags_size  +
-                               axis_size        +
-                               namedstyle_size  +
-                               next_coords_size +
-                               next_name_size;
+      ttface->blend->mmvar_len = mmvar_size       +
+                                 axis_flags_size  +
+                                 axis_size        +
+                                 namedstyle_size  +
+                                 next_coords_size +
+                                 next_name_size;
 
-      if ( FT_ALLOC( mmvar, face->blend->mmvar_len ) )
+      if ( FT_ALLOC( mmvar, ttface->blend->mmvar_len ) )
         goto Exit;
-      face->blend->mmvar = mmvar;
+      ttface->blend->mmvar = mmvar;
 
       /* set up pointers and offsets into the `mmvar' array; */
       /* the data gets filled in later on                    */
@@ -2525,27 +2563,27 @@
 
       /* named instance coordinates are stored as design coordinates; */
       /* we have to convert them to normalized coordinates also       */
-      if ( FT_NEW_ARRAY( face->blend->normalized_stylecoords,
+      if ( FT_NEW_ARRAY( ttface->blend->normalized_stylecoords,
                          num_axes * num_instances ) )
         goto Exit;
 
-      if ( fvar_head.instanceCount && !face->blend->avar_loaded )
+      if ( fvar_head.instanceCount && !ttface->blend->avar_loaded )
       {
         FT_ULong  offset = FT_STREAM_POS();
 
 
-        ft_var_load_avar( face );
+        ft_var_load_avar( ttface );
 
         if ( FT_STREAM_SEEK( offset ) )
           goto Exit;
       }
 
-      FT_TRACE5(( "%d instance%s\n",
+      FT_TRACE5(( "%d named instance%s\n",
                   fvar_head.instanceCount,
                   fvar_head.instanceCount == 1 ? "" : "s" ));
 
       ns  = mmvar->namedstyle;
-      nsc = face->blend->normalized_stylecoords;
+      nsc = ttface->blend->normalized_stylecoords;
       for ( i = 0; i < fvar_head.instanceCount; i++, ns++ )
       {
         /* PostScript names add 2 bytes to the instance record size */
@@ -2568,7 +2606,7 @@
 
 #ifdef FT_DEBUG_LEVEL_TRACE
         {
-          SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
+          SFNT_Service  sfnt = (SFNT_Service)ttface->sfnt;
 
           FT_String*  strname = NULL;
           FT_String*  psname  = NULL;
@@ -2580,7 +2618,7 @@
 
           if ( ns->strid != 0xFFFF )
           {
-            (void)sfnt->get_name( face,
+            (void)sfnt->get_name( ttface,
                                   (FT_UShort)ns->strid,
                                   &strname );
             if ( strname && !ft_strcmp( strname, ".notdef" ) )
@@ -2589,7 +2627,7 @@
 
           if ( ns->psid != 0xFFFF )
           {
-            (void)sfnt->get_name( face,
+            (void)sfnt->get_name( ttface,
                                   (FT_UShort)ns->psid,
                                   &psname );
             if ( psname && !ft_strcmp( psname, ".notdef" ) )
@@ -2598,7 +2636,7 @@
 
           (void)FT_STREAM_SEEK( pos );
 
-          FT_TRACE5(( "  instance %d (%s%s%s, %s%s%s)\n",
+          FT_TRACE5(( "  named instance %d (%s%s%s, %s%s%s)\n",
                       i,
                       strname ? "name: `" : "",
                       strname ? strname : "unnamed",
@@ -2612,7 +2650,7 @@
         }
 #endif /* FT_DEBUG_LEVEL_TRACE */
 
-        ft_var_to_normalized( face, num_axes, ns->coords, nsc );
+        ft_var_to_normalized( ttface, num_axes, ns->coords, nsc );
         nsc += num_axes;
 
         FT_FRAME_EXIT();
@@ -2620,15 +2658,17 @@
 
       if ( num_instances != fvar_head.instanceCount )
       {
-        SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
+        SFNT_Service  sfnt = (SFNT_Service)ttface->sfnt;
 
         FT_Int   found, dummy1, dummy2;
         FT_UInt  strid = ~0U;
 
 
-        /* the default instance is missing in array the   */
-        /* of named instances; try to synthesize an entry */
-        found = sfnt->get_name_id( face,
+        /* The default instance is missing in array the    */
+        /* of named instances; try to synthesize an entry. */
+        /* If this fails, `default_named_instance` remains */
+        /* at value zero, which doesn't do any harm.       */
+        found = sfnt->get_name_id( ttface,
                                    TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY,
                                    &dummy1,
                                    &dummy2 );
@@ -2636,7 +2676,7 @@
           strid = TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY;
         else
         {
-          found = sfnt->get_name_id( face,
+          found = sfnt->get_name_id( ttface,
                                      TT_NAME_ID_FONT_SUBFAMILY,
                                      &dummy1,
                                      &dummy2 );
@@ -2646,7 +2686,7 @@
 
         if ( found )
         {
-          found = sfnt->get_name_id( face,
+          found = sfnt->get_name_id( ttface,
                                      TT_NAME_ID_PS_NAME,
                                      &dummy1,
                                      &dummy2 );
@@ -2655,6 +2695,9 @@
             FT_TRACE5(( "TT_Get_MM_Var:"
                         " Adding default instance to named instances\n" ));
 
+            /* named instance indices start with value 1 */
+            ttface->var_default_named_instance = num_instances;
+
             ns = &mmvar->namedstyle[fvar_head.instanceCount];
 
             ns->strid = strid;
@@ -2668,7 +2711,7 @@
         }
       }
 
-      ft_var_load_mvar( face );
+      ft_var_load_mvar( ttface );
     }
 
     /* fill the output array if requested */
@@ -2678,9 +2721,9 @@
       FT_UInt  n;
 
 
-      if ( FT_ALLOC( mmvar, face->blend->mmvar_len ) )
+      if ( FT_ALLOC( mmvar, ttface->blend->mmvar_len ) )
         goto Exit;
-      FT_MEM_COPY( mmvar, face->blend->mmvar, face->blend->mmvar_len );
+      FT_MEM_COPY( mmvar, ttface->blend->mmvar, ttface->blend->mmvar_len );
 
       axis_flags =
         (FT_UShort*)( (char*)mmvar + mmvar_size );
@@ -2756,7 +2799,7 @@
 
     if ( !face->blend )
     {
-      if ( FT_SET_ERROR( TT_Get_MM_Var( face, NULL ) ) )
+      if ( FT_SET_ERROR( TT_Get_MM_Var( FT_FACE( face ), NULL ) ) )
         goto Exit;
     }
 
@@ -2841,26 +2884,29 @@
         }
       }
 
-      if ( FT_IS_NAMED_INSTANCE( FT_FACE( face ) ) )
+      if ( !have_diff )
       {
-        FT_UInt  instance_index = (FT_UInt)face->root.face_index >> 16;
+        if ( FT_IS_NAMED_INSTANCE( FT_FACE( face ) ) )
+        {
+          FT_UInt  instance_index = (FT_UInt)face->root.face_index >> 16;
 
 
-        c = blend->normalizedcoords + i;
-        n = blend->normalized_stylecoords            +
-            ( instance_index - 1 ) * mmvar->num_axis +
-            i;
+          c = blend->normalizedcoords + i;
+          n = blend->normalized_stylecoords            +
+              ( instance_index - 1 ) * mmvar->num_axis +
+              i;
 
-        for ( j = i; j < mmvar->num_axis; j++, n++, c++ )
-          if ( *c != *n )
-            have_diff = 1;
-      }
-      else
-      {
-        c = blend->normalizedcoords + i;
-        for ( j = i; j < mmvar->num_axis; j++, c++ )
-          if ( *c != 0 )
-            have_diff = 1;
+          for ( j = i; j < mmvar->num_axis; j++, n++, c++ )
+            if ( *c != *n )
+              have_diff = 1;
+        }
+        else
+        {
+          c = blend->normalizedcoords + i;
+          for ( j = i; j < mmvar->num_axis; j++, c++ )
+            if ( *c != 0 )
+              have_diff = 1;
+        }
       }
 
       /* return value -1 indicates `no change' */
@@ -2924,9 +2970,6 @@
       }
     }
 
-    /* enforce recomputation of the PostScript name; */
-    FT_FREE( face->postscript_name );
-
   Exit:
     return error;
   }
@@ -2958,26 +3001,15 @@
    *     An array of `num_coords', each between [-1,1].
    *
    * @Return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0 means success, -1 means success and unchanged
+   *   axis values.
    */
   FT_LOCAL_DEF( FT_Error )
-  TT_Set_MM_Blend( TT_Face    face,
+  TT_Set_MM_Blend( FT_Face    face,       /* TT_Face */
                    FT_UInt    num_coords,
                    FT_Fixed*  coords )
   {
-    FT_Error  error;
-
-
-    error = tt_set_mm_blend( face, num_coords, coords, 1 );
-    if ( error )
-      return error;
-
-    if ( num_coords )
-      face->root.face_flags |= FT_FACE_FLAG_VARIATION;
-    else
-      face->root.face_flags &= ~FT_FACE_FLAG_VARIATION;
-
-    return FT_Err_Ok;
+    return tt_set_mm_blend( (TT_Face)face, num_coords, coords, 1 );
   }
 
 
@@ -3005,31 +3037,34 @@
    *     An array of `num_coords', each between [-1,1].
    *
    * @Return:
-   *   FreeType error code.  0 means success.
+   *   FreeType error code.  0 means success, -1 means success and unchanged
+   *   axis values.
    */
   FT_LOCAL_DEF( FT_Error )
-  TT_Get_MM_Blend( TT_Face    face,
+  TT_Get_MM_Blend( FT_Face    face,       /* TT_Face */
                    FT_UInt    num_coords,
                    FT_Fixed*  coords )
   {
+    TT_Face  ttface = (TT_Face)face;
+
     FT_Error  error = FT_Err_Ok;
     GX_Blend  blend;
     FT_UInt   i, nc;
 
 
-    if ( !face->blend )
+    if ( !ttface->blend )
     {
       if ( FT_SET_ERROR( TT_Get_MM_Var( face, NULL ) ) )
         return error;
     }
 
-    blend = face->blend;
+    blend = ttface->blend;
 
     if ( !blend->coords )
     {
       /* select default instance coordinates */
       /* if no instance is selected yet      */
-      if ( FT_SET_ERROR( tt_set_mm_blend( face, 0, NULL, 1 ) ) )
+      if ( FT_SET_ERROR( tt_set_mm_blend( ttface, 0, NULL, 1 ) ) )
         return error;
     }
 
@@ -3042,7 +3077,7 @@
       nc = blend->num_axis;
     }
 
-    if ( face->doblend )
+    if ( ttface->doblend )
     {
       for ( i = 0; i < nc; i++ )
         coords[i] = blend->normalizedcoords[i];
@@ -3089,15 +3124,16 @@
    *   FreeType error code.  0 means success.
    */
   FT_LOCAL_DEF( FT_Error )
-  TT_Set_Var_Design( TT_Face    face,
+  TT_Set_Var_Design( FT_Face    face,       /* TT_Face */
                      FT_UInt    num_coords,
                      FT_Fixed*  coords )
   {
+    TT_Face     ttface = (TT_Face)face;
     FT_Error    error  = FT_Err_Ok;
     GX_Blend    blend;
     FT_MM_Var*  mmvar;
     FT_UInt     i;
-    FT_Memory   memory = face->root.memory;
+    FT_Memory   memory = FT_FACE_MEMORY( face );
 
     FT_Fixed*  c;
     FT_Fixed*  n;
@@ -3106,13 +3142,13 @@
     FT_Bool  have_diff = 0;
 
 
-    if ( !face->blend )
+    if ( !ttface->blend )
     {
       if ( FT_SET_ERROR( TT_Get_MM_Var( face, NULL ) ) )
         goto Exit;
     }
 
-    blend = face->blend;
+    blend = ttface->blend;
     mmvar = blend->mmvar;
 
     if ( num_coords > mmvar->num_axis )
@@ -3140,13 +3176,13 @@
       }
     }
 
-    if ( FT_IS_NAMED_INSTANCE( FT_FACE( face ) ) )
+    if ( FT_IS_NAMED_INSTANCE( face ) )
     {
       FT_UInt              instance_index;
       FT_Var_Named_Style*  named_style;
 
 
-      instance_index = (FT_UInt)face->root.face_index >> 16;
+      instance_index = (FT_UInt)face->face_index >> 16;
       named_style    = mmvar->namedstyle + instance_index - 1;
 
       n = named_style->coords + num_coords;
@@ -3183,22 +3219,17 @@
     if ( FT_NEW_ARRAY( normalized, mmvar->num_axis ) )
       goto Exit;
 
-    if ( !face->blend->avar_loaded )
-      ft_var_load_avar( face );
+    if ( !ttface->blend->avar_loaded )
+      ft_var_load_avar( ttface );
 
     FT_TRACE5(( "TT_Set_Var_Design:\n" ));
     FT_TRACE5(( "  normalized design coordinates:\n" ));
-    ft_var_to_normalized( face, num_coords, blend->coords, normalized );
+    ft_var_to_normalized( ttface, num_coords, blend->coords, normalized );
 
-    error = tt_set_mm_blend( face, mmvar->num_axis, normalized, 0 );
+    error = tt_set_mm_blend( ttface, mmvar->num_axis, normalized, 0 );
     if ( error )
       goto Exit;
 
-    if ( num_coords )
-      face->root.face_flags |= FT_FACE_FLAG_VARIATION;
-    else
-      face->root.face_flags &= ~FT_FACE_FLAG_VARIATION;
-
   Exit:
     FT_FREE( normalized );
     return error;
@@ -3231,28 +3262,29 @@
    *   FreeType error code.  0~means success.
    */
   FT_LOCAL_DEF( FT_Error )
-  TT_Get_Var_Design( TT_Face    face,
+  TT_Get_Var_Design( FT_Face    face,       /* TT_Face */
                      FT_UInt    num_coords,
                      FT_Fixed*  coords )
   {
-    FT_Error  error = FT_Err_Ok;
+    TT_Face   ttface = (TT_Face)face;
+    FT_Error  error  = FT_Err_Ok;
     GX_Blend  blend;
     FT_UInt   i, nc;
 
 
-    if ( !face->blend )
+    if ( !ttface->blend )
     {
       if ( FT_SET_ERROR( TT_Get_MM_Var( face, NULL ) ) )
         return error;
     }
 
-    blend = face->blend;
+    blend = ttface->blend;
 
     if ( !blend->coords )
     {
       /* select default instance coordinates */
       /* if no instance is selected yet      */
-      if ( FT_SET_ERROR( tt_set_mm_blend( face, 0, NULL, 1 ) ) )
+      if ( FT_SET_ERROR( tt_set_mm_blend( ttface, 0, NULL, 1 ) ) )
         return error;
     }
 
@@ -3265,7 +3297,7 @@
       nc = blend->num_axis;
     }
 
-    if ( face->doblend )
+    if ( ttface->doblend )
     {
       for ( i = 0; i < nc; i++ )
         coords[i] = blend->coords[i];
@@ -3301,29 +3333,33 @@
    *     Value 0 indicates to not use an instance.
    *
    * @Return:
-   *   FreeType error code.  0~means success.
+   *   FreeType error code.  0~means success, -1 means success and unchanged
+   *   axis values.
    */
   FT_LOCAL_DEF( FT_Error )
-  TT_Set_Named_Instance( TT_Face  face,
+  TT_Set_Named_Instance( FT_Face  face,            /* TT_Face */
                          FT_UInt  instance_index )
   {
+    TT_Face     ttface = (TT_Face)face;
     FT_Error    error;
     GX_Blend    blend;
     FT_MM_Var*  mmvar;
 
+    FT_Memory  memory = FT_FACE_MEMORY( face );
+
     FT_UInt  num_instances;
 
 
-    if ( !face->blend )
+    if ( !ttface->blend )
     {
       if ( FT_SET_ERROR( TT_Get_MM_Var( face, NULL ) ) )
         goto Exit;
     }
 
-    blend = face->blend;
+    blend = ttface->blend;
     mmvar = blend->mmvar;
 
-    num_instances = (FT_UInt)face->root.style_flags >> 16;
+    num_instances = (FT_UInt)face->style_flags >> 16;
 
     /* `instance_index' starts with value 1, thus `>' */
     if ( instance_index > num_instances )
@@ -3334,8 +3370,7 @@
 
     if ( instance_index > 0 )
     {
-      FT_Memory     memory = face->root.memory;
-      SFNT_Service  sfnt   = (SFNT_Service)face->sfnt;
+      SFNT_Service  sfnt = (SFNT_Service)ttface->sfnt;
 
       FT_Var_Named_Style*  named_style;
       FT_String*           style_name;
@@ -3343,40 +3378,89 @@
 
       named_style = mmvar->namedstyle + instance_index - 1;
 
-      error = sfnt->get_name( face,
+      error = sfnt->get_name( ttface,
                               (FT_UShort)named_style->strid,
                               &style_name );
       if ( error )
         goto Exit;
 
       /* set (or replace) style name */
-      FT_FREE( face->root.style_name );
-      face->root.style_name = style_name;
+      FT_FREE( face->style_name );
+      face->style_name = style_name;
 
       /* finally, select the named instance */
       error = TT_Set_Var_Design( face,
                                  mmvar->num_axis,
                                  named_style->coords );
-      if ( error )
-      {
-        /* internal error code -1 means `no change' */
-        if ( error == -1 )
-          error = FT_Err_Ok;
-        goto Exit;
-      }
     }
     else
+    {
+      /* restore non-VF style name */
+      FT_FREE( face->style_name );
+      if ( FT_STRDUP( face->style_name, ttface->non_var_style_name ) )
+        goto Exit;
       error = TT_Set_Var_Design( face, 0, NULL );
+    }
+
+  Exit:
+    return error;
+  }
+
+
+  /**************************************************************************
+   *
+   * @Function:
+   *   TT_Get_Default_Named_Instance
+   *
+   * @Description:
+   *   Get the default named instance.
+   *
+   * @Input:
+   *   face ::
+   *     A handle to the source face.
+   *
+   * @Output:
+   *   instance_index ::
+   *     The default named instance index.
+   *
+   * @Return:
+   *   FreeType error code.  0~means success.
+   */
+  FT_LOCAL_DEF( FT_Error )
+  TT_Get_Default_Named_Instance( FT_Face   face,
+                                 FT_UInt  *instance_index )
+  {
+    TT_Face   ttface = (TT_Face)face;
+    FT_Error  error  = FT_Err_Ok;
+
+
+    if ( !ttface->blend )
+    {
+      if ( FT_SET_ERROR( TT_Get_MM_Var( face, NULL ) ) )
+        goto Exit;
+    }
 
-    face->root.face_index  = ( instance_index << 16 )             |
-                             ( face->root.face_index & 0xFFFFL );
-    face->root.face_flags &= ~FT_FACE_FLAG_VARIATION;
+    *instance_index = ttface->var_default_named_instance;
 
   Exit:
     return error;
   }
 
 
+  /* This function triggers (lazy) recomputation of the `postscript_name` */
+  /* field in `TT_Face`.                                                  */
+
+  FT_LOCAL_DEF( void )
+  tt_construct_ps_name( FT_Face  face )
+  {
+    TT_Face    ttface = (TT_Face)face;
+    FT_Memory  memory = FT_FACE_MEMORY( face );
+
+
+    FT_FREE( ttface->postscript_name );
+  }
+
+
   /*************************************************************************/
   /*************************************************************************/
   /*****                                                               *****/
@@ -4409,22 +4493,25 @@
    *   the MM machinery in case it isn't loaded yet.
    */
   FT_LOCAL_DEF( FT_Error )
-  tt_get_var_blend( TT_Face      face,
+  tt_get_var_blend( FT_Face      face,             /* TT_Face */
                     FT_UInt     *num_coords,
                     FT_Fixed*   *coords,
                     FT_Fixed*   *normalizedcoords,
                     FT_MM_Var*  *mm_var )
   {
-    if ( face->blend )
+    TT_Face  ttface = (TT_Face)face;
+
+
+    if ( ttface->blend )
     {
       if ( num_coords )
-        *num_coords       = face->blend->num_axis;
+        *num_coords       = ttface->blend->num_axis;
       if ( coords )
-        *coords           = face->blend->coords;
+        *coords           = ttface->blend->coords;
       if ( normalizedcoords )
-        *normalizedcoords = face->blend->normalizedcoords;
+        *normalizedcoords = ttface->blend->normalizedcoords;
       if ( mm_var )
-        *mm_var           = face->blend->mmvar;
+        *mm_var           = ttface->blend->mmvar;
     }
     else
     {
@@ -4441,7 +4528,7 @@
 
 
   FT_LOCAL_DEF( void )
-  tt_var_done_item_variation_store( TT_Face          face,
+  tt_var_done_item_variation_store( FT_Face          face,
                                     GX_ItemVarStore  itemStore )
   {
     FT_Memory  memory = FT_FACE_MEMORY( face );
@@ -4470,7 +4557,7 @@
 
 
   FT_LOCAL_DEF( void )
-  tt_var_done_delta_set_index_map( TT_Face            face,
+  tt_var_done_delta_set_index_map( FT_Face            face,
                                    GX_DeltaSetIdxMap  deltaSetIdxMap )
   {
     FT_Memory  memory = FT_FACE_MEMORY( face );
@@ -4490,10 +4577,11 @@
    *   Free the blend internal data structure.
    */
   FT_LOCAL_DEF( void )
-  tt_done_blend( TT_Face  face )
+  tt_done_blend( FT_Face  face )
   {
+    TT_Face    ttface = (TT_Face)face;
     FT_Memory  memory = FT_FACE_MEMORY( face );
-    GX_Blend   blend  = face->blend;
+    GX_Blend   blend  = ttface->blend;
 
 
     if ( blend )
@@ -4565,7 +4653,7 @@
 #else /* !TT_CONFIG_OPTION_GX_VAR_SUPPORT */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _tt_gxvar_dummy;
+  typedef int  tt_gxvar_dummy_;
 
 #endif /* !TT_CONFIG_OPTION_GX_VAR_SUPPORT */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.h	2024-04-08 05:38:38.000000000 +0000
@@ -347,34 +347,41 @@
 
 
   FT_LOCAL( FT_Error )
-  TT_Set_MM_Blend( TT_Face    face,
+  TT_Set_MM_Blend( FT_Face    face,
                    FT_UInt    num_coords,
                    FT_Fixed*  coords );
 
   FT_LOCAL( FT_Error )
-  TT_Get_MM_Blend( TT_Face    face,
+  TT_Get_MM_Blend( FT_Face    face,
                    FT_UInt    num_coords,
                    FT_Fixed*  coords );
 
   FT_LOCAL( FT_Error )
-  TT_Set_Var_Design( TT_Face    face,
+  TT_Set_Var_Design( FT_Face    face,
                      FT_UInt    num_coords,
                      FT_Fixed*  coords );
 
   FT_LOCAL( FT_Error )
-  TT_Get_MM_Var( TT_Face      face,
+  TT_Get_MM_Var( FT_Face      face,
                  FT_MM_Var*  *master );
 
   FT_LOCAL( FT_Error )
-  TT_Get_Var_Design( TT_Face    face,
+  TT_Get_Var_Design( FT_Face    face,
                      FT_UInt    num_coords,
                      FT_Fixed*  coords );
 
   FT_LOCAL( FT_Error )
-  TT_Set_Named_Instance( TT_Face  face,
+  TT_Set_Named_Instance( FT_Face  face,
                          FT_UInt  instance_index );
 
   FT_LOCAL( FT_Error )
+  TT_Get_Default_Named_Instance( FT_Face   face,
+                                 FT_UInt  *instance_index );
+
+  FT_LOCAL( void )
+  tt_construct_ps_name( FT_Face  face );
+
+  FT_LOCAL( FT_Error )
   tt_face_vary_cvt( TT_Face    face,
                     FT_Stream  stream );
 
@@ -385,55 +392,54 @@
                               FT_Vector*   unrounded );
 
   FT_LOCAL( FT_Error )
-  tt_hadvance_adjust( TT_Face  face,
+  tt_hadvance_adjust( FT_Face  face,
                       FT_UInt  gindex,
                       FT_Int  *adelta );
 
   FT_LOCAL( FT_Error )
-  tt_vadvance_adjust( TT_Face  face,
+  tt_vadvance_adjust( FT_Face  face,
                       FT_UInt  gindex,
                       FT_Int  *adelta );
 
   FT_LOCAL( void )
-  tt_apply_mvar( TT_Face  face );
-
+  tt_apply_mvar( FT_Face  face );
 
   FT_LOCAL( FT_Error )
-  tt_var_load_item_variation_store( TT_Face          face,
+  tt_var_load_item_variation_store( FT_Face          face,
                                     FT_ULong         offset,
                                     GX_ItemVarStore  itemStore );
 
   FT_LOCAL( FT_Error )
-  tt_var_load_delta_set_index_mapping( TT_Face            face,
+  tt_var_load_delta_set_index_mapping( FT_Face            face,
                                        FT_ULong           offset,
                                        GX_DeltaSetIdxMap  map,
                                        GX_ItemVarStore    itemStore,
                                        FT_ULong           table_len );
 
   FT_LOCAL( FT_ItemVarDelta )
-  tt_var_get_item_delta( TT_Face          face,
+  tt_var_get_item_delta( FT_Face          face,
                          GX_ItemVarStore  itemStore,
                          FT_UInt          outerIndex,
                          FT_UInt          innerIndex );
 
   FT_LOCAL( void )
-  tt_var_done_item_variation_store( TT_Face          face,
+  tt_var_done_item_variation_store( FT_Face          face,
                                     GX_ItemVarStore  itemStore );
 
   FT_LOCAL( void )
-  tt_var_done_delta_set_index_map( TT_Face            face,
+  tt_var_done_delta_set_index_map( FT_Face            face,
                                    GX_DeltaSetIdxMap  deltaSetIdxMap );
 
 
   FT_LOCAL( FT_Error )
-  tt_get_var_blend( TT_Face      face,
+  tt_get_var_blend( FT_Face      face,
                     FT_UInt     *num_coords,
                     FT_Fixed*   *coords,
                     FT_Fixed*   *normalizedcoords,
                     FT_MM_Var*  *mm_var );
 
   FT_LOCAL( void )
-  tt_done_blend( TT_Face  face );
+  tt_done_blend( FT_Face  face );
 
 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c	2024-04-08 05:38:38.000000000 +0000
@@ -29,7 +29,6 @@
 
 #include "ttinterp.h"
 #include "tterrors.h"
-#include "ttsubpix.h"
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
 #include "ttgxvar.h"
 #endif
@@ -52,12 +51,6 @@
           ( ((TT_Driver)FT_FACE_DRIVER( exc->face ))->interpreter_version == \
             TT_INTERPRETER_VERSION_35 )
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-#define SUBPIXEL_HINTING_INFINALITY                                          \
-          ( ((TT_Driver)FT_FACE_DRIVER( exc->face ))->interpreter_version == \
-            TT_INTERPRETER_VERSION_38 )
-#endif
-
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
 #define SUBPIXEL_HINTING_MINIMAL                                             \
           ( ((TT_Driver)FT_FACE_DRIVER( exc->face ))->interpreter_version == \
@@ -278,57 +271,6 @@
   /**************************************************************************
    *
    * @Function:
-   *   Update_Max
-   *
-   * @Description:
-   *   Checks the size of a buffer and reallocates it if necessary.
-   *
-   * @Input:
-   *   memory ::
-   *     A handle to the parent memory object.
-   *
-   *   multiplier ::
-   *     The size in bytes of each element in the buffer.
-   *
-   *   new_max ::
-   *     The new capacity (size) of the buffer.
-   *
-   * @InOut:
-   *   size ::
-   *     The address of the buffer's current size expressed
-   *     in elements.
-   *
-   *   buff ::
-   *     The address of the buffer base pointer.
-   *
-   * @Return:
-   *   FreeType error code.  0 means success.
-   */
-  FT_LOCAL_DEF( FT_Error )
-  Update_Max( FT_Memory  memory,
-              FT_ULong*  size,
-              FT_ULong   multiplier,
-              void*      _pbuff,
-              FT_ULong   new_max )
-  {
-    FT_Error  error;
-    void**    pbuff = (void**)_pbuff;
-
-
-    if ( *size < new_max )
-    {
-      if ( FT_QREALLOC( *pbuff, *size * multiplier, new_max * multiplier ) )
-        return error;
-      *size = new_max;
-    }
-
-    return FT_Err_Ok;
-  }
-
-
-  /**************************************************************************
-   *
-   * @Function:
    *   TT_Load_Context
    *
    * @Description:
@@ -359,9 +301,9 @@
                    TT_Size         size )
   {
     FT_Int          i;
-    FT_ULong        tmp;
     TT_MaxProfile*  maxp;
     FT_Error        error;
+    FT_Memory       memory = exec->memory;
 
 
     exec->face = face;
@@ -406,25 +348,15 @@
 
     /* XXX: We reserve a little more elements on the stack to deal safely */
     /*      with broken fonts like arialbs, courbs, timesbs, etc.         */
-    tmp = (FT_ULong)exec->stackSize;
-    error = Update_Max( exec->memory,
-                        &tmp,
-                        sizeof ( FT_F26Dot6 ),
-                        (void*)&exec->stack,
-                        maxp->maxStackElements + 32 );
-    exec->stackSize = (FT_Long)tmp;
-    if ( error )
+    if ( FT_QRENEW_ARRAY( exec->stack,
+                          exec->stackSize,
+                          maxp->maxStackElements + 32 ) )
       return error;
+    exec->stackSize = maxp->maxStackElements + 32;
 
-    tmp = (FT_ULong)exec->glyphSize;
-    error = Update_Max( exec->memory,
-                        &tmp,
-                        sizeof ( FT_Byte ),
-                        (void*)&exec->glyphIns,
-                        maxp->maxSizeOfInstructions );
-    exec->glyphSize = (FT_UInt)tmp;
-    if ( error )
-      return error;
+    /* free previous glyph code range */
+    FT_FREE( exec->glyphIns );
+    exec->glyphSize = 0;
 
     exec->pts.n_points   = 0;
     exec->pts.n_contours = 0;
@@ -1530,14 +1462,16 @@
     if ( exc->iniRange == tt_coderange_glyph &&
          exc->cvt != exc->glyfCvt            )
     {
-      exc->error = Update_Max( exc->memory,
-                               &exc->glyfCvtSize,
-                               sizeof ( FT_Long ),
-                               (void*)&exc->glyfCvt,
-                               exc->cvtSize );
-      if ( exc->error )
+      FT_Memory  memory = exc->memory;
+      FT_Error   error;
+
+
+      FT_MEM_QRENEW_ARRAY( exc->glyfCvt, exc->glyfCvtSize, exc->cvtSize );
+      exc->error = error;
+      if ( error )
         return;
 
+      exc->glyfCvtSize = exc->cvtSize;
       FT_ARRAY_COPY( exc->glyfCvt, exc->cvt, exc->glyfCvtSize );
       exc->cvt = exc->glyfCvt;
     }
@@ -1744,17 +1678,6 @@
 
     if ( v != 0 )
     {
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY                            &&
-           ( !exc->ignore_x_mode                                ||
-             ( exc->sph_tweak_flags & SPH_TWEAK_ALLOW_X_DMOVE ) ) )
-        zone->cur[point].x = ADD_LONG( zone->cur[point].x,
-                                       FT_MulDiv( distance,
-                                                  v,
-                                                  exc->F_dot_P ) );
-      else
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
       /* Exception to the post-IUP curfew: Allow the x component of */
       /* diagonal moves, but only post-IUP.  DejaVu tries to adjust */
@@ -1860,12 +1783,6 @@
                  FT_UShort       point,
                  FT_F26Dot6      distance )
   {
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY && !exc->ignore_x_mode )
-      zone->cur[point].x = ADD_LONG( zone->cur[point].x, distance );
-    else
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
     if ( SUBPIXEL_HINTING_MINIMAL && !exc->backward_compatibility )
       zone->cur[point].x = ADD_LONG( zone->cur[point].x, distance );
@@ -3069,28 +2986,7 @@
         args[0] = 0;
     }
     else
-    {
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      /* subpixel hinting - avoid Typeman Dstroke and */
-      /* IStroke and Vacuform rounds                  */
-      if ( SUBPIXEL_HINTING_INFINALITY                 &&
-           exc->ignore_x_mode                          &&
-           ( ( I == 24                             &&
-               ( exc->face->sph_found_func_flags &
-                 ( SPH_FDEF_SPACING_1 |
-                   SPH_FDEF_SPACING_2 )          ) ) ||
-             ( I == 22                      &&
-               ( exc->sph_in_func_flags   &
-                 SPH_FDEF_TYPEMAN_STROKES ) )        ||
-             ( I == 8                              &&
-               ( exc->face->sph_found_func_flags &
-                 SPH_FDEF_VACUFORM_ROUND_1       ) &&
-               exc->iup_called                     ) ) )
-        args[0] = 0;
-      else
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-        args[0] = exc->storage[I];
-    }
+      args[0] = exc->storage[I];
   }
 
 
@@ -3117,18 +3013,18 @@
       if ( exc->iniRange == tt_coderange_glyph &&
            exc->storage != exc->glyfStorage    )
       {
-        FT_ULong  tmp = (FT_ULong)exc->glyfStoreSize;
+        FT_Memory  memory = exc->memory;
+        FT_Error   error;
 
 
-        exc->error = Update_Max( exc->memory,
-                                 &tmp,
-                                 sizeof ( FT_Long ),
-                                 (void*)&exc->glyfStorage,
-                                 exc->storeSize );
-        exc->glyfStoreSize = (FT_UShort)tmp;
-        if ( exc->error )
+        FT_MEM_QRENEW_ARRAY( exc->glyfStorage,
+                             exc->glyfStoreSize,
+                             exc->storeSize );
+        exc->error  = error;
+        if ( error )
           return;
 
+        exc->glyfStoreSize = exc->storeSize;
         FT_ARRAY_COPY( exc->glyfStorage, exc->storage, exc->glyfStoreSize );
         exc->storage = exc->glyfStorage;
       }
@@ -3604,106 +3500,6 @@
     TT_DefRecord*  rec;
     TT_DefRecord*  limit;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    /* arguments to opcodes are skipped by `SKIP_Code' */
-    FT_Byte    opcode_pattern[9][12] = {
-                 /* #0 inline delta function 1 */
-                 {
-                   0x4B, /* PPEM    */
-                   0x53, /* GTEQ    */
-                   0x23, /* SWAP    */
-                   0x4B, /* PPEM    */
-                   0x51, /* LTEQ    */
-                   0x5A, /* AND     */
-                   0x58, /* IF      */
-                   0x38, /*   SHPIX */
-                   0x1B, /* ELSE    */
-                   0x21, /*   POP   */
-                   0x21, /*   POP   */
-                   0x59  /* EIF     */
-                 },
-                 /* #1 inline delta function 2 */
-                 {
-                   0x4B, /* PPEM    */
-                   0x54, /* EQ      */
-                   0x58, /* IF      */
-                   0x38, /*   SHPIX */
-                   0x1B, /* ELSE    */
-                   0x21, /*   POP   */
-                   0x21, /*   POP   */
-                   0x59  /* EIF     */
-                 },
-                 /* #2 diagonal stroke function */
-                 {
-                   0x20, /* DUP     */
-                   0x20, /* DUP     */
-                   0xB0, /* PUSHB_1 */
-                         /*   1     */
-                   0x60, /* ADD     */
-                   0x46, /* GC_cur  */
-                   0xB0, /* PUSHB_1 */
-                         /*   64    */
-                   0x23, /* SWAP    */
-                   0x42  /* WS      */
-                 },
-                 /* #3 VacuFormRound function */
-                 {
-                   0x45, /* RCVT    */
-                   0x23, /* SWAP    */
-                   0x46, /* GC_cur  */
-                   0x60, /* ADD     */
-                   0x20, /* DUP     */
-                   0xB0  /* PUSHB_1 */
-                         /*   38    */
-                 },
-                 /* #4 TTFautohint bytecode (old) */
-                 {
-                   0x20, /* DUP     */
-                   0x64, /* ABS     */
-                   0xB0, /* PUSHB_1 */
-                         /*   32    */
-                   0x60, /* ADD     */
-                   0x66, /* FLOOR   */
-                   0x23, /* SWAP    */
-                   0xB0  /* PUSHB_1 */
-                 },
-                 /* #5 spacing function 1 */
-                 {
-                   0x01, /* SVTCA_x */
-                   0xB0, /* PUSHB_1 */
-                         /*   24    */
-                   0x43, /* RS      */
-                   0x58  /* IF      */
-                 },
-                 /* #6 spacing function 2 */
-                 {
-                   0x01, /* SVTCA_x */
-                   0x18, /* RTG     */
-                   0xB0, /* PUSHB_1 */
-                         /*   24    */
-                   0x43, /* RS      */
-                   0x58  /* IF      */
-                 },
-                 /* #7 TypeMan Talk DiagEndCtrl function */
-                 {
-                   0x01, /* SVTCA_x */
-                   0x20, /* DUP     */
-                   0xB0, /* PUSHB_1 */
-                         /*   3     */
-                   0x25, /* CINDEX  */
-                 },
-                 /* #8 TypeMan Talk Align */
-                 {
-                   0x06, /* SPVTL   */
-                   0x7D, /* RDTG    */
-                 },
-               };
-    FT_UShort  opcode_patterns   = 9;
-    FT_UShort  opcode_pointer[9] = {  0, 0, 0, 0, 0, 0, 0, 0, 0 };
-    FT_UShort  opcode_size[9]    = { 12, 8, 8, 6, 7, 4, 5, 4, 2 };
-    FT_UShort  i;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
 
     /* FDEF is only allowed in `prep' or `fpgm' */
     if ( exc->iniRange == tt_coderange_glyph )
@@ -3748,136 +3544,15 @@
     rec->opc            = (FT_UInt16)n;
     rec->start          = exc->IP + 1;
     rec->active         = TRUE;
-    rec->inline_delta   = FALSE;
-    rec->sph_fdef_flags = 0x0000;
 
     if ( n > exc->maxFunc )
       exc->maxFunc = (FT_UInt16)n;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    /* We don't know for sure these are typeman functions, */
-    /* however they are only active when RS 22 is called   */
-    if ( n >= 64 && n <= 66 )
-      rec->sph_fdef_flags |= SPH_FDEF_TYPEMAN_STROKES;
-#endif
-
     /* Now skip the whole function definition. */
     /* We don't allow nested IDEFS & FDEFs.    */
 
     while ( SkipCode( exc ) == SUCCESS )
     {
-
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-
-      if ( SUBPIXEL_HINTING_INFINALITY )
-      {
-        for ( i = 0; i < opcode_patterns; i++ )
-        {
-          if ( opcode_pointer[i] < opcode_size[i]                  &&
-               exc->opcode == opcode_pattern[i][opcode_pointer[i]] )
-          {
-            opcode_pointer[i] += 1;
-
-            if ( opcode_pointer[i] == opcode_size[i] )
-            {
-              FT_TRACE6(( "sph: Function %d, opcode ptrn: %ld, %s %s\n",
-                          i, n,
-                          exc->face->root.family_name,
-                          exc->face->root.style_name ));
-
-              switch ( i )
-              {
-              case 0:
-                rec->sph_fdef_flags             |= SPH_FDEF_INLINE_DELTA_1;
-                exc->face->sph_found_func_flags |= SPH_FDEF_INLINE_DELTA_1;
-                break;
-
-              case 1:
-                rec->sph_fdef_flags             |= SPH_FDEF_INLINE_DELTA_2;
-                exc->face->sph_found_func_flags |= SPH_FDEF_INLINE_DELTA_2;
-                break;
-
-              case 2:
-                switch ( n )
-                {
-                  /* needs to be implemented still */
-                case 58:
-                  rec->sph_fdef_flags             |= SPH_FDEF_DIAGONAL_STROKE;
-                  exc->face->sph_found_func_flags |= SPH_FDEF_DIAGONAL_STROKE;
-                }
-                break;
-
-              case 3:
-                switch ( n )
-                {
-                case 0:
-                  rec->sph_fdef_flags             |= SPH_FDEF_VACUFORM_ROUND_1;
-                  exc->face->sph_found_func_flags |= SPH_FDEF_VACUFORM_ROUND_1;
-                }
-                break;
-
-              case 4:
-                /* probably not necessary to detect anymore */
-                rec->sph_fdef_flags             |= SPH_FDEF_TTFAUTOHINT_1;
-                exc->face->sph_found_func_flags |= SPH_FDEF_TTFAUTOHINT_1;
-                break;
-
-              case 5:
-                switch ( n )
-                {
-                case 0:
-                case 1:
-                case 2:
-                case 4:
-                case 7:
-                case 8:
-                  rec->sph_fdef_flags             |= SPH_FDEF_SPACING_1;
-                  exc->face->sph_found_func_flags |= SPH_FDEF_SPACING_1;
-                }
-                break;
-
-              case 6:
-                switch ( n )
-                {
-                case 0:
-                case 1:
-                case 2:
-                case 4:
-                case 7:
-                case 8:
-                  rec->sph_fdef_flags             |= SPH_FDEF_SPACING_2;
-                  exc->face->sph_found_func_flags |= SPH_FDEF_SPACING_2;
-                }
-                break;
-
-               case 7:
-                 rec->sph_fdef_flags             |= SPH_FDEF_TYPEMAN_DIAGENDCTRL;
-                 exc->face->sph_found_func_flags |= SPH_FDEF_TYPEMAN_DIAGENDCTRL;
-                 break;
-
-               case 8:
-#if 0
-                 rec->sph_fdef_flags             |= SPH_FDEF_TYPEMAN_DIAGENDCTRL;
-                 exc->face->sph_found_func_flags |= SPH_FDEF_TYPEMAN_DIAGENDCTRL;
-#endif
-                 break;
-              }
-              opcode_pointer[i] = 0;
-            }
-          }
-
-          else
-            opcode_pointer[i] = 0;
-        }
-
-        /* Set sph_compatibility_mode only when deltas are detected */
-        exc->face->sph_compatibility_mode =
-          ( ( exc->face->sph_found_func_flags & SPH_FDEF_INLINE_DELTA_1 ) |
-            ( exc->face->sph_found_func_flags & SPH_FDEF_INLINE_DELTA_2 ) );
-      }
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       switch ( exc->opcode )
       {
       case 0x89:    /* IDEF */
@@ -3905,10 +3580,6 @@
     TT_CallRec*  pRec;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    exc->sph_in_func_flags = 0x0000;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     if ( exc->callTop <= 0 )     /* We encountered an ENDF without a call */
     {
       exc->error = FT_THROW( ENDF_In_Exec_Stream );
@@ -3996,17 +3667,6 @@
     if ( !def->active )
       goto Fail;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY                                    &&
-         exc->ignore_x_mode                                             &&
-         ( ( exc->iup_called                                        &&
-             ( exc->sph_tweak_flags & SPH_TWEAK_NO_CALL_AFTER_IUP ) ) ||
-           ( def->sph_fdef_flags & SPH_FDEF_VACUFORM_ROUND_1 )        ) )
-      goto Fail;
-    else
-      exc->sph_in_func_flags = def->sph_fdef_flags;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     /* check the call stack */
     if ( exc->callTop >= exc->callSize )
     {
@@ -4084,15 +3744,6 @@
     if ( !def->active )
       goto Fail;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY                         &&
-         exc->ignore_x_mode                                  &&
-         ( def->sph_fdef_flags & SPH_FDEF_VACUFORM_ROUND_1 ) )
-      goto Fail;
-    else
-      exc->sph_in_func_flags = def->sph_fdef_flags;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     /* check stack */
     if ( exc->callTop >= exc->callSize )
     {
@@ -4998,14 +4649,6 @@
       }
     }
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    /* Disable Type 2 Vacuform Rounds - e.g. Arial Narrow */
-    if ( SUBPIXEL_HINTING_INFINALITY         &&
-         exc->ignore_x_mode                  &&
-         ( D < 0 ? NEG_LONG( D ) : D ) == 64 )
-      D += 1;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     args[0] = D;
   }
 
@@ -5267,13 +4910,6 @@
     /* except to change the subpixel flags temporarily */
     else if ( exc->iniRange == tt_coderange_glyph && K == 3 )
     {
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      /* INSTCTRL modifying flag 3 also has an effect */
-      /* outside of the CVT program                   */
-      if ( SUBPIXEL_HINTING_INFINALITY )
-        exc->ignore_x_mode = !FT_BOOL( L == 4 );
-#endif
-
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
       /* Native ClearType fonts sign a waiver that turns off all backward  */
       /* compatibility hacks and lets them program points to the grid like */
@@ -5605,12 +5241,6 @@
         }
       }
       else
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      /* doesn't follow Cleartype spec but produces better result */
-      if ( SUBPIXEL_HINTING_INFINALITY && exc->ignore_x_mode )
-        Move_Zp2_Point( exc, point, 0, dy, TRUE );
-      else
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
         Move_Zp2_Point( exc, point, dx, dy, TRUE );
 
       exc->GS.loop--;
@@ -5771,76 +5401,6 @@
         }
       }
       else
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY &&
-           exc->ignore_x_mode          )
-      {
-        FT_Int  B1, B2;
-
-
-        /*  If not using ignore_x_mode rendering, allow ZP2 move.        */
-        /*  If inline deltas aren't allowed, skip ZP2 move.              */
-        /*  If using ignore_x_mode rendering, allow ZP2 point move if:   */
-        /*   - freedom vector is y and sph_compatibility_mode is off     */
-        /*   - the glyph is composite and the move is in the Y direction */
-        /*   - the glyph is specifically set to allow SHPIX moves        */
-        /*   - the move is on a previously Y-touched point               */
-
-        /* save point for later comparison */
-        B1 = exc->zp2.cur[point].y;
-
-        if ( exc->face->sph_compatibility_mode )
-        {
-          if ( exc->sph_tweak_flags & SPH_TWEAK_ROUND_NONPIXEL_Y_MOVES )
-            dy = FT_PIX_ROUND( B1 + dy ) - B1;
-
-          /* skip post-iup deltas */
-          if ( exc->iup_called                                          &&
-               ( ( exc->sph_in_func_flags & SPH_FDEF_INLINE_DELTA_1 ) ||
-                 ( exc->sph_in_func_flags & SPH_FDEF_INLINE_DELTA_2 ) ) )
-            goto Skip;
-
-          if ( !( exc->sph_tweak_flags & SPH_TWEAK_ALWAYS_SKIP_DELTAP ) &&
-                ( ( exc->is_composite && exc->GS.freeVector.y != 0 ) ||
-                  ( exc->zp2.tags[point] & FT_CURVE_TAG_TOUCH_Y )    ||
-                  ( exc->sph_tweak_flags & SPH_TWEAK_DO_SHPIX )      )  )
-            Move_Zp2_Point( exc, point, 0, dy, TRUE );
-
-          /* save new point */
-          if ( exc->GS.freeVector.y != 0 )
-          {
-            B2 = exc->zp2.cur[point].y;
-
-            /* reverse any disallowed moves */
-            if ( ( B1 & 63 ) == 0 &&
-                 ( B2 & 63 ) != 0 &&
-                 B1 != B2         )
-              Move_Zp2_Point( exc, point, 0, NEG_LONG( dy ), TRUE );
-          }
-        }
-        else if ( exc->GS.freeVector.y != 0 )
-        {
-          Move_Zp2_Point( exc, point, dx, dy, TRUE );
-
-          /* save new point */
-          B2 = exc->zp2.cur[point].y;
-
-          /* reverse any disallowed moves */
-          if ( ( exc->sph_tweak_flags & SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES ) &&
-               ( B1 & 63 ) != 0                                           &&
-               ( B2 & 63 ) != 0                                           &&
-               B1 != B2                                                   )
-            Move_Zp2_Point( exc,
-                            point,
-                            NEG_LONG( dx ),
-                            NEG_LONG( dy ),
-                            TRUE );
-        }
-        else if ( exc->sph_in_func_flags & SPH_FDEF_TYPEMAN_DIAGENDCTRL )
-          Move_Zp2_Point( exc, point, dx, dy, TRUE );
-      }
-      else
-#endif
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
       if ( SUBPIXEL_HINTING_MINIMAL    &&
            exc->backward_compatibility )
@@ -5860,9 +5420,6 @@
 #endif
         Move_Zp2_Point( exc, point, dx, dy, TRUE );
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    Skip:
-#endif
       exc->GS.loop--;
     }
 
@@ -5907,28 +5464,6 @@
 
     distance = PROJECT( exc->zp1.cur + point, exc->zp0.cur + exc->GS.rp0 );
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    /* subpixel hinting - make MSIRP respect CVT cut-in; */
-    if ( SUBPIXEL_HINTING_INFINALITY &&
-         exc->ignore_x_mode          &&
-         exc->GS.freeVector.x != 0   )
-    {
-      FT_F26Dot6  control_value_cutin = exc->GS.control_value_cutin;
-      FT_F26Dot6  delta;
-
-
-      if ( !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) )
-        control_value_cutin = 0;
-
-      delta = SUB_LONG( distance, args[1] );
-      if ( delta < 0 )
-        delta = NEG_LONG( delta );
-
-      if ( delta >= control_value_cutin )
-        distance = args[1];
-    }
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     exc->func_move( exc,
                     &exc->zp1,
                     point,
@@ -5969,14 +5504,7 @@
     if ( ( exc->opcode & 1 ) != 0 )
     {
       cur_dist = FAST_PROJECT( &exc->zp0.cur[point] );
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY &&
-           exc->ignore_x_mode          &&
-           exc->GS.freeVector.x != 0   )
-        distance = SUB_LONG( Round_None( exc, cur_dist, 3 ), cur_dist );
-      else
-#endif
-        distance = SUB_LONG( exc->func_round( exc, cur_dist, 3 ), cur_dist );
+      distance = SUB_LONG( exc->func_round( exc, cur_dist, 3 ), cur_dist );
     }
     else
       distance = 0;
@@ -6039,27 +5567,12 @@
 
     if ( exc->GS.gep0 == 0 )   /* If in twilight zone */
     {
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      /* Only adjust if not in sph_compatibility_mode or ignore_x_mode. */
-      /* Determined via experimentation and may be incorrect...         */
-      if ( !( SUBPIXEL_HINTING_INFINALITY           &&
-              ( exc->ignore_x_mode                &&
-                exc->face->sph_compatibility_mode ) ) )
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-        exc->zp0.org[point].x = TT_MulFix14( distance,
+      exc->zp0.org[point].x = TT_MulFix14( distance,
                                              exc->GS.freeVector.x );
       exc->zp0.org[point].y = TT_MulFix14( distance,
                                            exc->GS.freeVector.y );
       exc->zp0.cur[point]   = exc->zp0.org[point];
     }
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY                    &&
-         exc->ignore_x_mode                             &&
-         ( exc->sph_tweak_flags & SPH_TWEAK_MIAP_HACK ) &&
-         distance > 0                                   &&
-         exc->GS.freeVector.y != 0                      )
-      distance = 0;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
 
     org_dist = FAST_PROJECT( &exc->zp0.cur[point] );
 
@@ -6069,15 +5582,6 @@
       FT_F26Dot6  delta;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY                        &&
-           exc->ignore_x_mode                                 &&
-           exc->GS.freeVector.x != 0                          &&
-           exc->GS.freeVector.y == 0                          &&
-           !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) )
-        control_value_cutin = 0;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       delta = SUB_LONG( distance, org_dist );
       if ( delta < 0 )
         delta = NEG_LONG( delta );
@@ -6085,14 +5589,7 @@
       if ( delta > control_value_cutin )
         distance = org_dist;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY &&
-           exc->ignore_x_mode          &&
-           exc->GS.freeVector.x != 0   )
-        distance = Round_None( exc, distance, 3 );
-      else
-#endif
-        distance = exc->func_round( exc, distance, 3 );
+      distance = exc->func_round( exc, distance, 3 );
     }
 
     exc->func_move( exc, &exc->zp0, point, SUB_LONG( distance, org_dist ) );
@@ -6185,14 +5682,7 @@
 
     if ( ( exc->opcode & 4 ) != 0 )
     {
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY &&
-           exc->ignore_x_mode          &&
-           exc->GS.freeVector.x != 0   )
-        distance = Round_None( exc, org_dist, exc->opcode & 3 );
-      else
-#endif
-        distance = exc->func_round( exc, org_dist, exc->opcode & 3 );
+      distance = exc->func_round( exc, org_dist, exc->opcode & 3 );
     }
     else
       distance = Round_None( exc, org_dist, exc->opcode & 3 );
@@ -6204,14 +5694,6 @@
       FT_F26Dot6  minimum_distance = exc->GS.minimum_distance;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY                        &&
-           exc->ignore_x_mode                                 &&
-           exc->GS.freeVector.x != 0                          &&
-           !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) )
-        minimum_distance = 0;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       if ( org_dist >= 0 )
       {
         if ( distance < minimum_distance )
@@ -6354,41 +5836,7 @@
       distance = exc->func_round( exc, cvt_dist, exc->opcode & 3 );
     }
     else
-    {
-
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      /* do cvt cut-in always in MIRP for sph */
-      if ( SUBPIXEL_HINTING_INFINALITY  &&
-           exc->ignore_x_mode           &&
-           exc->GS.gep0 == exc->GS.gep1 )
-      {
-        FT_F26Dot6  control_value_cutin = exc->GS.control_value_cutin;
-
-
-        if ( exc->GS.freeVector.x != 0                          &&
-             !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) )
-          control_value_cutin = 0;
-
-        if ( exc->GS.freeVector.y != 0                                 &&
-             ( exc->sph_tweak_flags & SPH_TWEAK_TIMES_NEW_ROMAN_HACK ) )
-        {
-          if ( cur_dist < -64 )
-            cvt_dist -= 16;
-          else if ( cur_dist > 64 && cur_dist < 84 )
-            cvt_dist += 32;
-        }
-
-        delta = SUB_LONG( cvt_dist, org_dist );
-        if ( delta < 0 )
-          delta = NEG_LONG( delta );
-
-        if ( delta > control_value_cutin )
-          cvt_dist = org_dist;
-      }
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       distance = Round_None( exc, cvt_dist, exc->opcode & 3 );
-    }
 
     /* minimum distance test */
 
@@ -6397,14 +5845,6 @@
       FT_F26Dot6  minimum_distance    = exc->GS.minimum_distance;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-      if ( SUBPIXEL_HINTING_INFINALITY                        &&
-           exc->ignore_x_mode                                 &&
-           exc->GS.freeVector.x != 0                          &&
-           !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) )
-        minimum_distance = 0;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       if ( org_dist >= 0 )
       {
         if ( distance < minimum_distance )
@@ -6417,51 +5857,10 @@
       }
     }
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY &&
-         exc->ignore_x_mode          &&
-         exc->GS.freeVector.y != 0   )
-    {
-      FT_Int   B1, B2;
-
-
-      B1 = exc->zp1.cur[point].y;
-
-      /* Round moves if necessary */
-      if ( exc->sph_tweak_flags & SPH_TWEAK_ROUND_NONPIXEL_Y_MOVES )
-        distance = FT_PIX_ROUND( B1 + distance - cur_dist ) - B1 + cur_dist;
-
-      if ( ( exc->opcode & 16 ) == 0                               &&
-           ( exc->opcode & 8 ) == 0                                &&
-           ( exc->sph_tweak_flags & SPH_TWEAK_COURIER_NEW_2_HACK ) )
-        distance += 64;
-
-      exc->func_move( exc,
-                      &exc->zp1,
-                      point,
-                      SUB_LONG( distance, cur_dist ) );
-
-      B2 = exc->zp1.cur[point].y;
-
-      /* Reverse move if necessary */
-      if ( ( exc->face->sph_compatibility_mode &&
-             ( B1 & 63 ) == 0                  &&
-             ( B2 & 63 ) != 0                  )                          ||
-           ( ( exc->sph_tweak_flags & SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES ) &&
-             ( B1 & 63 ) != 0                                           &&
-             ( B2 & 63 ) != 0                                           ) )
-        exc->func_move( exc,
-                        &exc->zp1,
-                        point,
-                        SUB_LONG( cur_dist, distance ) );
-    }
-    else
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
-      exc->func_move( exc,
-                      &exc->zp1,
-                      point,
-                      SUB_LONG( distance, cur_dist ) );
+    exc->func_move( exc,
+                    &exc->zp1,
+                    point,
+                    SUB_LONG( distance, cur_dist ) );
 
   Fail:
     exc->GS.rp1 = exc->GS.rp0;
@@ -6486,17 +5885,6 @@
     FT_F26Dot6  distance;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY                               &&
-         exc->ignore_x_mode                                        &&
-         exc->iup_called                                           &&
-         ( exc->sph_tweak_flags & SPH_TWEAK_NO_ALIGNRP_AFTER_IUP ) )
-    {
-      exc->error = FT_THROW( Invalid_Reference );
-      goto Fail;
-    }
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     if ( exc->top < exc->GS.loop                  ||
          BOUNDS( exc->GS.rp0, exc->zp0.n_points ) )
     {
@@ -7055,16 +6443,6 @@
     contour = 0;
     point   = 0;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY &&
-         exc->ignore_x_mode          )
-    {
-      exc->iup_called = TRUE;
-      if ( exc->sph_tweak_flags & SPH_TWEAK_SKIP_IUP )
-        return;
-    }
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     do
     {
       end_point   = exc->pts.contours[contour] - exc->pts.first_point;
@@ -7137,14 +6515,6 @@
     FT_Long    B;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    if ( SUBPIXEL_HINTING_INFINALITY                              &&
-         exc->ignore_x_mode                                       &&
-         exc->iup_called                                          &&
-         ( exc->sph_tweak_flags & SPH_TWEAK_NO_DELTAP_AFTER_IUP ) )
-      goto Fail;
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     P    = (FT_ULong)exc->func_cur_ppem( exc );
     nump = (FT_ULong)args[0];   /* some points theoretically may occur more
                                    than once, thus UShort isn't enough */
@@ -7197,87 +6567,21 @@
             B++;
           B *= 1L << ( 6 - exc->GS.delta_shift );
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
 
-          if ( SUBPIXEL_HINTING_INFINALITY )
+#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
+          /* See `ttinterp.h' for details on backward compatibility */
+          /* mode.                                                  */
+          if ( SUBPIXEL_HINTING_MINIMAL    &&
+               exc->backward_compatibility )
           {
-            /*
-             * Allow delta move if
-             *
-             * - not using ignore_x_mode rendering,
-             * - glyph is specifically set to allow it, or
-             * - glyph is composite and freedom vector is not in subpixel
-             *   direction.
-             */
-            if ( !exc->ignore_x_mode                                   ||
-                 ( exc->sph_tweak_flags & SPH_TWEAK_ALWAYS_DO_DELTAP ) ||
-                 ( exc->is_composite && exc->GS.freeVector.y != 0 )    )
+            if ( !( exc->iupx_called && exc->iupy_called )              &&
+                 ( ( exc->is_composite && exc->GS.freeVector.y != 0 ) ||
+                   ( exc->zp0.tags[A] & FT_CURVE_TAG_TOUCH_Y )        ) )
               exc->func_move( exc, &exc->zp0, A, B );
-
-            /* Otherwise, apply subpixel hinting and compatibility mode */
-            /* rules, always skipping deltas in subpixel direction.     */
-            else if ( exc->ignore_x_mode && exc->GS.freeVector.y != 0 )
-            {
-              FT_UShort  B1, B2;
-
-
-              /* save the y value of the point now; compare after move */
-              B1 = (FT_UShort)exc->zp0.cur[A].y;
-
-              /* Standard subpixel hinting: Allow y move for y-touched */
-              /* points.  This messes up DejaVu ...                    */
-              if ( !exc->face->sph_compatibility_mode          &&
-                   ( exc->zp0.tags[A] & FT_CURVE_TAG_TOUCH_Y ) )
-                exc->func_move( exc, &exc->zp0, A, B );
-
-              /* compatibility mode */
-              else if ( exc->face->sph_compatibility_mode                        &&
-                        !( exc->sph_tweak_flags & SPH_TWEAK_ALWAYS_SKIP_DELTAP ) )
-              {
-                if ( exc->sph_tweak_flags & SPH_TWEAK_ROUND_NONPIXEL_Y_MOVES )
-                  B = FT_PIX_ROUND( B1 + B ) - B1;
-
-                /* Allow delta move if using sph_compatibility_mode,   */
-                /* IUP has not been called, and point is touched on Y. */
-                if ( !exc->iup_called                            &&
-                     ( exc->zp0.tags[A] & FT_CURVE_TAG_TOUCH_Y ) )
-                  exc->func_move( exc, &exc->zp0, A, B );
-              }
-
-              B2 = (FT_UShort)exc->zp0.cur[A].y;
-
-              /* Reverse this move if it results in a disallowed move */
-              if ( exc->GS.freeVector.y != 0                          &&
-                   ( ( exc->face->sph_compatibility_mode          &&
-                       ( B1 & 63 ) == 0                           &&
-                       ( B2 & 63 ) != 0                           ) ||
-                     ( ( exc->sph_tweak_flags                   &
-                         SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP ) &&
-                       ( B1 & 63 ) != 0                           &&
-                       ( B2 & 63 ) != 0                           ) ) )
-                exc->func_move( exc, &exc->zp0, A, NEG_LONG( B ) );
-            }
           }
           else
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
-          {
-
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
-            /* See `ttinterp.h' for details on backward compatibility */
-            /* mode.                                                  */
-            if ( SUBPIXEL_HINTING_MINIMAL    &&
-                 exc->backward_compatibility )
-            {
-              if ( !( exc->iupx_called && exc->iupy_called )              &&
-                   ( ( exc->is_composite && exc->GS.freeVector.y != 0 ) ||
-                     ( exc->zp0.tags[A] & FT_CURVE_TAG_TOUCH_Y )        ) )
-                exc->func_move( exc, &exc->zp0, A, B );
-            }
-            else
 #endif
-              exc->func_move( exc, &exc->zp0, A, B );
-          }
+            exc->func_move( exc, &exc->zp0, A, B );
         }
       }
       else
@@ -7380,14 +6684,6 @@
    * GETINFO[]:    GET INFOrmation
    * Opcode range: 0x88
    * Stack:        uint32 --> uint32
-   *
-   * XXX: UNDOCUMENTED: Selector bits higher than 9 are currently (May
-   *      2015) not documented in the OpenType specification.
-   *
-   *      Selector bit 11 is incorrectly described as bit 8, while the
-   *      real meaning of bit 8 (vertical LCD subpixels) stays
-   *      undocumented.  The same mistake can be found in Greg Hitchcock's
-   *      whitepaper.
    */
   static void
   Ins_GETINFO( TT_ExecContext  exc,
@@ -7399,31 +6695,8 @@
 
     K = 0;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    /*********************************
-     * RASTERIZER VERSION
-     * Selector Bit:  0
-     * Return Bit(s): 0-7
-     */
-    if ( SUBPIXEL_HINTING_INFINALITY &&
-         ( args[0] & 1 ) != 0        &&
-         exc->subpixel_hinting       )
-    {
-      if ( exc->ignore_x_mode )
-      {
-        /* if in ClearType backward compatibility mode,         */
-        /* we sometimes change the TrueType version dynamically */
-        K = exc->rasterizer_version;
-        FT_TRACE6(( "Setting rasterizer version %d\n",
-                    exc->rasterizer_version ));
-      }
-      else
-        K = TT_INTERPRETER_VERSION_38;
-    }
-    else
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-      if ( ( args[0] & 1 ) != 0 )
-        K = driver->interpreter_version;
+    if ( ( args[0] & 1 ) != 0 )
+      K = driver->interpreter_version;
 
     /*********************************
      * GLYPH ROTATED
@@ -7446,8 +6719,6 @@
      * VARIATION GLYPH
      * Selector Bit:  3
      * Return Bit(s): 10
-     *
-     * XXX: UNDOCUMENTED!
      */
     if ( (args[0] & 8 ) != 0 && exc->face->blend )
       K |= 1 << 10;
@@ -7522,89 +6793,6 @@
     }
 #endif
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-
-    if ( SUBPIXEL_HINTING_INFINALITY                          &&
-         exc->rasterizer_version >= TT_INTERPRETER_VERSION_35 )
-    {
-
-      if ( exc->rasterizer_version >= 37 )
-      {
-        /*********************************
-         * HINTING FOR SUBPIXEL
-         * Selector Bit:  6
-         * Return Bit(s): 13
-         */
-        if ( ( args[0] & 64 ) != 0 && exc->subpixel_hinting )
-          K |= 1 << 13;
-
-        /*********************************
-         * COMPATIBLE WIDTHS ENABLED
-         * Selector Bit:  7
-         * Return Bit(s): 14
-         *
-         * Functionality still needs to be added
-         */
-        if ( ( args[0] & 128 ) != 0 && exc->compatible_widths )
-          K |= 1 << 14;
-
-        /*********************************
-         * VERTICAL LCD SUBPIXELS?
-         * Selector Bit:  8
-         * Return Bit(s): 15
-         *
-         * Functionality still needs to be added
-         */
-        if ( ( args[0] & 256 ) != 0 && exc->vertical_lcd )
-          K |= 1 << 15;
-
-        /*********************************
-         * HINTING FOR BGR?
-         * Selector Bit:  9
-         * Return Bit(s): 16
-         *
-         * Functionality still needs to be added
-         */
-        if ( ( args[0] & 512 ) != 0 && exc->bgr )
-          K |= 1 << 16;
-
-        if ( exc->rasterizer_version >= 38 )
-        {
-          /*********************************
-           * SUBPIXEL POSITIONED?
-           * Selector Bit:  10
-           * Return Bit(s): 17
-           *
-           * Functionality still needs to be added
-           */
-          if ( ( args[0] & 1024 ) != 0 && exc->subpixel_positioned )
-            K |= 1 << 17;
-
-          /*********************************
-           * SYMMETRICAL SMOOTHING
-           * Selector Bit:  11
-           * Return Bit(s): 18
-           *
-           * Functionality still needs to be added
-           */
-          if ( ( args[0] & 2048 ) != 0 && exc->symmetrical_smoothing )
-            K |= 1 << 18;
-
-          /*********************************
-           * GRAY CLEARTYPE
-           * Selector Bit:  12
-           * Return Bit(s): 19
-           *
-           * Functionality still needs to be added
-           */
-          if ( ( args[0] & 4096 ) != 0 && exc->gray_cleartype )
-            K |= 1 << 19;
-        }
-      }
-    }
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     args[0] = K;
   }
 
@@ -7739,25 +6927,14 @@
   /* documentation is in ttinterp.h */
 
   FT_EXPORT_DEF( FT_Error )
-  TT_RunIns( TT_ExecContext  exc )
+  TT_RunIns( void*  exec )
   {
+    TT_ExecContext  exc = (TT_ExecContext)exec;
+
     FT_ULong   ins_counter = 0;  /* executed instructions counter */
     FT_ULong   num_twilight_points;
     FT_UShort  i;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    FT_Byte    opcode_pattern[1][2] = {
-                  /* #8 TypeMan Talk Align */
-                  {
-                    0x06, /* SPVTL   */
-                    0x7D, /* RDTG    */
-                  },
-                };
-    FT_UShort  opcode_patterns   = 1;
-    FT_UShort  opcode_pointer[1] = { 0 };
-    FT_UShort  opcode_size[1]    = { 1 };
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
 
     /* We restrict the number of twilight points to a reasonable,     */
     /* heuristic value to avoid slow execution of malformed bytecode. */
@@ -7835,9 +7012,6 @@
     Compute_Round( exc, (FT_Byte)exc->GS.round_state );
 
     /* These flags cancel execution of some opcodes after IUP is called */
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    exc->iup_called  = FALSE;
-#endif
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
     exc->iupx_called = FALSE;
     exc->iupy_called = FALSE;
@@ -7906,7 +7080,7 @@
         /* a variable number of arguments             */
 
         /* it is the job of the application to `activate' GX handling, */
-        /* this is, calling any of the GX API functions on the current */
+        /* that is, calling any of the GX API functions on the current */
         /* font to select a variation instance                         */
         if ( exc->face->blend )
           exc->new_top = exc->args + exc->face->blend->num_axis;
@@ -7927,39 +7101,6 @@
       exc->step_ins = TRUE;
       exc->error    = FT_Err_Ok;
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-
-      if ( SUBPIXEL_HINTING_INFINALITY )
-      {
-        for ( i = 0; i < opcode_patterns; i++ )
-        {
-          if ( opcode_pointer[i] < opcode_size[i]                  &&
-               exc->opcode == opcode_pattern[i][opcode_pointer[i]] )
-          {
-            opcode_pointer[i] += 1;
-
-            if ( opcode_pointer[i] == opcode_size[i] )
-            {
-              FT_TRACE6(( "sph: opcode ptrn: %d, %s %s\n",
-                          i,
-                          exc->face->root.family_name,
-                          exc->face->root.style_name ));
-
-              switch ( i )
-              {
-              case 0:
-                break;
-              }
-              opcode_pointer[i] = 0;
-            }
-          }
-          else
-            opcode_pointer[i] = 0;
-        }
-      }
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
       {
         FT_Long*  args   = exc->stack + exc->args;
         FT_Byte   opcode = exc->opcode;
@@ -8466,7 +7607,7 @@
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
         case 0x91:
           /* it is the job of the application to `activate' GX handling, */
-          /* this is, calling any of the GX API functions on the current */
+          /* that is, calling any of the GX API functions on the current */
           /* font to select a variation instance                         */
           if ( exc->face->blend )
             Ins_GETVARIATION( exc, args );
@@ -8604,7 +7745,7 @@
 #else /* !TT_USE_BYTECODE_INTERPRETER */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _tt_interp_dummy;
+  typedef int  tt_interp_dummy_;
 
 #endif /* !TT_USE_BYTECODE_INTERPRETER */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h	2024-04-08 05:38:38.000000000 +0000
@@ -98,48 +98,6 @@
   } TT_CallRec, *TT_CallStack;
 
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-
-  /**************************************************************************
-   *
-   * These structures define rules used to tweak subpixel hinting for
-   * various fonts.  "", 0, "", NULL value indicates to match any value.
-   */
-
-#define SPH_MAX_NAME_SIZE      32
-#define SPH_MAX_CLASS_MEMBERS  100
-
-  typedef struct  SPH_TweakRule_
-  {
-    const char      family[SPH_MAX_NAME_SIZE];
-    const FT_UInt   ppem;
-    const char      style[SPH_MAX_NAME_SIZE];
-    const FT_ULong  glyph;
-
-  } SPH_TweakRule;
-
-
-  typedef struct  SPH_ScaleRule_
-  {
-    const char      family[SPH_MAX_NAME_SIZE];
-    const FT_UInt   ppem;
-    const char      style[SPH_MAX_NAME_SIZE];
-    const FT_ULong  glyph;
-    const FT_ULong  scale;
-
-  } SPH_ScaleRule;
-
-
-  typedef struct  SPH_Font_Class_
-  {
-    const char  name[SPH_MAX_NAME_SIZE];
-    const char  member[SPH_MAX_CLASS_MEMBERS][SPH_MAX_NAME_SIZE];
-
-  } SPH_Font_Class;
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
-
   /**************************************************************************
    *
    * The main structure for the interpreter which collects all necessary
@@ -399,38 +357,6 @@
     FT_Bool            grayscale_cleartype;
 #endif /* TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL */
 
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    TT_Round_Func      func_round_sphn;   /* subpixel rounding function */
-
-    FT_Bool            subpixel_hinting;  /* Using subpixel hinting?       */
-    FT_Bool            ignore_x_mode;     /* Standard rendering mode for   */
-                                          /* subpixel hinting.  On if gray */
-                                          /* or subpixel hinting is on.    */
-
-    /* The following 6 aren't fully implemented but here for MS rasterizer */
-    /* compatibility.                                                      */
-    FT_Bool            compatible_widths;     /* compatible widths?        */
-    FT_Bool            symmetrical_smoothing; /* symmetrical_smoothing?    */
-    FT_Bool            bgr;                   /* bgr instead of rgb?       */
-    FT_Bool            vertical_lcd;          /* long side of LCD subpixel */
-                                              /* rectangles is horizontal  */
-    FT_Bool            subpixel_positioned;   /* subpixel positioned       */
-                                              /* (DirectWrite ClearType)?  */
-    FT_Bool            gray_cleartype;        /* ClearType hinting but     */
-                                              /* grayscale rendering       */
-
-    FT_Int             rasterizer_version;    /* MS rasterizer version     */
-
-    FT_Bool            iup_called;            /* IUP called for glyph?     */
-
-    FT_ULong           sph_tweak_flags;       /* flags to control          */
-                                              /* hint tweaks               */
-
-    FT_ULong           sph_in_func_flags;     /* flags to indicate if in   */
-                                              /* special functions         */
-
-#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
-
     /* We maintain two counters (in addition to the instruction counter) */
     /* that act as loop detectors for LOOPCALL and jump opcodes with     */
     /* negative arguments.                                               */
@@ -460,14 +386,6 @@
   FT_LOCAL( void )
   TT_Clear_CodeRange( TT_ExecContext  exec,
                       FT_Int          range );
-
-
-  FT_LOCAL( FT_Error )
-  Update_Max( FT_Memory  memory,
-              FT_ULong*  size,
-              FT_ULong   multiplier,
-              void*      _pbuff,
-              FT_ULong   new_max );
 #endif /* TT_USE_BYTECODE_INTERPRETER */
 
 
@@ -536,7 +454,7 @@
    *   invoked by the TrueType debugger.
    */
   FT_EXPORT( FT_Error )
-  TT_RunIns( TT_ExecContext  exec );
+  TT_RunIns( void*  exec );
 
 
 FT_END_HEADER
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c	2024-04-08 05:38:38.000000000 +0000
@@ -312,7 +312,8 @@
 #define TRICK_SFNT_IDS_NUM_FACES  31
 
     static const tt_sfnt_id_rec sfnt_id[TRICK_SFNT_IDS_NUM_FACES]
-                                       [TRICK_SFNT_IDS_PER_FACE] = {
+                                       [TRICK_SFNT_IDS_PER_FACE] =
+    {
 
 #define TRICK_SFNT_ID_cvt   0
 #define TRICK_SFNT_ID_fpgm  1
@@ -581,7 +582,7 @@
     FT_Bool   result = FALSE;
 
     TT_Face   face = (TT_Face)ttface;
-    FT_UInt   asize;
+    FT_ULong  asize;
     FT_ULong  i;
     FT_ULong  glyph_index = 0;
     FT_UInt   count       = 0;
@@ -589,7 +590,7 @@
 
     for( i = 0; i < face->num_locations; i++ )
     {
-      tt_face_get_location( face, i, &asize );
+      tt_face_get_location( ttface, i, &asize );
       if ( asize > 0 )
       {
         count += 1;
@@ -777,7 +778,6 @@
     }
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
-
     {
       FT_UInt  instance_index = (FT_UInt)face_index >> 16;
 
@@ -785,14 +785,11 @@
       if ( FT_HAS_MULTIPLE_MASTERS( ttface ) &&
            instance_index > 0                )
       {
-        error = TT_Set_Named_Instance( face, instance_index );
+        error = FT_Set_Named_Instance( ttface, instance_index );
         if ( error )
           goto Exit;
-
-        tt_apply_mvar( face );
       }
     }
-
 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
 
     /* initialize standard glyph loading routines */
@@ -858,7 +855,7 @@
     face->cvt_program_size  = 0;
 
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
-    tt_done_blend( face );
+    tt_done_blend( ttface );
     face->blend = NULL;
 #endif
   }
@@ -1338,39 +1335,29 @@
   /**************************************************************************
    *
    * @Function:
-   *   tt_size_reset
+   *   tt_size_reset_height
    *
    * @Description:
-   *   Reset a TrueType size when resolutions and character dimensions
-   *   have been changed.
+   *   Recompute a TrueType size's ascender, descender, and height
+   *   when resolutions and character dimensions have been changed.
+   *   Used for variation fonts as an iterator function.
    *
    * @Input:
-   *   size ::
-   *     A handle to the target size object.
-   *
-   *   only_height ::
-   *     Only recompute ascender, descender, and height;
-   *     this flag is used for variation fonts where
-   *     `tt_size_reset' is used as an iterator function.
+   *   ft_size ::
+   *     A handle to the target TT_Size object. This function will be called
+   *     through a `FT_Size_Reset_Func` pointer which takes `FT_Size`. This
+   *     function must take `FT_Size` as a result. The passed `FT_Size` is
+   *     expected to point to a `TT_Size`.
    */
   FT_LOCAL_DEF( FT_Error )
-  tt_size_reset( TT_Size  size,
-                 FT_Bool  only_height )
+  tt_size_reset_height( FT_Size  ft_size )
   {
-    TT_Face           face;
-    FT_Size_Metrics*  size_metrics;
-
-
-    face = (TT_Face)size->root.face;
-
-    /* nothing to do for CFF2 */
-    if ( face->is_cff2 )
-      return FT_Err_Ok;
+    TT_Size           size         = (TT_Size)ft_size;
+    TT_Face           face         = (TT_Face)size->root.face;
+    FT_Size_Metrics*  size_metrics = &size->hinted_metrics;
 
     size->ttmetrics.valid = FALSE;
 
-    size_metrics = &size->hinted_metrics;
-
     /* copy the result from base layer */
     *size_metrics = size->root.metrics;
 
@@ -1397,12 +1384,34 @@
 
     size->ttmetrics.valid = TRUE;
 
-    if ( only_height )
-    {
-      /* we must not recompute the scaling values here since       */
-      /* `tt_size_reset' was already called (with only_height = 0) */
-      return FT_Err_Ok;
-    }
+    return FT_Err_Ok;
+  }
+
+
+  /**************************************************************************
+   *
+   * @Function:
+   *   tt_size_reset
+   *
+   * @Description:
+   *   Reset a TrueType size when resolutions and character dimensions
+   *   have been changed.
+   *
+   * @Input:
+   *   size ::
+   *     A handle to the target size object.
+   */
+  FT_LOCAL_DEF( FT_Error )
+  tt_size_reset( TT_Size  size )
+  {
+    FT_Error          error;
+    TT_Face           face         = (TT_Face)size->root.face;
+    FT_Size_Metrics*  size_metrics = &size->hinted_metrics;
+
+
+    error = tt_size_reset_height( (FT_Size)size );
+    if ( error )
+      return error;
 
     if ( face->header.Flags & 8 )
     {
@@ -1472,9 +1481,6 @@
     TT_Driver  driver = (TT_Driver)ttdriver;
 
     driver->interpreter_version = TT_INTERPRETER_VERSION_35;
-#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
-    driver->interpreter_version = TT_INTERPRETER_VERSION_38;
-#endif
 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
     driver->interpreter_version = TT_INTERPRETER_VERSION_40;
 #endif
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.h	2024-04-08 05:38:38.000000000 +0000
@@ -162,8 +162,6 @@
     FT_Long   end;            /* where does it end?                     */
     FT_UInt   opc;            /* function #, or instruction code        */
     FT_Bool   active;         /* is it active?                          */
-    FT_Bool   inline_delta;   /* is function that defines inline delta? */
-    FT_ULong  sph_fdef_flags; /* flags to identify special functions    */
 
   } TT_DefRecord, *TT_DefArray;
 
@@ -391,8 +389,10 @@
 #endif /* TT_USE_BYTECODE_INTERPRETER */
 
   FT_LOCAL( FT_Error )
-  tt_size_reset( TT_Size  size,
-                 FT_Bool  only_height );
+  tt_size_reset_height( FT_Size  size );
+
+  FT_LOCAL( FT_Error )
+  tt_size_reset( TT_Size  size );
 
 
   /**************************************************************************
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.c	2024-04-08 05:38:38.000000000 +0000
@@ -180,10 +180,11 @@
 
 
   FT_LOCAL_DEF( FT_ULong )
-  tt_face_get_location( TT_Face   face,
-                        FT_UInt   gindex,
-                        FT_UInt  *asize )
+  tt_face_get_location( FT_Face    face,   /* TT_Face */
+                        FT_UInt    gindex,
+                        FT_ULong  *asize )
   {
+    TT_Face   ttface = (TT_Face)face;
     FT_ULong  pos1, pos2;
     FT_Byte*  p;
     FT_Byte*  p_limit;
@@ -191,12 +192,12 @@
 
     pos1 = pos2 = 0;
 
-    if ( gindex < face->num_locations )
+    if ( gindex < ttface->num_locations )
     {
-      if ( face->header.Index_To_Loc_Format != 0 )
+      if ( ttface->header.Index_To_Loc_Format != 0 )
       {
-        p       = face->glyph_locations + gindex * 4;
-        p_limit = face->glyph_locations + face->num_locations * 4;
+        p       = ttface->glyph_locations + gindex * 4;
+        p_limit = ttface->glyph_locations + ttface->num_locations * 4;
 
         pos1 = FT_NEXT_ULONG( p );
         pos2 = pos1;
@@ -206,8 +207,8 @@
       }
       else
       {
-        p       = face->glyph_locations + gindex * 2;
-        p_limit = face->glyph_locations + face->num_locations * 2;
+        p       = ttface->glyph_locations + gindex * 2;
+        p_limit = ttface->glyph_locations + ttface->num_locations * 2;
 
         pos1 = FT_NEXT_USHORT( p );
         pos2 = pos1;
@@ -221,30 +222,30 @@
     }
 
     /* Check broken location data. */
-    if ( pos1 > face->glyf_len )
+    if ( pos1 > ttface->glyf_len )
     {
       FT_TRACE1(( "tt_face_get_location:"
                   " too large offset (0x%08lx) found for glyph index %d,\n",
                   pos1, gindex ));
       FT_TRACE1(( "                     "
                   " exceeding the end of `glyf' table (0x%08lx)\n",
-                  face->glyf_len ));
+                  ttface->glyf_len ));
       *asize = 0;
       return 0;
     }
 
-    if ( pos2 > face->glyf_len )
+    if ( pos2 > ttface->glyf_len )
     {
       /* We try to sanitize the last `loca' entry. */
-      if ( gindex == face->num_locations - 2 )
+      if ( gindex == ttface->num_locations - 2 )
       {
         FT_TRACE1(( "tt_face_get_location:"
                     " too large size (%ld bytes) found for glyph index %d,\n",
                     pos2 - pos1, gindex ));
         FT_TRACE1(( "                     "
                     " truncating at the end of `glyf' table to %ld bytes\n",
-                    face->glyf_len - pos1 ));
-        pos2 = face->glyf_len;
+                    ttface->glyf_len - pos1 ));
+        pos2 = ttface->glyf_len;
       }
       else
       {
@@ -253,7 +254,7 @@
                     pos2, gindex + 1 ));
         FT_TRACE1(( "                     "
                     " exceeding the end of `glyf' table (0x%08lx)\n",
-                    face->glyf_len ));
+                    ttface->glyf_len ));
         *asize = 0;
         return 0;
       }
@@ -268,9 +269,9 @@
     /* We get (intentionally) a wrong, non-zero result in case the  */
     /* `glyf' table is missing.                                     */
     if ( pos2 >= pos1 )
-      *asize = (FT_UInt)( pos2 - pos1 );
+      *asize = (FT_ULong)( pos2 - pos1 );
     else
-      *asize = (FT_UInt)( face->glyf_len - pos1 );
+      *asize = (FT_ULong)( ttface->glyf_len - pos1 );
 
     return pos1;
   }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/truetype/ttpload.h	2024-04-08 05:38:38.000000000 +0000
@@ -31,9 +31,9 @@
                      FT_Stream  stream );
 
   FT_LOCAL( FT_ULong )
-  tt_face_get_location( TT_Face   face,
-                        FT_UInt   gindex,
-                        FT_UInt  *asize );
+  tt_face_get_location( FT_Face    face,
+                        FT_UInt    gindex,
+                        FT_ULong  *asize );
 
   FT_LOCAL( void )
   tt_face_done_loca( TT_Face  face );
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1afm.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1afm.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1afm.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1afm.c	2024-04-08 05:38:38.000000000 +0000
@@ -405,7 +405,7 @@
 #else /* T1_CONFIG_OPTION_NO_AFM */
 
   /* ANSI C doesn't like empty source files */
-  typedef int  _t1_afm_dummy;
+  typedef int  t1_afm_dummy_;
 
 #endif /* T1_CONFIG_OPTION_NO_AFM */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1driver.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1driver.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1driver.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1driver.c	2024-04-08 05:38:38.000000000 +0000
@@ -56,28 +56,32 @@
    *
    */
 
-  static FT_Error
-  t1_get_glyph_name( T1_Face     face,
+  FT_CALLBACK_DEF( FT_Error )
+  t1_get_glyph_name( FT_Face     face,        /* T1_Face */
                      FT_UInt     glyph_index,
                      FT_Pointer  buffer,
                      FT_UInt     buffer_max )
   {
-    FT_STRCPYN( buffer, face->type1.glyph_names[glyph_index], buffer_max );
+    T1_Face  t1face = (T1_Face)face;
+
+
+    FT_STRCPYN( buffer, t1face->type1.glyph_names[glyph_index], buffer_max );
 
     return FT_Err_Ok;
   }
 
 
-  static FT_UInt
-  t1_get_name_index( T1_Face           face,
+  FT_CALLBACK_DEF( FT_UInt )
+  t1_get_name_index( FT_Face           face,        /* T1_Face */
                      const FT_String*  glyph_name )
   {
-    FT_Int  i;
+    T1_Face  t1face = (T1_Face)face;
+    FT_Int   i;
 
 
-    for ( i = 0; i < face->type1.num_glyphs; i++ )
+    for ( i = 0; i < t1face->type1.num_glyphs; i++ )
     {
-      FT_String*  gname = face->type1.glyph_names[i];
+      FT_String*  gname = t1face->type1.glyph_names[i];
 
 
       if ( !ft_strcmp( glyph_name, gname ) )
@@ -90,8 +94,8 @@
 
   static const FT_Service_GlyphDictRec  t1_service_glyph_dict =
   {
-    (FT_GlyphDict_GetNameFunc)  t1_get_glyph_name,    /* get_name   */
-    (FT_GlyphDict_NameIndexFunc)t1_get_name_index     /* name_index */
+    t1_get_glyph_name,  /* FT_GlyphDict_GetNameFunc   get_name   */
+    t1_get_name_index   /* FT_GlyphDict_NameIndexFunc name_index */
   };
 
 
@@ -101,9 +105,12 @@
    */
 
   static const char*
-  t1_get_ps_name( T1_Face  face )
+  t1_get_ps_name( FT_Face  face )    /* T1_Face */
   {
-    return (const char*) face->type1.font_name;
+    T1_Face  t1face = (T1_Face)face;
+
+
+    return (const char*) t1face->type1.font_name;
   }
 
 
@@ -121,30 +128,28 @@
 #ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
   static const FT_Service_MultiMastersRec  t1_service_multi_masters =
   {
-    (FT_Get_MM_Func)        T1_Get_Multi_Master,    /* get_mm                    */
-    (FT_Set_MM_Design_Func) T1_Set_MM_Design,       /* set_mm_design             */
-    (FT_Set_MM_Blend_Func)  T1_Set_MM_Blend,        /* set_mm_blend              */
-    (FT_Get_MM_Blend_Func)  T1_Get_MM_Blend,        /* get_mm_blend              */
-    (FT_Get_MM_Var_Func)    T1_Get_MM_Var,          /* get_mm_var                */
-    (FT_Set_Var_Design_Func)T1_Set_Var_Design,      /* set_var_design            */
-    (FT_Get_Var_Design_Func)T1_Get_Var_Design,      /* get_var_design            */
-    (FT_Set_Instance_Func)  T1_Reset_MM_Blend,      /* set_instance              */
-    (FT_Set_MM_WeightVector_Func)
-                            T1_Set_MM_WeightVector, /* set_mm_weightvector       */
-    (FT_Get_MM_WeightVector_Func)
-                            T1_Get_MM_WeightVector, /* get_mm_weightvector       */
-    (FT_Var_Load_Delta_Set_Idx_Map_Func)
-                            NULL,                   /* load_delta_set_idx_map    */
-    (FT_Var_Load_Item_Var_Store_Func)
-                            NULL,                   /* load_item_variation_store */
-    (FT_Var_Get_Item_Delta_Func)
-                            NULL,                   /* get_item_delta            */
-    (FT_Var_Done_Item_Var_Store_Func)
-                            NULL,                   /* done_item_variation_store */
-    (FT_Var_Done_Delta_Set_Idx_Map_Func)
-                            NULL,                   /* done_delta_set_index_map  */
-    (FT_Get_Var_Blend_Func) NULL,                   /* get_var_blend             */
-    (FT_Done_Blend_Func)    T1_Done_Blend           /* done_blend                */
+    T1_Get_Multi_Master,    /* FT_Get_MM_Func             get_mm             */
+    T1_Set_MM_Design,       /* FT_Set_MM_Design_Func      set_mm_design      */
+    T1_Set_MM_Blend,        /* FT_Set_MM_Blend_Func       set_mm_blend       */
+    T1_Get_MM_Blend,        /* FT_Get_MM_Blend_Func       get_mm_blend       */
+    T1_Get_MM_Var,          /* FT_Get_MM_Var_Func         get_mm_var         */
+    T1_Set_Var_Design,      /* FT_Set_Var_Design_Func     set_var_design     */
+    T1_Get_Var_Design,      /* FT_Get_Var_Design_Func     get_var_design     */
+    T1_Reset_MM_Blend,      /* FT_Set_Named_Instance_Func set_named_instance */
+    NULL,   /* FT_Get_Default_Named_Instance_Func get_default_named_instance */
+    T1_Set_MM_WeightVector,
+            /* FT_Set_MM_WeightVector_Func        set_mm_weightvector        */
+    T1_Get_MM_WeightVector,
+            /* FT_Get_MM_WeightVector_Func        get_mm_weightvector        */
+
+    NULL,   /* FT_Construct_PS_Name_Func          construct_ps_name          */
+    NULL,   /* FT_Var_Load_Delta_Set_Idx_Map_Func load_delta_set_idx_map     */
+    NULL,   /* FT_Var_Load_Item_Var_Store_Func    load_item_variation_store  */
+    NULL,   /* FT_Var_Get_Item_Delta_Func         get_item_delta             */
+    NULL,   /* FT_Var_Done_Item_Var_Store_Func    done_item_variation_store  */
+    NULL,   /* FT_Var_Done_Delta_Set_Idx_Map_Func done_delta_set_index_map   */
+    NULL,           /* FT_Get_Var_Blend_Func      get_var_blend              */
+    T1_Done_Blend   /* FT_Done_Blend_Func         done_blend                 */
   };
 #endif
 
@@ -632,11 +637,11 @@
 
   static const FT_Service_PsInfoRec  t1_service_ps_info =
   {
-    (PS_GetFontInfoFunc)   t1_ps_get_font_info,    /* ps_get_font_info    */
-    (PS_GetFontExtraFunc)  t1_ps_get_font_extra,   /* ps_get_font_extra   */
-    (PS_HasGlyphNamesFunc) t1_ps_has_glyph_names,  /* ps_has_glyph_names  */
-    (PS_GetFontPrivateFunc)t1_ps_get_font_private, /* ps_get_font_private */
-    (PS_GetFontValueFunc)  t1_ps_get_font_value,   /* ps_get_font_value   */
+    t1_ps_get_font_info,     /* PS_GetFontInfoFunc    ps_get_font_info    */
+    t1_ps_get_font_extra,    /* PS_GetFontExtraFunc   ps_get_font_extra   */
+    t1_ps_has_glyph_names,   /* PS_HasGlyphNamesFunc  ps_has_glyph_names  */
+    t1_ps_get_font_private,  /* PS_GetFontPrivateFunc ps_get_font_private */
+    t1_ps_get_font_value,    /* PS_GetFontValueFunc   ps_get_font_value   */
   };
 
 
@@ -656,9 +661,9 @@
   FT_DEFINE_SERVICE_PROPERTIESREC(
     t1_service_properties,
 
-    (FT_Properties_SetFunc)ps_property_set,      /* set_property */
-    (FT_Properties_GetFunc)ps_property_get )     /* get_property */
-
+    ps_property_set,  /* FT_Properties_SetFunc set_property */
+    ps_property_get   /* FT_Properties_GetFunc get_property */
+  )
 
   /*
    * SERVICE LIST
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1load.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1load.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1load.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1load.c	2024-04-08 05:38:38.000000000 +0000
@@ -73,7 +73,8 @@
 
 
 #ifdef FT_CONFIG_OPTION_INCREMENTAL
-#define IS_INCREMENTAL  FT_BOOL( face->root.internal->incremental_interface )
+#define IS_INCREMENTAL  \
+          FT_BOOL( FT_FACE( face )->internal->incremental_interface )
 #else
 #define IS_INCREMENTAL  0
 #endif
@@ -174,10 +175,11 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Get_Multi_Master( T1_Face           face,
+  T1_Get_Multi_Master( FT_Face           face,    /* T1_Face */
                        FT_Multi_Master*  master )
   {
-    PS_Blend  blend = face->blend;
+    T1_Face   t1face = (T1_Face)face;
+    PS_Blend  blend  = t1face->blend;
     FT_UInt   n;
     FT_Error  error;
 
@@ -225,11 +227,12 @@
     for ( j = 1; j < axismap->num_points; j++ )
     {
       if ( ncv <= axismap->blend_points[j] )
-        return INT_TO_FIXED( axismap->design_points[j - 1] ) +
-               ( axismap->design_points[j] - axismap->design_points[j - 1] ) *
-               FT_DivFix( ncv - axismap->blend_points[j - 1],
-                          axismap->blend_points[j] -
-                            axismap->blend_points[j - 1] );
+        return INT_TO_FIXED( axismap->design_points[j - 1] +
+                               FT_MulDiv( ncv - axismap->blend_points[j - 1],
+                                          axismap->design_points[j] -
+                                            axismap->design_points[j - 1],
+                                          axismap->blend_points[j] -
+                                            axismap->blend_points[j - 1] ) );
     }
 
     return INT_TO_FIXED( axismap->design_points[axismap->num_points - 1] );
@@ -284,16 +287,17 @@
    * arguments needed by the GX var distortable fonts.
    */
   FT_LOCAL_DEF( FT_Error )
-  T1_Get_MM_Var( T1_Face      face,
+  T1_Get_MM_Var( FT_Face      face,    /* T1_Face */
                  FT_MM_Var*  *master )
   {
-    FT_Memory        memory = face->root.memory;
-    FT_MM_Var       *mmvar = NULL;
+    T1_Face          t1face = (T1_Face)face;
+    FT_Memory        memory = FT_FACE_MEMORY( face );
+    FT_MM_Var       *mmvar  = NULL;
     FT_Multi_Master  mmaster;
     FT_Error         error;
     FT_UInt          i;
     FT_Fixed         axiscoords[T1_MAX_MM_AXIS];
-    PS_Blend         blend = face->blend;
+    PS_Blend         blend  = t1face->blend;
     FT_UShort*       axis_flags;
 
     FT_Offset  mmvar_size;
@@ -319,9 +323,9 @@
                                   sizeof ( FT_UShort ) );
     axis_size       = mmaster.num_axis * sizeof ( FT_Var_Axis );
 
-    if ( FT_ALLOC( mmvar, mmvar_size +
-                          axis_flags_size +
-                          axis_size ) )
+    if ( FT_QALLOC( mmvar, mmvar_size +
+                           axis_flags_size +
+                           axis_size ) )
       goto Exit;
 
     mmvar->num_axis        = mmaster.num_axis;
@@ -332,8 +336,7 @@
     /* to make `FT_Get_Var_Axis_Flags' work: the function expects that the */
     /* values directly follow the data of `FT_MM_Var'                      */
     axis_flags = (FT_UShort*)( (char*)mmvar + mmvar_size );
-    for ( i = 0; i < mmaster.num_axis; i++ )
-      axis_flags[i] = 0;
+    FT_ARRAY_ZERO( axis_flags, mmaster.num_axis );
 
     mmvar->axis       = (FT_Var_Axis*)( (char*)axis_flags + axis_flags_size );
     mmvar->namedstyle = NULL;
@@ -438,32 +441,21 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Set_MM_Blend( T1_Face    face,
+  T1_Set_MM_Blend( FT_Face    face,       /* T1_Face */
                    FT_UInt    num_coords,
                    FT_Fixed*  coords )
   {
-    FT_Error  error;
-
-
-    error = t1_set_mm_blend( face, num_coords, coords );
-    if ( error )
-      return error;
-
-    if ( num_coords )
-      face->root.face_flags |= FT_FACE_FLAG_VARIATION;
-    else
-      face->root.face_flags &= ~FT_FACE_FLAG_VARIATION;
-
-    return FT_Err_Ok;
+    return t1_set_mm_blend( (T1_Face)face, num_coords, coords );
   }
 
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Get_MM_Blend( T1_Face    face,
+  T1_Get_MM_Blend( FT_Face    face,       /* T1_Face */
                    FT_UInt    num_coords,
                    FT_Fixed*  coords )
   {
-    PS_Blend  blend = face->blend;
+    T1_Face   t1face = (T1_Face)face;
+    PS_Blend  blend  = t1face->blend;
 
     FT_Fixed  axiscoords[4];
     FT_UInt   i, nc;
@@ -494,11 +486,12 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Set_MM_WeightVector( T1_Face    face,
+  T1_Set_MM_WeightVector( FT_Face    face,          /* T1_Face */
                           FT_UInt    len,
                           FT_Fixed*  weightvector )
   {
-    PS_Blend  blend = face->blend;
+    T1_Face   t1face = (T1_Face)face;
+    PS_Blend  blend  = t1face->blend;
     FT_UInt   i, n;
 
 
@@ -522,11 +515,6 @@
 
       for ( ; i < blend->num_designs; i++ )
         blend->weight_vector[i] = (FT_Fixed)0;
-
-      if ( len )
-        face->root.face_flags |= FT_FACE_FLAG_VARIATION;
-      else
-        face->root.face_flags &= ~FT_FACE_FLAG_VARIATION;
     }
 
     return FT_Err_Ok;
@@ -534,11 +522,12 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Get_MM_WeightVector( T1_Face    face,
+  T1_Get_MM_WeightVector( FT_Face    face,          /* T1_Face */
                           FT_UInt*   len,
                           FT_Fixed*  weightvector )
   {
-    PS_Blend  blend = face->blend;
+    T1_Face   t1face = (T1_Face)face;
+    PS_Blend  blend  = t1face->blend;
     FT_UInt   i;
 
 
@@ -563,12 +552,13 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Set_MM_Design( T1_Face   face,
+  T1_Set_MM_Design( FT_Face   face,       /* T1_Face */
                     FT_UInt   num_coords,
                     FT_Long*  coords )
   {
+    T1_Face   t1face = (T1_Face)face;
     FT_Error  error;
-    PS_Blend  blend = face->blend;
+    PS_Blend  blend  = t1face->blend;
     FT_UInt   n;
     FT_Fixed  final_blends[T1_MAX_MM_DESIGNS];
 
@@ -634,15 +624,10 @@
       final_blends[n] = the_blend;
     }
 
-    error = t1_set_mm_blend( face, blend->num_axis, final_blends );
+    error = t1_set_mm_blend( t1face, blend->num_axis, final_blends );
     if ( error )
       return error;
 
-    if ( num_coords )
-      face->root.face_flags |= FT_FACE_FLAG_VARIATION;
-    else
-      face->root.face_flags &= ~FT_FACE_FLAG_VARIATION;
-
     return FT_Err_Ok;
   }
 
@@ -650,7 +635,7 @@
   /* MM fonts don't have named instances, so only the design is reset */
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Reset_MM_Blend( T1_Face  face,
+  T1_Reset_MM_Blend( FT_Face  face,
                      FT_UInt  instance_index )
   {
     FT_UNUSED( instance_index );
@@ -665,7 +650,7 @@
    * arguments needed by the GX var distortable fonts.
    */
   FT_LOCAL_DEF( FT_Error )
-  T1_Set_Var_Design( T1_Face    face,
+  T1_Set_Var_Design( FT_Face    face,       /* T1_Face */
                      FT_UInt    num_coords,
                      FT_Fixed*  coords )
   {
@@ -684,11 +669,12 @@
 
 
   FT_LOCAL_DEF( FT_Error )
-  T1_Get_Var_Design( T1_Face    face,
+  T1_Get_Var_Design( FT_Face    face,       /* T1_Face */
                      FT_UInt    num_coords,
                      FT_Fixed*  coords )
   {
-    PS_Blend  blend = face->blend;
+    T1_Face   t1face = (T1_Face)face;
+    PS_Blend  blend  = t1face->blend;
 
     FT_Fixed  axiscoords[4];
     FT_UInt   i, nc;
@@ -720,10 +706,11 @@
 
 
   FT_LOCAL_DEF( void )
-  T1_Done_Blend( T1_Face  face )
+  T1_Done_Blend( FT_Face  face )    /* T1_Face */
   {
-    FT_Memory  memory = face->root.memory;
-    PS_Blend   blend  = face->blend;
+    T1_Face    t1face = (T1_Face)face;
+    FT_Memory  memory = FT_FACE_MEMORY( face );
+    PS_Blend   blend  = t1face->blend;
 
 
     if ( blend )
@@ -768,20 +755,22 @@
         dmap->num_points = 0;
       }
 
-      FT_FREE( face->blend );
+      FT_FREE( t1face->blend );
     }
   }
 
 
   static void
-  parse_blend_axis_types( T1_Face    face,
-                          T1_Loader  loader )
+  parse_blend_axis_types( FT_Face  face,     /* T1_Face */
+                          void*    loader_ )
   {
+    T1_Face      t1face = (T1_Face)face;
+    T1_Loader    loader = (T1_Loader)loader_;
     T1_TokenRec  axis_tokens[T1_MAX_MM_AXIS];
     FT_Int       n, num_axis;
-    FT_Error     error = FT_Err_Ok;
+    FT_Error     error  = FT_Err_Ok;
     PS_Blend     blend;
-    FT_Memory    memory;
+    FT_Memory    memory = FT_FACE_MEMORY( face );
 
 
     /* take an array of objects */
@@ -801,14 +790,13 @@
     }
 
     /* allocate blend if necessary */
-    error = t1_allocate_blend( face, 0, (FT_UInt)num_axis );
+    error = t1_allocate_blend( t1face, 0, (FT_UInt)num_axis );
     if ( error )
       goto Exit;
 
     FT_TRACE4(( " [" ));
 
-    blend  = face->blend;
-    memory = face->root.memory;
+    blend = t1face->blend;
 
     /* each token is an immediate containing the name of the axis */
     for ( n = 0; n < num_axis; n++ )
@@ -856,14 +844,16 @@
 
 
   static void
-  parse_blend_design_positions( T1_Face    face,
-                                T1_Loader  loader )
+  parse_blend_design_positions( FT_Face  face,     /* T1_Face */
+                                void*    loader_ )
   {
+    T1_Face      t1face   = (T1_Face)face;
+    T1_Loader    loader   = (T1_Loader)loader_;
     T1_TokenRec  design_tokens[T1_MAX_MM_DESIGNS];
     FT_Int       num_designs;
     FT_Int       num_axis = 0; /* make compiler happy */
     T1_Parser    parser   = &loader->parser;
-    FT_Memory    memory   = face->root.memory;
+    FT_Memory    memory   = FT_FACE_MEMORY( face );
     FT_Error     error    = FT_Err_Ok;
     FT_Fixed*    design_pos[T1_MAX_MM_DESIGNS];
 
@@ -921,7 +911,7 @@
           }
 
           num_axis = n_axis;
-          error = t1_allocate_blend( face,
+          error = t1_allocate_blend( t1face,
                                      (FT_UInt)num_designs,
                                      (FT_UInt)num_axis );
           if ( error )
@@ -962,7 +952,7 @@
       loader->parser.root.limit  = old_limit;
 
       /* a valid BlendDesignPosition has been parsed */
-      blend = face->blend;
+      blend = t1face->blend;
       if ( blend->design_pos[0] )
         FT_FREE( blend->design_pos[0] );
 
@@ -980,9 +970,11 @@
 
 
   static void
-  parse_blend_design_map( T1_Face    face,
-                          T1_Loader  loader )
+  parse_blend_design_map( FT_Face  face,     /* T1_Face */
+                          void*    loader_ )
   {
+    T1_Face      t1face = (T1_Face)face;
+    T1_Loader    loader = (T1_Loader)loader_;
     FT_Error     error  = FT_Err_Ok;
     T1_Parser    parser = &loader->parser;
     PS_Blend     blend;
@@ -990,7 +982,7 @@
     FT_Int       n, num_axis;
     FT_Byte*     old_cursor;
     FT_Byte*     old_limit;
-    FT_Memory    memory = face->root.memory;
+    FT_Memory    memory = FT_FACE_MEMORY( face );
 
 
     T1_ToTokenArray( parser, axis_tokens,
@@ -1011,10 +1003,10 @@
     old_cursor = parser->root.cursor;
     old_limit  = parser->root.limit;
 
-    error = t1_allocate_blend( face, 0, (FT_UInt)num_axis );
+    error = t1_allocate_blend( t1face, 0, (FT_UInt)num_axis );
     if ( error )
       goto Exit;
-    blend = face->blend;
+    blend = t1face->blend;
 
     FT_TRACE4(( " [" ));
 
@@ -1089,15 +1081,17 @@
 
 
   static void
-  parse_weight_vector( T1_Face    face,
-                       T1_Loader  loader )
+  parse_weight_vector( FT_Face  face,     /* T1_Face */
+                       void*    loader_ )
   {
+    T1_Face      t1face = (T1_Face)face;
+    T1_Loader    loader = (T1_Loader)loader_;
     T1_TokenRec  design_tokens[T1_MAX_MM_DESIGNS];
     FT_Int       num_designs;
     FT_Error     error  = FT_Err_Ok;
-    FT_Memory    memory = face->root.memory;
+    FT_Memory    memory = FT_FACE_MEMORY( face );
     T1_Parser    parser = &loader->parser;
-    PS_Blend     blend  = face->blend;
+    PS_Blend     blend  = t1face->blend;
     T1_Token     token;
     FT_Int       n;
     FT_Byte*     old_cursor;
@@ -1122,10 +1116,10 @@
 
     if ( !blend || !blend->num_designs )
     {
-      error = t1_allocate_blend( face, (FT_UInt)num_designs, 0 );
+      error = t1_allocate_blend( t1face, (FT_UInt)num_designs, 0 );
       if ( error )
         goto Exit;
-      blend = face->blend;
+      blend = t1face->blend;
     }
     else if ( blend->num_designs != (FT_UInt)num_designs )
     {
@@ -1173,11 +1167,15 @@
   /* e.g., /BuildCharArray [0 0 0 0 0 0 0 0] def           */
   /* we're only interested in the number of array elements */
   static void
-  parse_buildchar( T1_Face    face,
-                   T1_Loader  loader )
+  parse_buildchar( FT_Face  face,     /* T1_Face */
+                   void*    loader_ )
   {
-    face->len_buildchar = (FT_UInt)T1_ToFixedArray( &loader->parser,
-                                                    0, NULL, 0 );
+    T1_Face    t1face = (T1_Face)face;
+    T1_Loader  loader = (T1_Loader)loader_;
+
+
+    t1face->len_buildchar = (FT_UInt)T1_ToFixedArray( &loader->parser,
+                                                      0, NULL, 0 );
 
 #ifdef FT_DEBUG_LEVEL_TRACE
     {
@@ -1185,7 +1183,7 @@
 
 
       FT_TRACE4(( " [" ));
-      for ( i = 0; i < face->len_buildchar; i++ )
+      for ( i = 0; i < t1face->len_buildchar; i++ )
         FT_TRACE4(( " 0" ));
 
       FT_TRACE4(( "]\n" ));
@@ -1335,9 +1333,10 @@
 
 
   static void
-  parse_private( T1_Face    face,
-                 T1_Loader  loader )
+  parse_private( FT_Face  face,
+                 void*    loader_ )
   {
+    T1_Loader  loader = (T1_Loader)loader_;
     FT_UNUSED( face );
 
     loader->keywords_encountered |= T1_PRIVATE;
@@ -1401,13 +1400,14 @@
   /* and `/CharStrings' dictionaries.                                */
 
   static void
-  t1_parse_font_matrix( T1_Face    face,
-                        T1_Loader  loader )
+  t1_parse_font_matrix( FT_Face  face,     /* T1_Face */
+                        void*    loader_ )
   {
+    T1_Face     t1face = (T1_Face)face;
+    T1_Loader   loader = (T1_Loader)loader_;
     T1_Parser   parser = &loader->parser;
-    FT_Matrix*  matrix = &face->type1.font_matrix;
-    FT_Vector*  offset = &face->type1.font_offset;
-    FT_Face     root   = (FT_Face)&face->root;
+    FT_Matrix*  matrix = &t1face->type1.font_matrix;
+    FT_Vector*  offset = &t1face->type1.font_offset;
     FT_Fixed    temp[6];
     FT_Fixed    temp_scale;
     FT_Int      result;
@@ -1443,7 +1443,7 @@
     if ( temp_scale != 0x10000L )
     {
       /* set units per EM based on FontMatrix values */
-      root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
+      face->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale );
 
       temp[0] = FT_DivFix( temp[0], temp_scale );
       temp[1] = FT_DivFix( temp[1], temp_scale );
@@ -1471,14 +1471,16 @@
 
 
   static void
-  parse_encoding( T1_Face    face,
-                  T1_Loader  loader )
+  parse_encoding( FT_Face  face,     /* T1_Face */
+                  void*    loader_ )
   {
+    T1_Face    t1face = (T1_Face)face;
+    T1_Loader  loader = (T1_Loader)loader_;
     T1_Parser  parser = &loader->parser;
     FT_Byte*   cur;
     FT_Byte*   limit  = parser->root.limit;
 
-    PSAux_Service  psaux = (PSAux_Service)face->psaux;
+    PSAux_Service  psaux = (PSAux_Service)t1face->psaux;
 
 
     T1_Skip_Spaces( parser );
@@ -1494,7 +1496,7 @@
     /* and we must load it now                               */
     if ( ft_isdigit( *cur ) || *cur == '[' )
     {
-      T1_Encoding  encode          = &face->type1.encoding;
+      T1_Encoding  encode          = &t1face->type1.encoding;
       FT_Int       count, array_size, n;
       PS_Table     char_table      = &loader->encoding_table;
       FT_Memory    memory          = parser->root.memory;
@@ -1676,7 +1678,7 @@
       FT_TRACE4(( "]\n" ));
 #endif
 
-      face->type1.encoding_type = T1_ENCODING_TYPE_ARRAY;
+      t1face->type1.encoding_type = T1_ENCODING_TYPE_ARRAY;
       parser->root.cursor       = cur;
     }
 
@@ -1687,21 +1689,21 @@
       if ( cur + 17 < limit                                            &&
            ft_strncmp( (const char*)cur, "StandardEncoding", 16 ) == 0 )
       {
-        face->type1.encoding_type = T1_ENCODING_TYPE_STANDARD;
+        t1face->type1.encoding_type = T1_ENCODING_TYPE_STANDARD;
         FT_TRACE4(( " StandardEncoding\n" ));
       }
 
       else if ( cur + 15 < limit                                          &&
                 ft_strncmp( (const char*)cur, "ExpertEncoding", 14 ) == 0 )
       {
-        face->type1.encoding_type = T1_ENCODING_TYPE_EXPERT;
+        t1face->type1.encoding_type = T1_ENCODING_TYPE_EXPERT;
         FT_TRACE4(( " ExpertEncoding\n" ));
       }
 
       else if ( cur + 18 < limit                                             &&
                 ft_strncmp( (const char*)cur, "ISOLatin1Encoding", 17 ) == 0 )
       {
-        face->type1.encoding_type = T1_ENCODING_TYPE_ISOLATIN1;
+        t1face->type1.encoding_type = T1_ENCODING_TYPE_ISOLATIN1;
         FT_TRACE4(( " ISOLatin1Encoding\n" ));
       }
 
@@ -1715,9 +1717,11 @@
 
 
   static void
-  parse_subrs( T1_Face    face,
-               T1_Loader  loader )
+  parse_subrs( FT_Face  face,     /* T1_Face */
+               void*    loader_ )
   {
+    T1_Face    t1face = (T1_Face)face;
+    T1_Loader  loader = (T1_Loader)loader_;
     T1_Parser  parser = &loader->parser;
     PS_Table   table  = &loader->subrs;
     FT_Memory  memory = parser->root.memory;
@@ -1725,7 +1729,7 @@
     FT_Int     num_subrs;
     FT_UInt    count;
 
-    PSAux_Service  psaux = (PSAux_Service)face->psaux;
+    PSAux_Service  psaux = (PSAux_Service)t1face->psaux;
 
 
     T1_Skip_Spaces( parser );
@@ -1769,7 +1773,7 @@
        */
 
       FT_TRACE0(( "parse_subrs: adjusting number of subroutines"
-                  " (from %d to %ld)\n",
+                  " (from %d to %zu)\n",
                   num_subrs,
                   ( parser->root.limit - parser->root.cursor ) >> 3 ));
       num_subrs = ( parser->root.limit - parser->root.cursor ) >> 3;
@@ -1857,7 +1861,7 @@
       /*                                                         */
       /* thanks to Tom Kacvinsky for pointing this out           */
       /*                                                         */
-      if ( face->type1.private_dict.lenIV >= 0 )
+      if ( t1face->type1.private_dict.lenIV >= 0 )
       {
         FT_Byte*  temp = NULL;
 
@@ -1865,7 +1869,7 @@
         /* some fonts define empty subr records -- this is not totally */
         /* compliant to the specification (which says they should at   */
         /* least contain a `return'), but we support them anyway       */
-        if ( size < (FT_ULong)face->type1.private_dict.lenIV )
+        if ( size < (FT_ULong)t1face->type1.private_dict.lenIV )
         {
           error = FT_THROW( Invalid_File_Format );
           goto Fail;
@@ -1876,9 +1880,11 @@
           goto Fail;
         FT_MEM_COPY( temp, base, size );
         psaux->t1_decrypt( temp, size, 4330 );
-        size -= (FT_ULong)face->type1.private_dict.lenIV;
-        error = T1_Add_Table( table, (FT_Int)idx,
-                              temp + face->type1.private_dict.lenIV, size );
+        size -= (FT_ULong)t1face->type1.private_dict.lenIV;
+        error = T1_Add_Table( table,
+                              (FT_Int)idx,
+                              temp + t1face->type1.private_dict.lenIV,
+                              size );
         FT_FREE( temp );
       }
       else
@@ -1910,9 +1916,11 @@
 
 
   static void
-  parse_charstrings( T1_Face    face,
-                     T1_Loader  loader )
+  parse_charstrings( FT_Face  face,     /* T1_Face */
+                     void*    loader_ )
   {
+    T1_Face        t1face       = (T1_Face)face;
+    T1_Loader      loader       = (T1_Loader)loader_;
     T1_Parser      parser       = &loader->parser;
     PS_Table       code_table   = &loader->charstrings;
     PS_Table       name_table   = &loader->glyph_names;
@@ -1920,7 +1928,7 @@
     FT_Memory      memory       = parser->root.memory;
     FT_Error       error;
 
-    PSAux_Service  psaux        = (PSAux_Service)face->psaux;
+    PSAux_Service  psaux        = (PSAux_Service)t1face->psaux;
 
     FT_Byte*       cur          = parser->root.cursor;
     FT_Byte*       limit        = parser->root.limit;
@@ -1940,7 +1948,7 @@
     if ( num_glyphs > ( limit - cur ) >> 3 )
     {
       FT_TRACE0(( "parse_charstrings: adjusting number of glyphs"
-                  " (from %d to %ld)\n",
+                  " (from %d to %zu)\n",
                   num_glyphs, ( limit - cur ) >> 3 ));
       num_glyphs = ( limit - cur ) >> 3;
     }
@@ -2069,13 +2077,13 @@
           notdef_found = 1;
         }
 
-        if ( face->type1.private_dict.lenIV >= 0 &&
+        if ( t1face->type1.private_dict.lenIV >= 0 &&
              n < num_glyphs + TABLE_EXTEND       )
         {
           FT_Byte*  temp = NULL;
 
 
-          if ( size <= (FT_ULong)face->type1.private_dict.lenIV )
+          if ( size <= (FT_ULong)t1face->type1.private_dict.lenIV )
           {
             error = FT_THROW( Invalid_File_Format );
             goto Fail;
@@ -2086,9 +2094,11 @@
             goto Fail;
           FT_MEM_COPY( temp, base, size );
           psaux->t1_decrypt( temp, size, 4330 );
-          size -= (FT_ULong)face->type1.private_dict.lenIV;
-          error = T1_Add_Table( code_table, n,
-                                temp + face->type1.private_dict.lenIV, size );
+          size -= (FT_ULong)t1face->type1.private_dict.lenIV;
+          error = T1_Add_Table( code_table,
+                                n,
+                                temp + t1face->type1.private_dict.lenIV,
+                                size );
           FT_FREE( temp );
         }
         else
@@ -2570,7 +2580,7 @@
     {
       FT_ERROR(( "T1_Open_Face:"
                  " number-of-designs != 2 ^^ number-of-axes\n" ));
-      T1_Done_Blend( face );
+      T1_Done_Blend( FT_FACE( face ) );
     }
 
     if ( face->blend                                                     &&
@@ -2590,15 +2600,15 @@
     /* font as a normal PS font                                     */
     if ( face->blend                                             &&
          ( !face->blend->num_designs || !face->blend->num_axis ) )
-      T1_Done_Blend( face );
+      T1_Done_Blend( FT_FACE( face ) );
 
     /* the font may have no valid WeightVector */
     if ( face->blend && !face->blend->weight_vector )
-      T1_Done_Blend( face );
+      T1_Done_Blend( FT_FACE( face ) );
 
     /* the font may have no valid BlendDesignPositions */
     if ( face->blend && !face->blend->design_pos[0] )
-      T1_Done_Blend( face );
+      T1_Done_Blend( FT_FACE( face ) );
 
     /* the font may have no valid BlendDesignMap */
     if ( face->blend )
@@ -2609,7 +2619,7 @@
       for ( i = 0; i < face->blend->num_axis; i++ )
         if ( !face->blend->design_map[i].num_points )
         {
-          T1_Done_Blend( face );
+          T1_Done_Blend( FT_FACE( face ) );
           break;
         }
     }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1load.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1load.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1load.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1load.h	2024-04-08 05:38:38.000000000 +0000
@@ -66,52 +66,52 @@
 #ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
 
   FT_LOCAL( FT_Error )
-  T1_Get_Multi_Master( T1_Face           face,
+  T1_Get_Multi_Master( FT_Face           face,
                        FT_Multi_Master*  master );
 
   FT_LOCAL( FT_Error )
-  T1_Get_MM_Var( T1_Face      face,
+  T1_Get_MM_Var( FT_Face      face,
                  FT_MM_Var*  *master );
 
   FT_LOCAL( FT_Error )
-  T1_Set_MM_Blend( T1_Face    face,
+  T1_Set_MM_Blend( FT_Face    face,
                    FT_UInt    num_coords,
                    FT_Fixed*  coords );
 
   FT_LOCAL( FT_Error )
-  T1_Get_MM_Blend( T1_Face    face,
+  T1_Get_MM_Blend( FT_Face    face,
                    FT_UInt    num_coords,
                    FT_Fixed*  coords );
 
   FT_LOCAL( FT_Error )
-  T1_Set_MM_Design( T1_Face   face,
+  T1_Set_MM_Design( FT_Face   face,
                     FT_UInt   num_coords,
                     FT_Long*  coords );
 
   FT_LOCAL( FT_Error )
-  T1_Reset_MM_Blend( T1_Face  face,
+  T1_Reset_MM_Blend( FT_Face  face,
                      FT_UInt  instance_index );
 
   FT_LOCAL( FT_Error )
-  T1_Get_Var_Design( T1_Face    face,
+  T1_Get_Var_Design( FT_Face    face,
                      FT_UInt    num_coords,
                      FT_Fixed*  coords );
 
   FT_LOCAL( FT_Error )
-  T1_Set_Var_Design( T1_Face    face,
+  T1_Set_Var_Design( FT_Face    face,
                      FT_UInt    num_coords,
                      FT_Fixed*  coords );
 
   FT_LOCAL( void )
-  T1_Done_Blend( T1_Face  face );
+  T1_Done_Blend( FT_Face  face );
 
   FT_LOCAL( FT_Error )
-  T1_Set_MM_WeightVector( T1_Face    face,
+  T1_Set_MM_WeightVector( FT_Face    face,
                           FT_UInt    len,
                           FT_Fixed*  weightvector );
 
   FT_LOCAL( FT_Error )
-  T1_Get_MM_WeightVector( T1_Face    face,
+  T1_Get_MM_WeightVector( FT_Face    face,
                           FT_UInt*   len,
                           FT_Fixed*  weightvector );
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1objs.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1objs.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libfreetype/src/type1/t1objs.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libfreetype/src/type1/t1objs.c	2024-04-08 05:38:38.000000000 +0000
@@ -167,8 +167,7 @@
       FT_Module  module;
 
 
-      module = FT_Get_Module( slot->face->driver->root.library,
-                              "pshinter" );
+      module = FT_Get_Module( slot->library, "pshinter" );
       if ( module )
       {
         T1_Hints_Funcs  funcs;
@@ -227,7 +226,7 @@
       face->len_buildchar = 0;
     }
 
-    T1_Done_Blend( face );
+    T1_Done_Blend( t1face );
     face->blend = NULL;
 #endif
 
@@ -290,7 +289,8 @@
    *
    * @Input:
    *   stream ::
-   *     input stream where to load font data.
+   *     Dummy argument for compatibility with the `FT_Face_InitFunc` API.
+   *     Ignored.  The stream should be passed through `face->root.stream`.
    *
    *   face_index ::
    *     The index of the font face in the resource.
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh	2024-04-08 05:38:38.000000000 +0000
@@ -397,7 +397,6 @@
     TRACE_SERIALIZE (this);
 
     auto *subtable = c->serializer->start_embed ();
-    if (unlikely (!subtable)) return_trace (false);
     if (unlikely (!c->serializer->extend_min (subtable))) return_trace (false);
 
     auto *old_subtable = get_subtable (base);
@@ -545,7 +544,8 @@
                 const IndexSubtableRecord*>> *lookup /* OUT */) const
   {
     bool start_glyph_is_set = false;
-    for (hb_codepoint_t new_gid = 0; new_gid < c->plan->num_output_glyphs (); new_gid++)
+    unsigned num_glyphs = c->plan->num_output_glyphs ();
+    for (hb_codepoint_t new_gid = 0; new_gid < num_glyphs; new_gid++)
     {
       hb_codepoint_t old_gid;
       if (unlikely (!c->plan->old_gid_for_new_gid (new_gid, &old_gid))) continue;
@@ -576,9 +576,6 @@
   {
     TRACE_SUBSET (this);
 
-    auto *dst = c->serializer->start_embed ();
-    if (unlikely (!dst)) return_trace (false);
-
     hb_vector_t> lookup;
     build_lookup (c, bitmap_size_context, &lookup);
     if (unlikely (!c->serializer->propagate_error (lookup)))
@@ -993,12 +990,10 @@
 {
   TRACE_SUBSET (this);
 
-  auto *cblc_prime = c->serializer->start_embed ();
-
   // Use a vector as a secondary buffer as the tables need to be built in parallel.
   hb_vector_t cbdt_prime;
 
-  if (unlikely (!cblc_prime)) return_trace (false);
+  auto *cblc_prime = c->serializer->start_embed ();
   if (unlikely (!c->serializer->extend_min (cblc_prime))) return_trace (false);
   cblc_prime->version = version;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh	2024-04-08 05:38:38.000000000 +0000
@@ -53,6 +53,7 @@
 struct hb_paint_context_t :
        hb_dispatch_context_t
 {
+  const char *get_name () { return "PAINT"; }
   template 
   return_t dispatch (const T &obj) { obj.paint_glyph (this); return hb_empty_t (); }
   static return_t default_return_value () { return hb_empty_t (); }
@@ -68,6 +69,8 @@
   unsigned int palette_index;
   hb_color_t foreground;
   VarStoreInstancer &instancer;
+  hb_map_t current_glyphs;
+  hb_map_t current_layers;
   int depth_left = HB_MAX_NESTING_LEVEL;
   int edge_count = HB_COLRV1_MAX_EDGE_COUNT;
 
@@ -261,6 +264,7 @@
 
   void paint_glyph (hb_paint_context_t *c) const
   {
+    TRACE_PAINT (this);
     value.paint_glyph (c, varIdxBase);
   }
 
@@ -281,7 +285,7 @@
   public:
   VarIdx varIdxBase;
   public:
-  DEFINE_SIZE_STATIC (4 + T::static_size);
+  DEFINE_SIZE_MIN (VarIdx::static_size + T::min_size);
 };
 
 template 
@@ -315,6 +319,7 @@
 
   void paint_glyph (hb_paint_context_t *c) const
   {
+    TRACE_PAINT (this);
     value.paint_glyph (c, varIdxBase);
   }
 
@@ -332,7 +337,7 @@
 
   T      value;
   public:
-  DEFINE_SIZE_STATIC (T::static_size);
+  DEFINE_SIZE_MIN (T::min_size);
 };
 
 // Color structures
@@ -409,7 +414,6 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (this);
-    if (unlikely (!out)) return_trace (false);
     if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     if (!c->serializer->check_assign (out->extend, extend, HB_SERIALIZE_ERROR_INT_OVERFLOW)) return_trace (false);
@@ -559,6 +563,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     c->funcs->push_transform (c->data,
                               xx.to_float (c->instancer (varIdxBase, 0)),
                               yx.to_float (c->instancer (varIdxBase, 1)),
@@ -640,6 +645,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     hb_bool_t is_foreground;
     hb_color_t color;
 
@@ -694,6 +700,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     hb_color_line_t cl = {
       (void *) &(this+colorLine),
       (this+colorLine).static_get_color_stops, c,
@@ -760,6 +767,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     hb_color_line_t cl = {
       (void *) &(this+colorLine),
       (this+colorLine).static_get_color_stops, c,
@@ -824,6 +832,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     hb_color_line_t cl = {
       (void *) &(this+colorLine),
       (this+colorLine).static_get_color_stops, c,
@@ -875,6 +884,7 @@
 
   void paint_glyph (hb_paint_context_t *c) const
   {
+    TRACE_PAINT (this);
     c->funcs->push_inverse_root_transform (c->data, c->font);
     c->funcs->push_clip_glyph (c->data, gid, c->font);
     c->funcs->push_root_transform (c->data, c->font);
@@ -947,6 +957,7 @@
 
   void paint_glyph (hb_paint_context_t *c) const
   {
+    TRACE_PAINT (this);
     (this+transform).paint_glyph (c);
     c->recurse (this+src);
     c->funcs->pop_transform (c->data);
@@ -991,6 +1002,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float ddx = dx + c->instancer (varIdxBase, 0);
     float ddy = dy + c->instancer (varIdxBase, 1);
 
@@ -1039,6 +1051,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float sx = scaleX.to_float (c->instancer (varIdxBase, 0));
     float sy = scaleY.to_float (c->instancer (varIdxBase, 1));
 
@@ -1089,6 +1102,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float sx = scaleX.to_float (c->instancer (varIdxBase, 0));
     float sy = scaleY.to_float (c->instancer (varIdxBase, 1));
     float tCenterX = centerX + c->instancer (varIdxBase, 2);
@@ -1142,6 +1156,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float s = scale.to_float (c->instancer (varIdxBase, 0));
 
     bool p1 = c->funcs->push_scale (c->data, s, s);
@@ -1189,6 +1204,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float s = scale.to_float (c->instancer (varIdxBase, 0));
     float tCenterX = centerX + c->instancer (varIdxBase, 1);
     float tCenterY = centerY + c->instancer (varIdxBase, 2);
@@ -1240,6 +1256,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float a = angle.to_float (c->instancer (varIdxBase, 0));
 
     bool p1 = c->funcs->push_rotate (c->data, a);
@@ -1287,6 +1304,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float a = angle.to_float (c->instancer (varIdxBase, 0));
     float tCenterX = centerX + c->instancer (varIdxBase, 1);
     float tCenterY = centerY + c->instancer (varIdxBase, 2);
@@ -1341,6 +1359,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float sx = xSkewAngle.to_float(c->instancer (varIdxBase, 0));
     float sy = ySkewAngle.to_float(c->instancer (varIdxBase, 1));
 
@@ -1391,6 +1410,7 @@
 
   void paint_glyph (hb_paint_context_t *c, uint32_t varIdxBase) const
   {
+    TRACE_PAINT (this);
     float sx = xSkewAngle.to_float(c->instancer (varIdxBase, 0));
     float sy = ySkewAngle.to_float(c->instancer (varIdxBase, 1));
     float tCenterX = centerX + c->instancer (varIdxBase, 2);
@@ -1426,20 +1446,24 @@
     auto *out = c->serializer->embed (this);
     if (unlikely (!out)) return_trace (false);
 
-    if (!out->src.serialize_subset (c, src, this, instancer)) return_trace (false);
-    return_trace (out->backdrop.serialize_subset (c, backdrop, this, instancer));
+    bool ret = false;
+    ret |= out->src.serialize_subset (c, src, this, instancer);
+    ret |= out->backdrop.serialize_subset (c, backdrop, this, instancer);
+    return_trace (ret);
   }
 
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
     return_trace (c->check_struct (this) &&
+                  c->check_ops (this->min_size) && // PainComposite can get exponential
                   src.sanitize (c, this) &&
                   backdrop.sanitize (c, this));
   }
 
   void paint_glyph (hb_paint_context_t *c) const
   {
+    TRACE_PAINT (this);
     c->recurse (this+backdrop);
     c->funcs->push_group (c->data);
     c->recurse (this+src);
@@ -1514,10 +1538,10 @@
     value.get_clip_box(clip_box, instancer);
     if (instancer)
     {
-      clip_box.xMin += _hb_roundf (instancer (varIdxBase, 0));
-      clip_box.yMin += _hb_roundf (instancer (varIdxBase, 1));
-      clip_box.xMax += _hb_roundf (instancer (varIdxBase, 2));
-      clip_box.yMax += _hb_roundf (instancer (varIdxBase, 3));
+      clip_box.xMin += roundf (instancer (varIdxBase, 0));
+      clip_box.yMin += roundf (instancer (varIdxBase, 1));
+      clip_box.xMax += roundf (instancer (varIdxBase, 2));
+      clip_box.yMax += roundf (instancer (varIdxBase, 3));
     }
   }
 };
@@ -1898,15 +1922,16 @@
     auto *out = c->serializer->start_embed (this);
     if (unlikely (!c->serializer->extend_min (out)))  return_trace (false);
 
+    bool ret = false;
     for (const auto& _ : + hb_enumerate (*this)
                          | hb_filter (c->plan->colrv1_layers, hb_first))
 
     {
       auto *o = out->serialize_append (c->serializer);
-      if (unlikely (!o) || !o->serialize_subset (c, _.second, this, instancer))
-        return_trace (false);
+      if (unlikely (!o)) return_trace (false);
+      ret |= o->serialize_subset (c, _.second, this, instancer);
     }
-    return_trace (true);
+    return_trace (ret);
   }
 
   bool sanitize (hb_sanitize_context_t *c) const
@@ -2167,7 +2192,7 @@
     if (version == 0 && (!base_it || !layer_it))
       return_trace (false);
 
-    COLR *colr_prime = c->serializer->start_embed ();
+    auto *colr_prime = c->serializer->start_embed ();
     if (unlikely (!c->serializer->extend_min (colr_prime)))  return_trace (false);
 
     if (version == 0)
@@ -2284,6 +2309,7 @@
                                  &(this+varIdxMap),
                                  hb_array (font->coords, font->num_coords));
     hb_paint_context_t c (this, funcs, data, font, palette_index, foreground, instancer);
+    c.current_glyphs.add (glyph);
 
     if (version == 1)
     {
@@ -2399,18 +2425,42 @@
 
 void PaintColrLayers::paint_glyph (hb_paint_context_t *c) const
 {
+  TRACE_PAINT (this);
   const LayerList &paint_offset_lists = c->get_colr_table ()->get_layerList ();
   for (unsigned i = firstLayerIndex; i < firstLayerIndex + numLayers; i++)
   {
+    if (unlikely (c->current_layers.has (i)))
+      continue;
+
+    c->current_layers.add (i);
+
     const Paint &paint = paint_offset_lists.get_paint (i);
     c->funcs->push_group (c->data);
     c->recurse (paint);
     c->funcs->pop_group (c->data, HB_PAINT_COMPOSITE_MODE_SRC_OVER);
+
+    c->current_layers.del (i);
   }
 }
 
 void PaintColrGlyph::paint_glyph (hb_paint_context_t *c) const
 {
+  TRACE_PAINT (this);
+
+  if (unlikely (c->current_glyphs.has (gid)))
+    return;
+
+  c->current_glyphs.add (gid);
+
+  c->funcs->push_inverse_root_transform (c->data, c->font);
+  if (c->funcs->color_glyph (c->data, gid, c->font))
+  {
+    c->funcs->pop_transform (c->data);
+    c->current_glyphs.del (gid);
+    return;
+  }
+  c->funcs->pop_transform (c->data);
+
   const COLR *colr_table = c->get_colr_table ();
   const Paint *paint = colr_table->get_base_glyph_paint (gid);
 
@@ -2429,6 +2479,8 @@
 
   if (has_clip_box)
     c->funcs->pop_clip (c->data);
+
+  c->current_glyphs.del (gid);
 }
 
 } /* namespace OT */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh	2024-04-08 05:38:38.000000000 +0000
@@ -48,7 +48,6 @@
   {
     TRACE_SERIALIZE (this);
     SBIXGlyph* new_glyph = c->start_embed ();
-    if (unlikely (!new_glyph)) return_trace (nullptr);
     if (unlikely (!c->extend_min (new_glyph))) return_trace (nullptr);
 
     new_glyph->xOffset = xOffset;
@@ -143,7 +142,6 @@
     unsigned int num_output_glyphs = c->plan->num_output_glyphs ();
 
     auto* out = c->serializer->start_embed ();
-    if (unlikely (!out)) return_trace (false);
     auto snap = c->serializer->snapshot ();
     if (unlikely (!c->serializer->extend (out, num_output_glyphs + 1))) return_trace (false);
     out->ppem = ppem;
@@ -388,7 +386,6 @@
     TRACE_SERIALIZE (this);
 
     auto *out = c->serializer->start_embed> ();
-    if (unlikely (!out)) return_trace (false);
     if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     hb_vector_t*> new_strikes;
@@ -423,8 +420,6 @@
   {
     TRACE_SUBSET (this);
 
-    sbix *sbix_prime = c->serializer->start_embed ();
-    if (unlikely (!sbix_prime)) return_trace (false);
     if (unlikely (!c->serializer->embed (this->version))) return_trace (false);
     if (unlikely (!c->serializer->embed (this->flags))) return_trace (false);
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh	2024-04-08 05:38:38.000000000 +0000
@@ -57,6 +57,9 @@
   public:
   DEFINE_SIZE_UNION (2, format);
 
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
@@ -113,22 +116,33 @@
     TRACE_SERIALIZE (this);
     if (unlikely (!c->extend_min (this))) return_trace (false);
 
-    unsigned count = 0;
+    unsigned count = hb_len (glyphs);
     unsigned num_ranges = 0;
     hb_codepoint_t last = (hb_codepoint_t) -2;
+    hb_codepoint_t max = 0;
+    bool unsorted = false;
     for (auto g: glyphs)
     {
+      if (last != (hb_codepoint_t) -2 && g < last)
+        unsorted = true;
       if (last + 1 != g)
         num_ranges++;
       last = g;
-      count++;
+      if (g > max) max = g;
     }
-    u.format = count <= num_ranges * 3 ? 1 : 2;
+    u.format = !unsorted && count <= num_ranges * 3 ? 1 : 2;
 
 #ifndef HB_NO_BEYOND_64K
-    if (count && last > 0xFFFFu)
+    if (max > 0xFFFFu)
       u.format += 2;
+    if (unlikely (max > 0xFFFFFFu))
+#else
+    if (unlikely (max > 0xFFFFu))
 #endif
+    {
+      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
+      return_trace (false);
+    }
 
     switch (u.format)
     {
@@ -148,8 +162,8 @@
     auto it =
     + iter ()
     | hb_take (c->plan->source->get_num_glyphs ())
-    | hb_filter (c->plan->glyph_map_gsub)
     | hb_map_retains_sorting (c->plan->glyph_map_gsub)
+    | hb_filter ([] (hb_codepoint_t glyph) { return glyph != HB_MAP_VALUE_INVALID; })
     ;
 
     // Cache the iterator result as it will be iterated multiple times
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -79,7 +79,7 @@
   {
     if (glyphArray.len > glyphs->get_population () * hb_bit_storage ((unsigned) glyphArray.len) / 2)
     {
-      for (hb_codepoint_t g = HB_SET_VALUE_INVALID; glyphs->next (&g);)
+      for (auto g : *glyphs)
         if (get_coverage (g) != NOT_COVERED)
           return true;
       return false;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh	2024-04-08 05:38:38.000000000 +0000
@@ -95,19 +95,26 @@
     unsigned count = 0;
     unsigned range = (unsigned) -1;
     last = (hb_codepoint_t) -2;
+    unsigned unsorted = false;
     for (auto g: glyphs)
     {
       if (last + 1 != g)
       {
+        if (unlikely (last != (hb_codepoint_t) -2 && last + 1 > g))
+          unsorted = true;
+
         range++;
-        rangeRecord[range].first = g;
-        rangeRecord[range].value = count;
+        rangeRecord.arrayZ[range].first = g;
+        rangeRecord.arrayZ[range].value = count;
       }
-      rangeRecord[range].last = g;
+      rangeRecord.arrayZ[range].last = g;
       last = g;
       count++;
     }
 
+    if (unlikely (unsorted))
+      rangeRecord.as_array ().qsort (RangeRecord::cmp_range);
+
     return_trace (true);
   }
 
@@ -115,7 +122,7 @@
   {
     if (rangeRecord.len > glyphs->get_population () * hb_bit_storage ((unsigned) rangeRecord.len) / 2)
     {
-      for (hb_codepoint_t g = HB_SET_VALUE_INVALID; glyphs->next (&g);)
+      for (auto g : *glyphs)
         if (get_coverage (g) != NOT_COVERED)
           return true;
       return false;
@@ -185,8 +192,8 @@
         if (__more__ ())
         {
           unsigned int old = coverage;
-          j = c->rangeRecord[i].first;
-          coverage = c->rangeRecord[i].value;
+          j = c->rangeRecord.arrayZ[i].first;
+          coverage = c->rangeRecord.arrayZ[i].value;
           if (unlikely (coverage != old + 1))
           {
             /* Broken table. Skip. Important to avoid DoS.
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/RangeRecord.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/RangeRecord.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/RangeRecord.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/RangeRecord.hh	2024-04-08 05:38:38.000000000 +0000
@@ -51,6 +51,18 @@
   int cmp (hb_codepoint_t g) const
   { return g < first ? -1 : g <= last ? 0 : +1; }
 
+  HB_INTERNAL static int cmp_range (const void *pa, const void *pb) {
+    const RangeRecord *a = (const RangeRecord *) pa;
+    const RangeRecord *b = (const RangeRecord *) pb;
+    if (a->first < b->first) return -1;
+    if (a->first > b->first) return +1;
+    if (a->last < b->last) return -1;
+    if (a->last > b->last) return +1;
+    if (a->value < b->value) return -1;
+    if (a->value > b->value) return +1;
+    return 0;
+  }
+
   unsigned get_population () const
   {
     if (unlikely (last < first)) return 0;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh	2024-04-08 05:38:38.000000000 +0000
@@ -29,9 +29,10 @@
 #ifndef OT_LAYOUT_GDEF_GDEF_HH
 #define OT_LAYOUT_GDEF_GDEF_HH
 
-#include "../../../hb-ot-layout-common.hh"
+#include "../../../hb-ot-var-common.hh"
 
 #include "../../../hb-font.hh"
+#include "../../../hb-cache.hh"
 
 
 namespace OT {
@@ -48,8 +49,6 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out)) return_trace (false);
-
     return_trace (out->serialize (c->serializer, + iter ()));
   }
 };
@@ -201,22 +200,23 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out)) return_trace (false);
     if (!c->serializer->embed (caretValueFormat)) return_trace (false);
     if (!c->serializer->embed (coordinate)) return_trace (false);
 
     unsigned varidx = (this+deviceTable).get_variation_index ();
-    if (c->plan->layout_variation_idx_delta_map.has (varidx))
+    hb_pair_t *new_varidx_delta;
+    if (!c->plan->layout_variation_idx_delta_map.has (varidx, &new_varidx_delta))
+      return_trace (false);
+
+    uint32_t new_varidx = hb_first (*new_varidx_delta);
+    int delta = hb_second (*new_varidx_delta);
+    if (delta != 0)
     {
-      int delta = hb_second (c->plan->layout_variation_idx_delta_map.get (varidx));
-      if (delta != 0)
-      {
-        if (!c->serializer->check_assign (out->coordinate, coordinate + delta, HB_SERIALIZE_ERROR_INT_OVERFLOW))
-          return_trace (false);
-      }
+      if (!c->serializer->check_assign (out->coordinate, coordinate + delta, HB_SERIALIZE_ERROR_INT_OVERFLOW))
+        return_trace (false);
     }
 
-    if (c->plan->all_axes_pinned)
+    if (new_varidx == HB_OT_LAYOUT_NO_VARIATIONS_INDEX)
       return_trace (c->serializer->check_assign (out->caretValueFormat, 1, HB_SERIALIZE_ERROR_INT_OVERFLOW));
 
     if (!c->serializer->embed (deviceTable))
@@ -441,6 +441,16 @@
   bool covers (unsigned int set_index, hb_codepoint_t glyph_id) const
   { return (this+coverage[set_index]).get_coverage (glyph_id) != NOT_COVERED; }
 
+  template 
+  void collect_coverage (hb_vector_t &sets) const
+  {
+     for (const auto &offset : coverage)
+     {
+       const auto &cov = this+offset;
+       cov.collect_coverage (sets.push ());
+     }
+  }
+
   bool subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
@@ -494,6 +504,15 @@
     }
   }
 
+  template 
+  void collect_coverage (hb_vector_t &sets) const
+  {
+    switch (u.format) {
+    case 1: u.format1.collect_coverage (sets); return;
+    default:return;
+    }
+  }
+
   bool subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
@@ -585,6 +604,26 @@
                   (version.to_int () < 0x00010003u || varStore.sanitize (c, this)));
   }
 
+  static void remap_varidx_after_instantiation (const hb_map_t& varidx_map,
+                                                hb_hashmap_t>& layout_variation_idx_delta_map /* IN/OUT */)
+  {
+    /* varidx_map is empty which means varstore is empty after instantiation,
+     * no variations, map all varidx to HB_OT_LAYOUT_NO_VARIATIONS_INDEX.
+     * varidx_map doesn't have original varidx, indicating delta row is all
+     * zeros, map varidx to HB_OT_LAYOUT_NO_VARIATIONS_INDEX */
+    for (auto _ : layout_variation_idx_delta_map.iter_ref ())
+    {
+      /* old_varidx->(varidx, delta) mapping generated for subsetting, then this
+       * varidx is used as key of varidx_map during instantiation */
+      uint32_t varidx = _.second.first;
+      uint32_t *new_varidx;
+      if (varidx_map.has (varidx, &new_varidx))
+        _.second.first = *new_varidx;
+      else
+        _.second.first = HB_OT_LAYOUT_NO_VARIATIONS_INDEX;
+    }
+  }
+
   bool subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
@@ -607,6 +646,22 @@
     {
       if (c->plan->all_axes_pinned)
         out->varStore = 0;
+      else if (c->plan->normalized_coords)
+      {
+        if (varStore)
+        {
+          item_variations_t item_vars;
+          if (item_vars.instantiate (this+varStore, c->plan, true, true,
+                                     c->plan->gdef_varstore_inner_maps.as_array ()))
+            subset_varstore = out->varStore.serialize_serialize (c->serializer,
+                                                                 item_vars.has_long_word (),
+                                                                 c->plan->axis_tags,
+                                                                 item_vars.get_region_list (),
+                                                                 item_vars.get_vardata_encodings ());
+          remap_varidx_after_instantiation (item_vars.get_varidx_map (),
+                                            c->plan->layout_variation_idx_delta_map);
+        }
+      }
       else
         subset_varstore = out->varStore.serialize_subset (c, varStore, this, c->plan->gdef_varstore_inner_maps.as_array ());
     }
@@ -858,27 +913,79 @@
         hb_blob_destroy (table.get_blob ());
         table = hb_blob_get_empty ();
       }
+
+#ifndef HB_NO_GDEF_CACHE
+      table->get_mark_glyph_sets ().collect_coverage (mark_glyph_set_digests);
+#endif
     }
     ~accelerator_t () { table.destroy (); }
 
+    unsigned int get_glyph_props (hb_codepoint_t glyph) const
+    {
+      unsigned v;
+
+#ifndef HB_NO_GDEF_CACHE
+      if (glyph_props_cache.get (glyph, &v))
+        return v;
+#endif
+
+      v = table->get_glyph_props (glyph);
+
+#ifndef HB_NO_GDEF_CACHE
+      if (likely (table.get_blob ())) // Don't try setting if we are the null instance!
+        glyph_props_cache.set (glyph, v);
+#endif
+
+      return v;
+
+    }
+
+    bool mark_set_covers (unsigned int set_index, hb_codepoint_t glyph_id) const
+    {
+      return
+#ifndef HB_NO_GDEF_CACHE
+             mark_glyph_set_digests[set_index].may_have (glyph_id) &&
+#endif
+             table->mark_set_covers (set_index, glyph_id);
+    }
+
     hb_blob_ptr_t table;
+#ifndef HB_NO_GDEF_CACHE
+    hb_vector_t mark_glyph_set_digests;
+    mutable hb_cache_t<21, 3, 8> glyph_props_cache;
+#endif
   };
 
   void collect_variation_indices (hb_collect_variation_indices_context_t *c) const
   { get_lig_caret_list ().collect_variation_indices (c); }
 
   void remap_layout_variation_indices (const hb_set_t *layout_variation_indices,
+                                       const hb_vector_t& normalized_coords,
+                                       bool calculate_delta, /* not pinned at default */
+                                       bool no_variations, /* all axes pinned */
                                        hb_hashmap_t> *layout_variation_idx_delta_map /* OUT */) const
   {
     if (!has_var_store ()) return;
-    if (layout_variation_indices->is_empty ()) return;
+    const VariationStore &var_store = get_var_store ();
+    float *store_cache = var_store.create_cache ();
 
     unsigned new_major = 0, new_minor = 0;
     unsigned last_major = (layout_variation_indices->get_min ()) >> 16;
     for (unsigned idx : layout_variation_indices->iter ())
     {
+      int delta = 0;
+      if (calculate_delta)
+        delta = roundf (var_store.get_delta (idx, normalized_coords.arrayZ,
+                                             normalized_coords.length, store_cache));
+
+      if (no_variations)
+      {
+        layout_variation_idx_delta_map->set (idx, hb_pair_t (HB_OT_LAYOUT_NO_VARIATIONS_INDEX, delta));
+        continue;
+      }
+
       uint16_t major = idx >> 16;
-      if (major >= get_var_store ().get_sub_table_count ()) break;
+      if (major >= var_store.get_sub_table_count ()) break;
       if (major != last_major)
       {
         new_minor = 0;
@@ -886,14 +993,11 @@
       }
 
       unsigned new_idx = (new_major << 16) + new_minor;
-      if (!layout_variation_idx_delta_map->has (idx))
-        continue;
-      int delta = hb_second (layout_variation_idx_delta_map->get (idx));
-
       layout_variation_idx_delta_map->set (idx, hb_pair_t (new_idx, delta));
       ++new_minor;
       last_major = major;
     }
+    var_store.destroy_cache (store_cache);
   }
 
   protected:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh	2024-04-08 05:38:38.000000000 +0000
@@ -25,7 +25,9 @@
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
-    return_trace (c->check_struct (this) && xDeviceTable.sanitize (c, this) && yDeviceTable.sanitize (c, this));
+    if (unlikely (!c->check_struct (this))) return_trace (false);
+
+    return_trace (xDeviceTable.sanitize (c, this) && yDeviceTable.sanitize (c, this));
   }
 
   void get_anchor (hb_ot_apply_context_t *c, hb_codepoint_t glyph_id HB_UNUSED,
@@ -35,9 +37,9 @@
     *x = font->em_fscale_x (xCoordinate);
     *y = font->em_fscale_y (yCoordinate);
 
-    if (font->x_ppem || font->num_coords)
+    if ((font->x_ppem || font->num_coords) && xDeviceTable.sanitize (&c->sanitizer, this))
       *x += (this+xDeviceTable).get_x_delta (font, c->var_store, c->var_store_cache);
-    if (font->y_ppem || font->num_coords)
+    if ((font->y_ppem || font->num_coords) && yDeviceTable.sanitize (&c->sanitizer, this))
       *y += (this+yDeviceTable).get_y_delta (font, c->var_store, c->var_store_cache);
   }
 
@@ -45,15 +47,19 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out)) return_trace (false);
     if (unlikely (!c->serializer->embed (format))) return_trace (false);
     if (unlikely (!c->serializer->embed (xCoordinate))) return_trace (false);
     if (unlikely (!c->serializer->embed (yCoordinate))) return_trace (false);
 
     unsigned x_varidx = xDeviceTable ? (this+xDeviceTable).get_variation_index () : HB_OT_LAYOUT_NO_VARIATIONS_INDEX;
-    if (c->plan->layout_variation_idx_delta_map.has (x_varidx))
+    if (x_varidx != HB_OT_LAYOUT_NO_VARIATIONS_INDEX)
     {
-      int delta = hb_second (c->plan->layout_variation_idx_delta_map.get (x_varidx));
+      hb_pair_t *new_varidx_delta;
+      if (!c->plan->layout_variation_idx_delta_map.has (x_varidx, &new_varidx_delta))
+        return_trace (false);
+
+      x_varidx = hb_first (*new_varidx_delta);
+      int delta = hb_second (*new_varidx_delta);
       if (delta != 0)
       {
         if (!c->serializer->check_assign (out->xCoordinate, xCoordinate + delta,
@@ -63,9 +69,14 @@
     }
 
     unsigned y_varidx = yDeviceTable ? (this+yDeviceTable).get_variation_index () : HB_OT_LAYOUT_NO_VARIATIONS_INDEX;
-    if (c->plan->layout_variation_idx_delta_map.has (y_varidx))
+    if (y_varidx != HB_OT_LAYOUT_NO_VARIATIONS_INDEX)
     {
-      int delta = hb_second (c->plan->layout_variation_idx_delta_map.get (y_varidx));
+      hb_pair_t *new_varidx_delta;
+      if (!c->plan->layout_variation_idx_delta_map.has (y_varidx, &new_varidx_delta))
+        return_trace (false);
+
+      y_varidx = hb_first (*new_varidx_delta);
+      int delta = hb_second (*new_varidx_delta);
       if (delta != 0)
       {
         if (!c->serializer->check_assign (out->yCoordinate, yCoordinate + delta,
@@ -74,7 +85,10 @@
       }
     }
 
-    if (c->plan->all_axes_pinned)
+    /* in case that all axes are pinned or no variations after instantiation,
+     * both var_idxes will be mapped to HB_OT_LAYOUT_NO_VARIATIONS_INDEX */
+    if (x_varidx == HB_OT_LAYOUT_NO_VARIATIONS_INDEX &&
+        y_varidx == HB_OT_LAYOUT_NO_VARIATIONS_INDEX)
       return_trace (c->serializer->check_assign (out->format, 1, HB_SERIALIZE_ERROR_INT_OVERFLOW));
 
     if (!c->serializer->embed (xDeviceTable)) return_trace (false);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorMatrix.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorMatrix.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorMatrix.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorMatrix.hh	2024-04-08 05:38:38.000000000 +0000
@@ -21,18 +21,25 @@
     if (unlikely (hb_unsigned_mul_overflows (rows, cols))) return_trace (false);
     unsigned int count = rows * cols;
     if (!c->check_array (matrixZ.arrayZ, count)) return_trace (false);
+
+    if (c->lazy_some_gpos)
+      return_trace (true);
+
     for (unsigned int i = 0; i < count; i++)
       if (!matrixZ[i].sanitize (c, this)) return_trace (false);
     return_trace (true);
   }
 
-  const Anchor& get_anchor (unsigned int row, unsigned int col,
+  const Anchor& get_anchor (hb_ot_apply_context_t *c,
+                            unsigned int row, unsigned int col,
                             unsigned int cols, bool *found) const
   {
     *found = false;
     if (unlikely (row >= rows || col >= cols)) return Null (Anchor);
-    *found = !matrixZ[row * cols + col].is_null ();
-    return this+matrixZ[row * cols + col];
+    auto &offset = matrixZ[row * cols + col];
+    if (unlikely (!offset.sanitize (&c->sanitizer, this))) return Null (Anchor);
+    *found = !offset.is_null ();
+    return this+offset;
   }
 
   template serializer->extend_min (out)))  return_trace (false);
 
     out->rows = num_rows;
+    bool ret = false;
     for (const unsigned i : index_iter)
     {
       auto *offset = c->serializer->embed (matrixZ[i]);
       if (!offset) return_trace (false);
-      offset->serialize_subset (c, matrixZ[i], this);
+      ret |= offset->serialize_subset (c, matrixZ[i], this);
     }
 
-    return_trace (true);
+    return_trace (ret);
   }
 };
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -24,16 +24,17 @@
     (src_base+exitAnchor).collect_variation_indices (c);
   }
 
-  EntryExitRecord* subset (hb_subset_context_t *c,
-                           const void *src_base) const
+  bool subset (hb_subset_context_t *c,
+               const void *src_base) const
   {
     TRACE_SERIALIZE (this);
     auto *out = c->serializer->embed (this);
-    if (unlikely (!out)) return_trace (nullptr);
+    if (unlikely (!out)) return_trace (false);
 
-    out->entryAnchor.serialize_subset (c, entryAnchor, src_base);
-    out->exitAnchor.serialize_subset (c, exitAnchor, src_base);
-    return_trace (out);
+    bool ret = false;
+    ret |= out->entryAnchor.serialize_subset (c, entryAnchor, src_base);
+    ret |= out->exitAnchor.serialize_subset (c, exitAnchor, src_base);
+    return_trace (ret);
   }
 
   protected:
@@ -91,7 +92,13 @@
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
-    return_trace (coverage.sanitize (c, this) && entryExitRecord.sanitize (c, this));
+    if (unlikely (!coverage.sanitize (c, this)))
+      return_trace (false);
+
+    if (c->lazy_some_gpos)
+      return_trace (entryExitRecord.sanitize_shallow (c));
+    else
+      return_trace (entryExitRecord.sanitize (c, this));
   }
 
   bool intersects (const hb_set_t *glyphs) const
@@ -119,19 +126,21 @@
     hb_buffer_t *buffer = c->buffer;
 
     const EntryExitRecord &this_record = entryExitRecord[(this+coverage).get_coverage  (buffer->cur().codepoint)];
-    if (!this_record.entryAnchor) return_trace (false);
+    if (!this_record.entryAnchor ||
+        unlikely (!this_record.entryAnchor.sanitize (&c->sanitizer, this))) return_trace (false);
 
     hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
-    skippy_iter.reset (buffer->idx, 1);
+    skippy_iter.reset_fast (buffer->idx);
     unsigned unsafe_from;
-    if (!skippy_iter.prev (&unsafe_from))
+    if (unlikely (!skippy_iter.prev (&unsafe_from)))
     {
       buffer->unsafe_to_concat_from_outbuffer (unsafe_from, buffer->idx + 1);
       return_trace (false);
     }
 
     const EntryExitRecord &prev_record = entryExitRecord[(this+coverage).get_coverage  (buffer->info[skippy_iter.idx].codepoint)];
-    if (!prev_record.exitAnchor)
+    if (!prev_record.exitAnchor ||
+        unlikely (!prev_record.exitAnchor.sanitize (&c->sanitizer, this)))
     {
       buffer->unsafe_to_concat_from_outbuffer (skippy_iter.idx, buffer->idx + 1);
       return_trace (false);
@@ -200,8 +209,8 @@
      * Arabic. */
     unsigned int child  = i;
     unsigned int parent = j;
-    hb_position_t x_offset = entry_x - exit_x;
-    hb_position_t y_offset = entry_y - exit_y;
+    hb_position_t x_offset = roundf (entry_x - exit_x);
+    hb_position_t y_offset = roundf (entry_y - exit_y);
     if  (!(c->lookup_props & LookupFlag::RightToLeft))
     {
       unsigned int k = child;
@@ -278,7 +287,6 @@
     const hb_map_t &glyph_map = *c->plan->glyph_map;
 
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out)) return_trace (false);
 
     auto it =
     + hb_zip (this+coverage, entryExitRecord)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/GPOS.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/GPOS.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/GPOS.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/GPOS.hh	2024-04-08 05:38:38.000000000 +0000
@@ -156,7 +156,7 @@
   {
     for (unsigned i = 0; i < len; i++)
       if (unlikely (pos[i].y_offset))
-        pos[i].x_offset += _hb_roundf (font->slant_xy * pos[i].y_offset);
+        pos[i].x_offset += roundf (font->slant_xy * pos[i].y_offset);
   }
 }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/LigatureArray.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/LigatureArray.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/LigatureArray.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/LigatureArray.hh	2024-04-08 05:38:38.000000000 +0000
@@ -27,6 +27,7 @@
     auto *out = c->serializer->start_embed (this);
     if (unlikely (!c->serializer->extend_min (out)))  return_trace (false);
 
+    bool ret = false;
     for (const auto _ : + hb_zip (coverage, *this)
                   | hb_filter (glyphset, hb_first))
     {
@@ -38,13 +39,13 @@
           + hb_range (src.rows * class_count)
           | hb_filter ([=] (unsigned index) { return klass_mapping->has (index % class_count); })
           ;
-      matrix->serialize_subset (c,
-                                _.second,
-                                this,
-                                src.rows,
-                                indexes);
+      ret |= matrix->serialize_subset (c,
+                                       _.second,
+                                       this,
+                                       src.rows,
+                                       indexes);
     }
-    return_trace (this->len);
+    return_trace (ret);
   }
 };
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkArray.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkArray.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkArray.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkArray.hh	2024-04-08 05:38:38.000000000 +0000
@@ -28,7 +28,7 @@
 
     const Anchor& mark_anchor = this + record.markAnchor;
     bool found;
-    const Anchor& glyph_anchor = anchors.get_anchor (glyph_index, mark_class, class_count, &found);
+    const Anchor& glyph_anchor = anchors.get_anchor (c, glyph_index, mark_class, class_count, &found);
     /* If this subtable doesn't have an anchor for this base and this class,
      * return false such that the subsequent subtables have a chance at it. */
     if (unlikely (!found)) return_trace (false);
@@ -82,10 +82,10 @@
     | hb_map (hb_second)
     ;
 
+    bool ret = false;
     unsigned new_length = 0;
     for (const auto& mark_record : mark_iter) {
-      if (unlikely (!mark_record.subset (c, this, klass_mapping)))
-        return_trace (false);
+      ret |= mark_record.subset (c, this, klass_mapping);
       new_length++;
     }
 
@@ -93,7 +93,7 @@
                                                 HB_SERIALIZE_ERROR_ARRAY_OVERFLOW)))
       return_trace (false);
 
-    return_trace (true);
+    return_trace (ret);
   }
 };
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -197,9 +197,10 @@
     if (!out->markCoverage.serialize_serialize (c->serializer, new_coverage.iter ()))
       return_trace (false);
 
-    out->markArray.serialize_subset (c, markArray, this,
-                                     (this+markCoverage).iter (),
-                                     &klass_mapping);
+    if (unlikely (!out->markArray.serialize_subset (c, markArray, this,
+                                                    (this+markCoverage).iter (),
+                                                    &klass_mapping)))
+      return_trace (false);
 
     unsigned basecount = (this+baseArray).rows;
     auto base_iter =
@@ -228,11 +229,9 @@
       ;
     }
 
-    out->baseArray.serialize_subset (c, baseArray, this,
-                                     base_iter.len (),
-                                     base_indexes.iter ());
-
-    return_trace (true);
+    return_trace (out->baseArray.serialize_subset (c, baseArray, this,
+                                                   base_iter.len (),
+                                                   base_indexes.iter ()));
   }
 };
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -169,7 +169,7 @@
   {
     TRACE_SUBSET (this);
     const hb_set_t &glyphset = *c->plan->glyphset_gsub ();
-    const hb_map_t &glyph_map = *c->plan->glyph_map;
+    const hb_map_t &glyph_map = c->plan->glyph_map_gsub;
 
     auto *out = c->serializer->start_embed (*this);
     if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
@@ -195,23 +195,24 @@
     if (!out->markCoverage.serialize_serialize (c->serializer, new_mark_coverage))
       return_trace (false);
 
-    out->markArray.serialize_subset (c, markArray, this,
-                                     (this+markCoverage).iter (),
-                                     &klass_mapping);
+    if (unlikely (!out->markArray.serialize_subset (c, markArray, this,
+                                                    (this+markCoverage).iter (),
+                                                    &klass_mapping)))
+      return_trace (false);
 
     auto new_ligature_coverage =
     + hb_iter (this + ligatureCoverage)
-    | hb_filter (glyphset)
+    | hb_take ((this + ligatureArray).len)
     | hb_map_retains_sorting (glyph_map)
+    | hb_filter ([] (hb_codepoint_t glyph) { return glyph != HB_MAP_VALUE_INVALID; })
     ;
 
     if (!out->ligatureCoverage.serialize_serialize (c->serializer, new_ligature_coverage))
       return_trace (false);
 
-    out->ligatureArray.serialize_subset (c, ligatureArray, this,
-                                         hb_iter (this+ligatureCoverage), classCount, &klass_mapping);
-
-    return_trace (true);
+    return_trace (out->ligatureArray.serialize_subset (c, ligatureArray, this,
+                                                       hb_iter (this+ligatureCoverage),
+                                                       classCount, &klass_mapping));
   }
 
 };
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -100,16 +100,16 @@
 
     /* now we search backwards for a suitable mark glyph until a non-mark glyph */
     hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
-    skippy_iter.reset (buffer->idx, 1);
+    skippy_iter.reset_fast (buffer->idx);
     skippy_iter.set_lookup_props (c->lookup_props & ~(uint32_t)LookupFlag::IgnoreFlags);
     unsigned unsafe_from;
-    if (!skippy_iter.prev (&unsafe_from))
+    if (unlikely (!skippy_iter.prev (&unsafe_from)))
     {
       buffer->unsafe_to_concat_from_outbuffer (unsafe_from, buffer->idx + 1);
       return_trace (false);
     }
 
-    if (!_hb_glyph_info_is_mark (&buffer->info[skippy_iter.idx]))
+    if (likely (!_hb_glyph_info_is_mark (&buffer->info[skippy_iter.idx])))
     {
       buffer->unsafe_to_concat_from_outbuffer (skippy_iter.idx, buffer->idx + 1);
       return_trace (false);
@@ -183,9 +183,10 @@
     if (!out->mark1Coverage.serialize_serialize (c->serializer, new_coverage.iter ()))
       return_trace (false);
 
-    out->mark1Array.serialize_subset (c, mark1Array, this,
-                                      (this+mark1Coverage).iter (),
-                                      &klass_mapping);
+    if (unlikely (!out->mark1Array.serialize_subset (c, mark1Array, this,
+                                                     (this+mark1Coverage).iter (),
+                                                     &klass_mapping)))
+      return_trace (false);
 
     unsigned mark2count = (this+mark2Array).rows;
     auto mark2_iter =
@@ -214,9 +215,10 @@
       ;
     }
 
-    out->mark2Array.serialize_subset (c, mark2Array, this, mark2_iter.len (), mark2_indexes.iter ());
+    return_trace (out->mark2Array.serialize_subset (c, mark2Array, this,
+                                                    mark2_iter.len (),
+                                                    mark2_indexes.iter ()));
 
-    return_trace (true);
   }
 };
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkRecord.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkRecord.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkRecord.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkRecord.hh	2024-04-08 05:38:38.000000000 +0000
@@ -24,17 +24,16 @@
     return_trace (c->check_struct (this) && markAnchor.sanitize (c, base));
   }
 
-  MarkRecord *subset (hb_subset_context_t    *c,
-                      const void             *src_base,
-                      const hb_map_t         *klass_mapping) const
+  bool subset (hb_subset_context_t    *c,
+               const void             *src_base,
+               const hb_map_t         *klass_mapping) const
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->embed (this);
-    if (unlikely (!out)) return_trace (nullptr);
+    if (unlikely (!out)) return_trace (false);
 
     out->klass = klass_mapping->get (klass);
-    out->markAnchor.serialize_subset (c, markAnchor, src_base);
-    return_trace (out);
+    return_trace (out->markAnchor.serialize_subset (c, markAnchor, src_base));
   }
 
   void collect_variation_indices (hb_collect_variation_indices_context_t *c,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -110,9 +110,9 @@
     if (likely (index == NOT_COVERED)) return_trace (false);
 
     hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
-    skippy_iter.reset (buffer->idx, 1);
+    skippy_iter.reset_fast (buffer->idx);
     unsigned unsafe_to;
-    if (!skippy_iter.next (&unsafe_to))
+    if (unlikely (!skippy_iter.next (&unsafe_to)))
     {
       buffer->unsafe_to_concat (buffer->idx, unsafe_to);
       return_trace (false);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh	2024-04-08 05:38:38.000000000 +0000
@@ -50,13 +50,13 @@
     unsigned int len1 = valueFormat1.get_len ();
     unsigned int len2 = valueFormat2.get_len ();
     unsigned int stride = HBUINT16::static_size * (len1 + len2);
-    unsigned int record_size = valueFormat1.get_size () + valueFormat2.get_size ();
     unsigned int count = (unsigned int) class1Count * (unsigned int) class2Count;
     return_trace (c->check_range ((const void *) values,
                                   count,
-                                  record_size) &&
-                  valueFormat1.sanitize_values_stride_unsafe (c, this, &values[0], count, stride) &&
-                  valueFormat2.sanitize_values_stride_unsafe (c, this, &values[len1], count, stride));
+                                  stride) &&
+                  (c->lazy_some_gpos ||
+                   (valueFormat1.sanitize_values_stride_unsafe (c, this, &values[0], count, stride) &&
+                    valueFormat2.sanitize_values_stride_unsafe (c, this, &values[len1], count, stride))));
   }
 
   bool intersects (const hb_set_t *glyphs) const
@@ -131,40 +131,46 @@
     if (likely (index == NOT_COVERED)) return_trace (false);
 
     hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
-    skippy_iter.reset (buffer->idx, 1);
+    skippy_iter.reset_fast (buffer->idx);
     unsigned unsafe_to;
-    if (!skippy_iter.next (&unsafe_to))
+    if (unlikely (!skippy_iter.next (&unsafe_to)))
     {
       buffer->unsafe_to_concat (buffer->idx, unsafe_to);
       return_trace (false);
     }
 
-    unsigned int len1 = valueFormat1.get_len ();
-    unsigned int len2 = valueFormat2.get_len ();
-    unsigned int record_len = len1 + len2;
+    unsigned int klass2 = (this+classDef2).get_class (buffer->info[skippy_iter.idx].codepoint);
+    if (!klass2)
+    {
+      buffer->unsafe_to_concat (buffer->idx, skippy_iter.idx + 1);
+      return_trace (false);
+    }
 
     unsigned int klass1 = (this+classDef1).get_class (buffer->cur().codepoint);
-    unsigned int klass2 = (this+classDef2).get_class (buffer->info[skippy_iter.idx].codepoint);
     if (unlikely (klass1 >= class1Count || klass2 >= class2Count))
     {
       buffer->unsafe_to_concat (buffer->idx, skippy_iter.idx + 1);
       return_trace (false);
     }
 
+    unsigned int len1 = valueFormat1.get_len ();
+    unsigned int len2 = valueFormat2.get_len ();
+    unsigned int record_len = len1 + len2;
+
     const Value *v = &values[record_len * (klass1 * class2Count + klass2)];
 
     bool applied_first = false, applied_second = false;
 
 
     /* Isolate simple kerning and apply it half to each side.
-     * Results in better cursor positinoing / underline drawing.
+     * Results in better cursor positioning / underline drawing.
      *
      * Disabled, because causes issues... :-(
      * https://github.com/harfbuzz/harfbuzz/issues/3408
      * https://github.com/harfbuzz/harfbuzz/pull/3235#issuecomment-1029814978
      */
 #ifndef HB_SPLIT_KERN
-    if (0)
+    if (false)
 #endif
     {
       if (!len2)
@@ -224,8 +230,8 @@
                           c->buffer->idx, skippy_iter.idx);
     }
 
-    applied_first = valueFormat1.apply_value (c, this, v, buffer->cur_pos());
-    applied_second = valueFormat2.apply_value (c, this, v + len1, buffer->pos[skippy_iter.idx]);
+    applied_first = len1 && valueFormat1.apply_value (c, this, v, buffer->cur_pos());
+    applied_second = len2 && valueFormat2.apply_value (c, this, v + len1, buffer->pos[skippy_iter.idx]);
 
     if (applied_first || applied_second)
       if (HB_BUFFER_MESSAGE_MORE && c->buffer->messaging ())
@@ -293,11 +299,13 @@
       out->valueFormat2 = out->valueFormat2.drop_device_table_flags ();
     }
 
+    unsigned total_len = len1 + len2;
+    hb_vector_t class2_idxs (+ hb_range ((unsigned) class2Count) | hb_filter (klass2_map));
     for (unsigned class1_idx : + hb_range ((unsigned) class1Count) | hb_filter (klass1_map))
     {
-      for (unsigned class2_idx : + hb_range ((unsigned) class2Count) | hb_filter (klass2_map))
+      for (unsigned class2_idx : class2_idxs)
       {
-        unsigned idx = (class1_idx * (unsigned) class2Count + class2_idx) * (len1 + len2);
+        unsigned idx = (class1_idx * (unsigned) class2Count + class2_idx) * total_len;
         valueFormat1.copy_values (c->serializer, out->valueFormat1, this, &values[idx], &c->plan->layout_variation_idx_delta_map);
         valueFormat2.copy_values (c->serializer, out->valueFormat2, this, &values[idx + len1], &c->plan->layout_variation_idx_delta_map);
       }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh	2024-04-08 05:38:38.000000000 +0000
@@ -52,8 +52,9 @@
 
     unsigned int count = len;
     const PairValueRecord *record = &firstPairValueRecord;
-    return_trace (closure->valueFormats[0].sanitize_values_stride_unsafe (c, this, &record->values[0], count, closure->stride) &&
-                  closure->valueFormats[1].sanitize_values_stride_unsafe (c, this, &record->values[closure->len1], count, closure->stride));
+    return_trace (c->lazy_some_gpos ||
+                  (closure->valueFormats[0].sanitize_values_stride_unsafe (c, this, &record->values[0], count, closure->stride) &&
+                   closure->valueFormats[1].sanitize_values_stride_unsafe (c, this, &record->values[closure->len1], count, closure->stride)));
   }
 
   bool intersects (const hb_set_t *glyphs,
@@ -120,8 +121,8 @@
                             c->buffer->idx, pos);
       }
 
-      bool applied_first = valueFormats[0].apply_value (c, this, &record->values[0], buffer->cur_pos());
-      bool applied_second = valueFormats[1].apply_value (c, this, &record->values[len1], buffer->pos[pos]);
+      bool applied_first = len1 && valueFormats[0].apply_value (c, this, &record->values[0], buffer->cur_pos());
+      bool applied_second = len2 && valueFormats[1].apply_value (c, this, &record->values[len1], buffer->pos[pos]);
 
       if (applied_first || applied_second)
         if (HB_BUFFER_MESSAGE_MORE && c->buffer->messaging ())
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh	2024-04-08 05:38:38.000000000 +0000
@@ -22,7 +22,7 @@
   ValueRecord   values;                 /* Positioning data for the first glyph
                                          * followed by for second glyph */
   public:
-  DEFINE_SIZE_ARRAY (Types::size, values);
+  DEFINE_SIZE_ARRAY (Types::HBGlyphID::static_size, values);
 
   int cmp (hb_codepoint_t k) const
   { return secondGlyph.cmp (k); }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -90,6 +90,7 @@
 
   bool
   position_single (hb_font_t           *font,
+                   hb_blob_t           *table_blob,
                    hb_direction_t       direction,
                    hb_codepoint_t       gid,
                    hb_glyph_position_t &pos) const
@@ -100,7 +101,7 @@
     /* This is ugly... */
     hb_buffer_t buffer;
     buffer.props.direction = direction;
-    OT::hb_ot_apply_context_t c (1, font, &buffer);
+    OT::hb_ot_apply_context_t c (1, font, &buffer, table_blob);
 
     valueFormat.apply_value (&c, this, values, pos);
     return true;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh	2024-04-08 05:38:38.000000000 +0000
@@ -94,6 +94,7 @@
 
   bool
   position_single (hb_font_t           *font,
+                   hb_blob_t           *table_blob,
                    hb_direction_t       direction,
                    hb_codepoint_t       gid,
                    hb_glyph_position_t &pos) const
@@ -105,7 +106,7 @@
     /* This is ugly... */
     hb_buffer_t buffer;
     buffer.props.direction = direction;
-    OT::hb_ot_apply_context_t c (1, font, &buffer);
+    OT::hb_ot_apply_context_t c (1, font, &buffer, table_blob);
 
     valueFormat.apply_value (&c, this,
                              &values[index * valueFormat.get_len ()],
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh	2024-04-08 05:38:38.000000000 +0000
@@ -118,21 +118,25 @@
     auto *cache = c->var_store_cache;
 
     /* pixel -> fractional pixel */
-    if (format & xPlaDevice) {
-      if (use_x_device) glyph_pos.x_offset  += (base + get_device (values, &ret)).get_x_delta (font, store, cache);
+    if (format & xPlaDevice)
+    {
+      if (use_x_device) glyph_pos.x_offset  += get_device (values, &ret, base, c->sanitizer).get_x_delta (font, store, cache);
       values++;
     }
-    if (format & yPlaDevice) {
-      if (use_y_device) glyph_pos.y_offset  += (base + get_device (values, &ret)).get_y_delta (font, store, cache);
+    if (format & yPlaDevice)
+    {
+      if (use_y_device) glyph_pos.y_offset  += get_device (values, &ret, base, c->sanitizer).get_y_delta (font, store, cache);
       values++;
     }
-    if (format & xAdvDevice) {
-      if (horizontal && use_x_device) glyph_pos.x_advance += (base + get_device (values, &ret)).get_x_delta (font, store, cache);
+    if (format & xAdvDevice)
+    {
+      if (horizontal && use_x_device) glyph_pos.x_advance += get_device (values, &ret, base, c->sanitizer).get_x_delta (font, store, cache);
       values++;
     }
-    if (format & yAdvDevice) {
+    if (format & yAdvDevice)
+    {
       /* y_advance values grow downward but font-space grows upward, hence negation */
-      if (!horizontal && use_y_device) glyph_pos.y_advance -= (base + get_device (values, &ret)).get_y_delta (font, store, cache);
+      if (!horizontal && use_y_device) glyph_pos.y_advance -= get_device (values, &ret, base, c->sanitizer).get_y_delta (font, store, cache);
       values++;
     }
     return ret;
@@ -174,6 +178,9 @@
     if (format & xAdvance)   x_adv = copy_value (c, new_format, xAdvance, *values++);
     if (format & yAdvance)   y_adv = copy_value (c, new_format, yAdvance, *values++);
 
+    if (!has_device ())
+      return;
+
     if (format & xPlaDevice)
     {
       add_delta_to_value (x_placement, base, values, layout_variation_idx_delta_map);
@@ -233,14 +240,12 @@
 
     if (format & ValueFormat::xAdvDevice)
     {
-
       (base + get_device (&(values[i]))).collect_variation_indices (c);
       i++;
     }
 
     if (format & ValueFormat::yAdvDevice)
     {
-
       (base + get_device (&(values[i]))).collect_variation_indices (c);
       i++;
     }
@@ -277,11 +282,23 @@
   {
     return *static_cast *> (value);
   }
-  static inline const Offset16To& get_device (const Value* value, bool *worked=nullptr)
+  static inline const Offset16To& get_device (const Value* value)
   {
-    if (worked) *worked |= bool (*value);
     return *static_cast *> (value);
   }
+  static inline const Device& get_device (const Value* value,
+                                          bool *worked,
+                                          const void *base,
+                                          hb_sanitize_context_t &c)
+  {
+    if (worked) *worked |= bool (*value);
+    auto &offset = *static_cast *> (value);
+
+    if (unlikely (!offset.sanitize (&c, base)))
+      return Null(Device);
+
+    return base + offset;
+  }
 
   void add_delta_to_value (HBINT16 *value,
                            const void *base,
@@ -340,25 +357,26 @@
   bool sanitize_value (hb_sanitize_context_t *c, const void *base, const Value *values) const
   {
     TRACE_SANITIZE (this);
-    return_trace (c->check_range (values, get_size ()) && (!has_device () || sanitize_value_devices (c, base, values)));
+
+    if (unlikely (!c->check_range (values, get_size ()))) return_trace (false);
+
+    if (c->lazy_some_gpos)
+      return_trace (true);
+
+    return_trace (!has_device () || sanitize_value_devices (c, base, values));
   }
 
   bool sanitize_values (hb_sanitize_context_t *c, const void *base, const Value *values, unsigned int count) const
   {
     TRACE_SANITIZE (this);
-    unsigned int len = get_len ();
+    unsigned size = get_size ();
 
-    if (!c->check_range (values, count, get_size ())) return_trace (false);
+    if (!c->check_range (values, count, size)) return_trace (false);
 
-    if (!has_device ()) return_trace (true);
-
-    for (unsigned int i = 0; i < count; i++) {
-      if (!sanitize_value_devices (c, base, values))
-        return_trace (false);
-      values += len;
-    }
+    if (c->lazy_some_gpos)
+      return_trace (true);
 
-    return_trace (true);
+    return_trace (sanitize_values_stride_unsafe (c, base, values, count, size));
   }
 
   /* Just sanitize referenced Device tables.  Doesn't check the values themselves. */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -8,8 +8,6 @@
 namespace Layout {
 namespace GSUB_impl {
 
-typedef hb_pair_t hb_codepoint_pair_t;
-
 template
 static void SingleSubst_serialize (hb_serialize_context_t *c,
                                    Iterator it);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh	2024-04-08 05:38:38.000000000 +0000
@@ -10,10 +10,10 @@
 template 
 struct Ligature
 {
-  protected:
+  public:
   typename Types::HBGlyphID
                 ligGlyph;               /* GlyphID of ligature to substitute */
-  HeadlessArrayOf
+  HeadlessArray16Of
                 component;              /* Array of component GlyphIDs--start
                                          * with the second  component--ordered
                                          * in writing direction */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSet.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSet.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSet.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSet.hh	2024-04-08 05:38:38.000000000 +0000
@@ -75,12 +75,69 @@
   bool apply (hb_ot_apply_context_t *c) const
   {
     TRACE_APPLY (this);
+
     unsigned int num_ligs = ligature.len;
+
+#ifndef HB_NO_OT_RULESETS_FAST_PATH
+    if (HB_OPTIMIZE_SIZE_VAL || num_ligs <= 4)
+#endif
+    {
+    slow:
+      for (unsigned int i = 0; i < num_ligs; i++)
+      {
+        const auto &lig = this+ligature.arrayZ[i];
+        if (lig.apply (c)) return_trace (true);
+      }
+      return_trace (false);
+    }
+
+    /* This version is optimized for speed by matching the first component
+     * of the ligature here, instead of calling into the ligation code.
+     *
+     * This is replicated in ChainRuleSet and RuleSet. */
+
+    hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
+    skippy_iter.reset (c->buffer->idx);
+    skippy_iter.set_match_func (match_always, nullptr);
+    skippy_iter.set_glyph_data ((HBUINT16 *) nullptr);
+    unsigned unsafe_to;
+    hb_codepoint_t first = (unsigned) -1;
+    bool matched = skippy_iter.next (&unsafe_to);
+    if (likely (matched))
+    {
+      first = c->buffer->info[skippy_iter.idx].codepoint;
+      unsafe_to = skippy_iter.idx + 1;
+
+      if (skippy_iter.may_skip (c->buffer->info[skippy_iter.idx]))
+      {
+        /* Can't use the fast path if eg. the next char is a default-ignorable
+         * or other skippable. */
+        goto slow;
+      }
+    }
+    else
+      goto slow;
+
+    bool unsafe_to_concat = false;
+
     for (unsigned int i = 0; i < num_ligs; i++)
     {
-      const auto &lig = this+ligature[i];
-      if (lig.apply (c)) return_trace (true);
+      const auto &lig = this+ligature.arrayZ[i];
+      if (unlikely (lig.component.lenP1 <= 1) ||
+          lig.component.arrayZ[0] == first)
+      {
+        if (lig.apply (c))
+        {
+          if (unsafe_to_concat)
+            c->buffer->unsafe_to_concat (c->buffer->idx, unsafe_to);
+          return_trace (true);
+        }
+      }
+      else if (likely (lig.component.lenP1 > 1))
+        unsafe_to_concat = true;
     }
+    if (likely (unsafe_to_concat))
+      c->buffer->unsafe_to_concat (c->buffer->idx, unsafe_to);
 
     return_trace (false);
   }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -191,7 +191,6 @@
     TRACE_SERIALIZE (this);
 
     auto *out = c->serializer->start_embed (this);
-    if (unlikely (!c->serializer->check_success (out))) return_trace (false);
     if (unlikely (!c->serializer->embed (this->format))) return_trace (false);
     if (unlikely (!c->serializer->embed (this->coverage))) return_trace (false);
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Sequence.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Sequence.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Sequence.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Sequence.hh	2024-04-08 05:38:38.000000000 +0000
@@ -53,7 +53,7 @@
       if (HB_BUFFER_MESSAGE_MORE && c->buffer->messaging ())
       {
         c->buffer->message (c->font,
-                            "replaced glyph at %u (multiple subtitution)",
+                            "replaced glyph at %u (multiple substitution)",
                             c->buffer->idx - 1u);
       }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubst.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubst.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubst.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubst.hh	2024-04-08 05:38:38.000000000 +0000
@@ -57,7 +57,7 @@
 
 #ifndef HB_NO_BEYOND_64K
        if (+ glyphs
-           | hb_map_retains_sorting (hb_first)
+           | hb_map_retains_sorting (hb_second)
            | hb_filter ([] (hb_codepoint_t gid) { return gid > 0xFFFFu; }))
        {
          format += 2;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -87,19 +87,54 @@
     }
   }
 
-  void transform_points (contour_point_vector_t &points,
+  static void transform (const float (&matrix)[4],
+                         hb_array_t points)
+  {
+    if (matrix[0] != 1.f || matrix[1] != 0.f ||
+        matrix[2] != 0.f || matrix[3] != 1.f)
+      for (auto &point : points)
+        point.transform (matrix);
+  }
+
+  static void translate (const contour_point_t &trans,
+                         hb_array_t points)
+  {
+    if (HB_OPTIMIZE_SIZE_VAL)
+    {
+      if (trans.x != 0.f || trans.y != 0.f)
+        for (auto &point : points)
+          point.translate (trans);
+    }
+    else
+    {
+      if (trans.x != 0.f && trans.y != 0.f)
+        for (auto &point : points)
+          point.translate (trans);
+      else
+      {
+        if (trans.x != 0.f)
+          for (auto &point : points)
+            point.x += trans.x;
+        else if (trans.y != 0.f)
+          for (auto &point : points)
+            point.y += trans.y;
+      }
+    }
+  }
+
+  void transform_points (hb_array_t points,
                          const float (&matrix)[4],
                          const contour_point_t &trans) const
   {
     if (scaled_offsets ())
     {
-      points.translate (trans);
-      points.transform (matrix);
+      translate (trans, points);
+      transform (matrix, points);
     }
     else
     {
-      points.transform (matrix);
-      points.translate (trans);
+      transform (matrix, points);
+      translate (trans, points);
     }
   }
 
@@ -108,8 +143,8 @@
     float matrix[4];
     contour_point_t trans;
     get_transformation (matrix, trans);
-    if (unlikely (!points.resize (points.length + 1))) return false;
-    points[points.length - 1] = trans;
+    if (unlikely (!points.alloc (points.length + 4))) return false; // For phantom points
+    points.push (trans);
     return true;
   }
 
@@ -358,7 +393,7 @@
     {
       /* last 4 points in points_with_deltas are phantom points and should not be included */
       if (i >= points_with_deltas.length - 4) {
-        free (o);
+        hb_free (o);
         return false;
       }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -103,6 +103,63 @@
     }
   }
 
+  bool get_all_points_without_var (const hb_face_t *face,
+                                   contour_point_vector_t &points /* OUT */) const
+  {
+    switch (type) {
+    case SIMPLE:
+      if (unlikely (!SimpleGlyph (*header, bytes).get_contour_points (points)))
+        return false;
+      break;
+    case COMPOSITE:
+    {
+      for (auto &item : get_composite_iterator ())
+        if (unlikely (!item.get_points (points))) return false;
+      break;
+    }
+#ifndef HB_NO_VAR_COMPOSITES
+    case VAR_COMPOSITE:
+    {
+      for (auto &item : get_var_composite_iterator ())
+        if (unlikely (!item.get_points (points))) return false;
+      break;
+    }
+#endif
+    case EMPTY:
+      break;
+    }
+
+    /* Init phantom points */
+    if (unlikely (!points.resize (points.length + PHANTOM_COUNT))) return false;
+    hb_array_t phantoms = points.as_array ().sub_array (points.length - PHANTOM_COUNT, PHANTOM_COUNT);
+    {
+      int lsb = 0;
+      int h_delta = face->table.hmtx->get_leading_bearing_without_var_unscaled (gid, &lsb) ?
+                    (int) header->xMin - lsb : 0;
+      HB_UNUSED int tsb = 0;
+      int v_orig  = (int) header->yMax +
+#ifndef HB_NO_VERTICAL
+                    ((void) face->table.vmtx->get_leading_bearing_without_var_unscaled (gid, &tsb), tsb)
+#else
+                    0
+#endif
+                    ;
+      unsigned h_adv = face->table.hmtx->get_advance_without_var_unscaled (gid);
+      unsigned v_adv =
+#ifndef HB_NO_VERTICAL
+                       face->table.vmtx->get_advance_without_var_unscaled (gid)
+#else
+                       - face->get_upem ()
+#endif
+                       ;
+      phantoms[PHANTOM_LEFT].x = h_delta;
+      phantoms[PHANTOM_RIGHT].x = (int) h_adv + h_delta;
+      phantoms[PHANTOM_TOP].y = v_orig;
+      phantoms[PHANTOM_BOTTOM].y = v_orig - (int) v_adv;
+    }
+    return true;
+  }
+
   void update_mtx (const hb_subset_plan_t *plan,
                    int xMin, int xMax,
                    int yMin, int yMax,
@@ -114,8 +171,8 @@
 
     if (type != EMPTY)
     {
-      plan->bounds_width_map.set (new_gid, xMax - xMin);
-      plan->bounds_height_map.set (new_gid, yMax - yMin);
+      plan->bounds_width_vec[new_gid] = xMax - xMin;
+      plan->bounds_height_vec[new_gid] = yMax - yMin;
     }
 
     unsigned len = all_points.length;
@@ -124,10 +181,12 @@
     float topSideY = all_points[len - 2].y;
     float bottomSideY = all_points[len - 1].y;
 
+    uint32_t hash = hb_hash (new_gid);
+
     signed hori_aw = roundf (rightSideX - leftSideX);
     if (hori_aw < 0) hori_aw = 0;
     int lsb = roundf (xMin - leftSideX);
-    plan->hmtx_map.set (new_gid, hb_pair ((unsigned) hori_aw, lsb));
+    plan->hmtx_map.set_with_hash (new_gid, hash, hb_pair ((unsigned) hori_aw, lsb));
     //flag value should be computed using non-empty glyphs
     if (type != EMPTY && lsb != xMin)
       plan->head_maxp_info.allXMinIsLsb = false;
@@ -135,7 +194,7 @@
     signed vert_aw = roundf (topSideY - bottomSideY);
     if (vert_aw < 0) vert_aw = 0;
     int tsb = roundf (topSideY - yMax);
-    plan->vmtx_map.set (new_gid, hb_pair ((unsigned) vert_aw, tsb));
+    plan->vmtx_map.set_with_hash (new_gid, hash, hb_pair ((unsigned) vert_aw, tsb));
   }
 
   bool compile_header_bytes (const hb_subset_plan_t *plan,
@@ -155,24 +214,28 @@
     {
       xMin = xMax = all_points[0].x;
       yMin = yMax = all_points[0].y;
+
+      unsigned count = all_points.length - 4;
+      for (unsigned i = 1; i < count; i++)
+      {
+        float x = all_points[i].x;
+        float y = all_points[i].y;
+        xMin = hb_min (xMin, x);
+        xMax = hb_max (xMax, x);
+        yMin = hb_min (yMin, y);
+        yMax = hb_max (yMax, y);
+      }
     }
 
-    for (unsigned i = 1; i < all_points.length - 4; i++)
-    {
-      float x = all_points[i].x;
-      float y = all_points[i].y;
-      xMin = hb_min (xMin, x);
-      xMax = hb_max (xMax, x);
-      yMin = hb_min (yMin, y);
-      yMax = hb_max (yMax, y);
-    }
-
-    update_mtx (plan, roundf (xMin), roundf (xMax), roundf (yMin), roundf (yMax), all_points);
-
-    int rounded_xMin = roundf (xMin);
-    int rounded_xMax = roundf (xMax);
-    int rounded_yMin = roundf (yMin);
-    int rounded_yMax = roundf (yMax);
+
+    // These are destined for storage in a 16 bit field to clamp the values to
+    // fit into a 16 bit signed integer.
+    int rounded_xMin = hb_clamp (roundf (xMin), -32768.0f, 32767.0f);
+    int rounded_xMax = hb_clamp (roundf (xMax), -32768.0f, 32767.0f);
+    int rounded_yMin = hb_clamp (roundf (yMin), -32768.0f, 32767.0f);
+    int rounded_yMax = hb_clamp (roundf (yMax), -32768.0f, 32767.0f);
+
+    update_mtx (plan, rounded_xMin, rounded_xMax, rounded_yMin, rounded_yMax, all_points);
 
     if (type != EMPTY)
     {
@@ -287,6 +350,7 @@
                    bool use_my_metrics = true,
                    bool phantom_only = false,
                    hb_array_t coords = hb_array_t (),
+                   hb_map_t *current_glyphs = nullptr,
                    unsigned int depth = 0,
                    unsigned *edge_count = nullptr) const
   {
@@ -296,6 +360,10 @@
     if (unlikely (*edge_count > HB_GLYF_MAX_EDGE_COUNT)) return false;
     (*edge_count)++;
 
+    hb_map_t current_glyphs_stack;
+    if (current_glyphs == nullptr)
+      current_glyphs = ¤t_glyphs_stack;
+
     if (head_maxp_info)
     {
       head_maxp_info->maxComponentDepth = hb_max (head_maxp_info->maxComponentDepth, depth);
@@ -305,9 +373,8 @@
       coords = hb_array (font->coords, font->num_coords);
 
     contour_point_vector_t stack_points;
-    bool inplace = type == SIMPLE && all_points.length == 0;
-    /* Load into all_points if it's empty, as an optimization. */
-    contour_point_vector_t &points = inplace ? all_points : stack_points;
+    contour_point_vector_t &points = type == SIMPLE ? all_points : stack_points;
+    unsigned old_length = points.length;
 
     switch (type) {
     case SIMPLE:
@@ -315,7 +382,7 @@
         head_maxp_info->maxContours = hb_max (head_maxp_info->maxContours, (unsigned) header->numberOfContours);
       if (depth > 0 && composite_contours)
         *composite_contours += (unsigned) header->numberOfContours;
-      if (unlikely (!SimpleGlyph (*header, bytes).get_contour_points (points, phantom_only)))
+      if (unlikely (!SimpleGlyph (*header, bytes).get_contour_points (all_points, phantom_only)))
         return false;
       break;
     case COMPOSITE:
@@ -329,6 +396,7 @@
     {
       for (auto &item : get_var_composite_iterator ())
         if (unlikely (!item.get_points (points))) return false;
+      break;
     }
 #endif
     case EMPTY:
@@ -365,9 +433,11 @@
     }
 
 #ifndef HB_NO_VAR
-    glyf_accelerator.gvar->apply_deltas_to_points (gid,
-                                                   coords,
-                                                   points.as_array ());
+    if (coords)
+      glyf_accelerator.gvar->apply_deltas_to_points (gid,
+                                                     coords,
+                                                     points.as_array ().sub_array (old_length),
+                                                     phantom_only && type == SIMPLE);
 #endif
 
     // mainly used by CompositeGlyph calculating new X/Y offset value so no need to extend it
@@ -375,27 +445,33 @@
     if (points_with_deltas != nullptr && depth == 0 && type == COMPOSITE)
     {
       if (unlikely (!points_with_deltas->resize (points.length))) return false;
-      points_with_deltas->copy_vector (points);
+      *points_with_deltas = points;
     }
 
     switch (type) {
     case SIMPLE:
       if (depth == 0 && head_maxp_info)
-        head_maxp_info->maxPoints = hb_max (head_maxp_info->maxPoints, points.length - 4);
-      if (!inplace)
-        all_points.extend (points.as_array ());
+        head_maxp_info->maxPoints = hb_max (head_maxp_info->maxPoints, all_points.length - old_length - 4);
       break;
     case COMPOSITE:
     {
-      contour_point_vector_t comp_points;
       unsigned int comp_index = 0;
       for (auto &item : get_composite_iterator ())
       {
-        comp_points.reset ();
-        if (unlikely (!glyf_accelerator.glyph_for_gid (item.get_gid ())
+        hb_codepoint_t item_gid = item.get_gid ();
+
+        if (unlikely (current_glyphs->has (item_gid)))
+          continue;
+
+        current_glyphs->add (item_gid);
+
+        unsigned old_count = all_points.length;
+
+        if (unlikely ((!phantom_only || (use_my_metrics && item.is_use_my_metrics ())) &&
+                      !glyf_accelerator.glyph_for_gid (item_gid)
                                        .get_points (font,
                                                     glyf_accelerator,
-                                                    comp_points,
+                                                    all_points,
                                                     points_with_deltas,
                                                     head_maxp_info,
                                                     composite_contours,
@@ -403,23 +479,32 @@
                                                     use_my_metrics,
                                                     phantom_only,
                                                     coords,
+                                                    current_glyphs,
                                                     depth + 1,
                                                     edge_count)))
+        {
+          current_glyphs->del (item_gid);
           return false;
+        }
+
+        auto comp_points = all_points.as_array ().sub_array (old_count);
 
         /* Copy phantom points from component if USE_MY_METRICS flag set */
         if (use_my_metrics && item.is_use_my_metrics ())
           for (unsigned int i = 0; i < PHANTOM_COUNT; i++)
             phantoms[i] = comp_points[comp_points.length - PHANTOM_COUNT + i];
 
-        float matrix[4];
-        contour_point_t default_trans;
-        item.get_transformation (matrix, default_trans);
+        if (comp_points) // Empty in case of phantom_only
+        {
+          float matrix[4];
+          contour_point_t default_trans;
+          item.get_transformation (matrix, default_trans);
 
-        /* Apply component transformation & translation (with deltas applied) */
-        item.transform_points (comp_points, matrix, points[comp_index]);
+          /* Apply component transformation & translation (with deltas applied) */
+          item.transform_points (comp_points, matrix, points[comp_index]);
+        }
 
-        if (item.is_anchored ())
+        if (item.is_anchored () && !phantom_only)
         {
           unsigned int p1, p2;
           item.get_anchor_points (p1, p2);
@@ -429,16 +514,20 @@
             delta.init (all_points[p1].x - comp_points[p2].x,
                         all_points[p1].y - comp_points[p2].y);
 
-            comp_points.translate (delta);
+            item.translate (delta, comp_points);
           }
         }
 
-        all_points.extend (comp_points.as_array ().sub_array (0, comp_points.length - PHANTOM_COUNT));
+        all_points.resize (all_points.length - PHANTOM_COUNT);
 
         if (all_points.length > HB_GLYF_MAX_POINTS)
+        {
+          current_glyphs->del (item_gid);
           return false;
+        }
 
         comp_index++;
+        current_glyphs->del (item_gid);
       }
 
       if (head_maxp_info && depth == 0)
@@ -453,26 +542,37 @@
 #ifndef HB_NO_VAR_COMPOSITES
     case VAR_COMPOSITE:
     {
-      contour_point_vector_t comp_points;
       hb_array_t points_left = points.as_array ();
       for (auto &item : get_var_composite_iterator ())
       {
+        hb_codepoint_t item_gid = item.get_gid ();
+
+        if (unlikely (current_glyphs->has (item_gid)))
+          continue;
+
+        current_glyphs->add (item_gid);
+
         unsigned item_num_points = item.get_num_points ();
         hb_array_t record_points = points_left.sub_array (0, item_num_points);
-
-        comp_points.reset ();
+        assert (record_points.length == item_num_points);
 
         auto component_coords = coords;
-        if (item.is_reset_unspecified_axes ())
+        /* Copying coords is expensive; so we have put an arbitrary
+         * limit on the max number of coords for now. */
+        if (item.is_reset_unspecified_axes () ||
+            coords.length > HB_GLYF_VAR_COMPOSITE_MAX_AXES)
           component_coords = hb_array ();
 
         coord_setter_t coord_setter (component_coords);
         item.set_variations (coord_setter, record_points);
 
-        if (unlikely (!glyf_accelerator.glyph_for_gid (item.get_gid ())
+        unsigned old_count = all_points.length;
+
+        if (unlikely ((!phantom_only || (use_my_metrics && item.is_use_my_metrics ())) &&
+                      !glyf_accelerator.glyph_for_gid (item_gid)
                                        .get_points (font,
                                                     glyf_accelerator,
-                                                    comp_points,
+                                                    all_points,
                                                     points_with_deltas,
                                                     head_maxp_info,
                                                     nullptr,
@@ -480,24 +580,36 @@
                                                     use_my_metrics,
                                                     phantom_only,
                                                     coord_setter.get_coords (),
+                                                    current_glyphs,
                                                     depth + 1,
                                                     edge_count)))
+        {
+          current_glyphs->del (item_gid);
           return false;
+        }
+
+        auto comp_points = all_points.as_array ().sub_array (old_count);
 
         /* Apply component transformation */
-        item.transform_points (record_points, comp_points);
+        if (comp_points) // Empty in case of phantom_only
+          item.transform_points (record_points, comp_points);
 
         /* Copy phantom points from component if USE_MY_METRICS flag set */
         if (use_my_metrics && item.is_use_my_metrics ())
           for (unsigned int i = 0; i < PHANTOM_COUNT; i++)
             phantoms[i] = comp_points[comp_points.length - PHANTOM_COUNT + i];
 
-        all_points.extend (comp_points.as_array ().sub_array (0, comp_points.length - PHANTOM_COUNT));
+        all_points.resize (all_points.length - PHANTOM_COUNT);
 
         if (all_points.length > HB_GLYF_MAX_POINTS)
+        {
+          current_glyphs->del (item_gid);
           return false;
+        }
 
         points_left += item_num_points;
+
+        current_glyphs->del (item_gid);
       }
       all_points.extend (phantoms);
     } break;
@@ -512,9 +624,10 @@
       /* Undocumented rasterizer behavior:
        * Shift points horizontally by the updated left side bearing
        */
-      contour_point_t delta;
-      delta.init (-phantoms[PHANTOM_LEFT].x, 0.f);
-      if (delta.x) all_points.translate (delta);
+      int v = -phantoms[PHANTOM_LEFT].x;
+      if (v)
+        for (auto &point : all_points)
+          point.x += v;
     }
 
     return !all_points.in_error ();
@@ -545,10 +658,11 @@
     int num_contours = header->numberOfContours;
     if (unlikely (num_contours == 0)) type = EMPTY;
     else if (num_contours > 0) type = SIMPLE;
+    else if (num_contours == -1) type = COMPOSITE;
 #ifndef HB_NO_VAR_COMPOSITES
     else if (num_contours == -2) type = VAR_COMPOSITE;
 #endif
-    else type = COMPOSITE; /* negative numbers */
+    else type = EMPTY; // Spec deviation; Spec says COMPOSITE, but not seen in the wild.
   }
 
   protected:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -124,7 +124,7 @@
   }
 
   static bool read_flags (const HBUINT8 *&p /* IN/OUT */,
-                          contour_point_vector_t &points_ /* IN/OUT */,
+                          hb_array_t points_ /* IN/OUT */,
                           const HBUINT8 *end)
   {
     unsigned count = points_.length;
@@ -146,7 +146,7 @@
   }
 
   static bool read_points (const HBUINT8 *&p /* IN/OUT */,
-                           contour_point_vector_t &points_ /* IN/OUT */,
+                           hb_array_t points_ /* IN/OUT */,
                            const HBUINT8 *end,
                            float contour_point_t::*m,
                            const simple_glyph_flag_t short_flag,
@@ -154,10 +154,9 @@
   {
     int v = 0;
 
-    unsigned count = points_.length;
-    for (unsigned i = 0; i < count; i++)
+    for (auto &point : points_)
     {
-      unsigned flag = points_[i].flag;
+      unsigned flag = point.flag;
       if (flag & short_flag)
       {
         if (unlikely (p + 1 > end)) return false;
@@ -175,23 +174,27 @@
           p += HBINT16::static_size;
         }
       }
-      points_.arrayZ[i].*m = v;
+      point.*m = v;
     }
     return true;
   }
 
-  bool get_contour_points (contour_point_vector_t &points_ /* OUT */,
+  bool get_contour_points (contour_point_vector_t &points /* OUT */,
                            bool phantom_only = false) const
   {
     const HBUINT16 *endPtsOfContours = &StructAfter (header);
     int num_contours = header.numberOfContours;
-    assert (num_contours);
+    assert (num_contours > 0);
     /* One extra item at the end, for the instruction-count below. */
     if (unlikely (!bytes.check_range (&endPtsOfContours[num_contours]))) return false;
     unsigned int num_points = endPtsOfContours[num_contours - 1] + 1;
 
-    points_.alloc (num_points + 4, true); // Allocate for phantom points, to avoid a possible copy
-    if (!points_.resize (num_points)) return false;
+    unsigned old_length = points.length;
+    points.alloc (points.length + num_points + 4, true); // Allocate for phantom points, to avoid a possible copy
+    if (unlikely (!points.resize (points.length + num_points, false))) return false;
+    auto points_ = points.as_array ().sub_array (old_length);
+    if (!phantom_only)
+      hb_memset (points_.arrayZ, 0, sizeof (contour_point_t) * num_points);
     if (phantom_only) return true;
 
     for (int i = 0; i < num_contours; i++)
@@ -214,7 +217,7 @@
   }
 
   static void encode_coord (int value,
-                            uint8_t &flag,
+                            unsigned &flag,
                             const simple_glyph_flag_t short_flag,
                             const simple_glyph_flag_t same_flag,
                             hb_vector_t &coords /* OUT */)
@@ -239,9 +242,9 @@
     }
   }
 
-  static void encode_flag (uint8_t &flag,
-                           uint8_t &repeat,
-                           uint8_t lastflag,
+  static void encode_flag (unsigned flag,
+                           unsigned &repeat,
+                           unsigned lastflag,
                            hb_vector_t &flags /* OUT */)
   {
     if (flag == lastflag && repeat != 255)
@@ -262,7 +265,7 @@
     else
     {
       repeat = 0;
-      flags.push (flag);
+      flags.arrayZ[flags.length++] = flag;
     }
   }
 
@@ -282,13 +285,13 @@
     if (unlikely (!x_coords.alloc (2*num_points, true))) return false;
     if (unlikely (!y_coords.alloc (2*num_points, true))) return false;
 
-    uint8_t lastflag = 255, repeat = 0;
+    unsigned lastflag = 255, repeat = 0;
     int prev_x = 0, prev_y = 0;
 
     for (unsigned i = 0; i < num_points; i++)
     {
-      uint8_t flag = all_points.arrayZ[i].flag;
-      flag &= FLAG_ON_CURVE + FLAG_OVERLAP_SIMPLE;
+      unsigned flag = all_points.arrayZ[i].flag;
+      flag &= FLAG_ON_CURVE | FLAG_OVERLAP_SIMPLE | FLAG_CUBIC;
 
       int cur_x = roundf (all_points.arrayZ[i].x);
       int cur_y = roundf (all_points.arrayZ[i].y);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -22,7 +22,7 @@
 
   bool serialize (hb_serialize_context_t *c,
                   bool use_short_loca,
-                  const hb_subset_plan_t *plan)
+                  const hb_subset_plan_t *plan) const
   {
     TRACE_SERIALIZE (this);
 
@@ -40,7 +40,7 @@
     pad = 0;
     while (pad_length > 0)
     {
-      c->embed (pad);
+      (void) c->embed (pad);
       pad_length--;
     }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -36,24 +36,21 @@
 
   unsigned int get_size () const
   {
+    unsigned fl = flags;
     unsigned int size = min_size;
 
-    unsigned axis_width = (flags & AXIS_INDICES_ARE_SHORT) ? 4 : 3;
+    unsigned axis_width = (fl & AXIS_INDICES_ARE_SHORT) ? 4 : 3;
     size += numAxes * axis_width;
 
-    // gid
-    size += 2;
-    if (flags & GID_IS_24BIT)           size += 1;
-
-    if (flags & HAVE_TRANSLATE_X)       size += 2;
-    if (flags & HAVE_TRANSLATE_Y)       size += 2;
-    if (flags & HAVE_ROTATION)          size += 2;
-    if (flags & HAVE_SCALE_X)           size += 2;
-    if (flags & HAVE_SCALE_Y)           size += 2;
-    if (flags & HAVE_SKEW_X)            size += 2;
-    if (flags & HAVE_SKEW_Y)            size += 2;
-    if (flags & HAVE_TCENTER_X)         size += 2;
-    if (flags & HAVE_TCENTER_Y)         size += 2;
+    if (fl & GID_IS_24BIT)      size += 1;
+
+    // 2 bytes each for the following flags
+    fl = fl & (HAVE_TRANSLATE_X | HAVE_TRANSLATE_Y |
+               HAVE_ROTATION |
+               HAVE_SCALE_X | HAVE_SCALE_Y |
+               HAVE_SKEW_X | HAVE_SKEW_Y |
+               HAVE_TCENTER_X | HAVE_TCENTER_Y);
+    size += hb_popcount (fl) * 2;
 
     return size;
   }
@@ -66,17 +63,17 @@
   hb_codepoint_t get_gid () const
   {
     if (flags & GID_IS_24BIT)
-      return StructAfter (numAxes);
+      return * (const HBGlyphID24 *) &pad;
     else
-      return StructAfter (numAxes);
+      return * (const HBGlyphID16 *) &pad;
   }
 
   void set_gid (hb_codepoint_t gid)
   {
     if (flags & GID_IS_24BIT)
-      StructAfter (numAxes) = gid;
+      * (HBGlyphID24 *) &pad = gid;
     else
-      StructAfter (numAxes) = gid;
+      * (HBGlyphID16 *) &pad = gid;
   }
 
   unsigned get_numAxes () const
@@ -86,26 +83,44 @@
 
   unsigned get_num_points () const
   {
+    unsigned fl = flags;
     unsigned num = 0;
-    if (flags & AXES_HAVE_VARIATION)                    num += numAxes;
-    if (flags & (HAVE_TRANSLATE_X | HAVE_TRANSLATE_Y))  num++;
-    if (flags & HAVE_ROTATION)                          num++;
-    if (flags & (HAVE_SCALE_X | HAVE_SCALE_Y))          num++;
-    if (flags & (HAVE_SKEW_X | HAVE_SKEW_Y))            num++;
-    if (flags & (HAVE_TCENTER_X | HAVE_TCENTER_Y))      num++;
+    if (fl & AXES_HAVE_VARIATION)                       num += numAxes;
+
+    /* Hopefully faster code, relying on the value of the flags. */
+    fl = (((fl & (HAVE_TRANSLATE_Y | HAVE_SCALE_Y | HAVE_SKEW_Y | HAVE_TCENTER_Y)) >> 1) | fl) &
+         (HAVE_TRANSLATE_X | HAVE_ROTATION | HAVE_SCALE_X | HAVE_SKEW_X | HAVE_TCENTER_X);
+    num += hb_popcount (fl);
+    return num;
+
+    /* Slower but more readable code. */
+    if (fl & (HAVE_TRANSLATE_X | HAVE_TRANSLATE_Y))     num++;
+    if (fl & HAVE_ROTATION)                             num++;
+    if (fl & (HAVE_SCALE_X | HAVE_SCALE_Y))             num++;
+    if (fl & (HAVE_SKEW_X | HAVE_SKEW_Y))               num++;
+    if (fl & (HAVE_TCENTER_X | HAVE_TCENTER_Y))         num++;
     return num;
   }
 
-  void transform_points (hb_array_t record_points,
-                         contour_point_vector_t &points) const
+  void transform_points (hb_array_t record_points,
+                         hb_array_t points) const
   {
     float matrix[4];
     contour_point_t trans;
 
-    get_transformation_from_points (record_points, matrix, trans);
+    get_transformation_from_points (record_points.arrayZ, matrix, trans);
+
+    auto arrayZ = points.arrayZ;
+    unsigned count = points.length;
+
+    if (matrix[0] != 1.f || matrix[1] != 0.f ||
+        matrix[2] != 0.f || matrix[3] != 1.f)
+      for (unsigned i = 0; i < count; i++)
+        arrayZ[i].transform (matrix);
 
-    points.transform (matrix);
-    points.translate (trans);
+    if (trans.x != 0.f || trans.y != 0.f)
+      for (unsigned i = 0; i < count; i++)
+        arrayZ[i].translate (trans);
   }
 
   static inline void transform (float (&matrix)[4], contour_point_t &trans,
@@ -136,26 +151,41 @@
   static void translate (float (&matrix)[4], contour_point_t &trans,
                          float translateX, float translateY)
   {
-    // https://github.com/fonttools/fonttools/blob/f66ee05f71c8b57b5f519ee975e95edcd1466e14/Lib/fontTools/misc/transform.py#L213
-    float other[6] = {1.f, 0.f, 0.f, 1.f, translateX, translateY};
-    transform (matrix, trans, other);
+    if (!translateX && !translateY)
+      return;
+
+    trans.x += matrix[0] * translateX + matrix[2] * translateY;
+    trans.y += matrix[1] * translateX + matrix[3] * translateY;
   }
 
   static void scale (float (&matrix)[4], contour_point_t &trans,
                      float scaleX, float scaleY)
   {
-    // https://github.com/fonttools/fonttools/blob/f66ee05f71c8b57b5f519ee975e95edcd1466e14/Lib/fontTools/misc/transform.py#L224
-    float other[6] = {scaleX, 0.f, 0.f, scaleY, 0.f, 0.f};
-    transform (matrix, trans, other);
+    if (scaleX == 1.f && scaleY == 1.f)
+      return;
+
+    matrix[0] *= scaleX;
+    matrix[1] *= scaleX;
+    matrix[2] *= scaleY;
+    matrix[3] *= scaleY;
   }
 
   static void rotate (float (&matrix)[4], contour_point_t &trans,
                       float rotation)
   {
+    if (!rotation)
+      return;
+
     // https://github.com/fonttools/fonttools/blob/f66ee05f71c8b57b5f519ee975e95edcd1466e14/Lib/fontTools/misc/transform.py#L240
     rotation = rotation * HB_PI;
-    float c = cosf (rotation);
-    float s = sinf (rotation);
+    float c;
+    float s;
+#ifdef HAVE_SINCOSF
+    sincosf (rotation, &s, &c);
+#else
+    c = cosf (rotation);
+    s = sinf (rotation);
+#endif
     float other[6] = {c, s, -s, c, 0.f, 0.f};
     transform (matrix, trans, other);
   }
@@ -163,101 +193,100 @@
   static void skew (float (&matrix)[4], contour_point_t &trans,
                     float skewX, float skewY)
   {
+    if (!skewX && !skewY)
+      return;
+
     // https://github.com/fonttools/fonttools/blob/f66ee05f71c8b57b5f519ee975e95edcd1466e14/Lib/fontTools/misc/transform.py#L255
     skewX = skewX * HB_PI;
     skewY = skewY * HB_PI;
-    float other[6] = {1.f, tanf (skewY), tanf (skewX), 1.f, 0.f, 0.f};
+    float other[6] = {1.f,
+                      skewY ? tanf (skewY) : 0.f,
+                      skewX ? tanf (skewX) : 0.f,
+                      1.f,
+                      0.f, 0.f};
     transform (matrix, trans, other);
   }
 
   bool get_points (contour_point_vector_t &points) const
   {
-    float translateX = 0.f;
-    float translateY = 0.f;
-    float rotation = 0.f;
-    float scaleX = 1.f * (1 << 10);
-    float scaleY = 1.f * (1 << 10);
-    float skewX = 0.f;
-    float skewY = 0.f;
-    float tCenterX = 0.f;
-    float tCenterY = 0.f;
-
     unsigned num_points = get_num_points ();
 
-    if (unlikely (!points.resize (points.length + num_points))) return false;
-
-    unsigned axis_width = (flags & AXIS_INDICES_ARE_SHORT) ? 2 : 1;
-    unsigned axes_size = numAxes * axis_width;
+    points.alloc (points.length + num_points + 4); // For phantom points
+    if (unlikely (!points.resize (points.length + num_points, false))) return false;
+    contour_point_t *rec_points = points.arrayZ + (points.length - num_points);
+    hb_memset (rec_points, 0, num_points * sizeof (rec_points[0]));
+
+    unsigned fl = flags;
+
+    unsigned num_axes = numAxes;
+    unsigned axis_width = (fl & AXIS_INDICES_ARE_SHORT) ? 2 : 1;
+    unsigned axes_size = num_axes * axis_width;
 
     const F2DOT14 *q = (const F2DOT14 *) (axes_size +
-                                          (flags & GID_IS_24BIT ? 3 : 2) +
-                                          &StructAfter (numAxes));
-
-    hb_array_t rec_points = points.as_array ().sub_array (points.length - num_points);
+                                          (fl & GID_IS_24BIT ? 3 : 2) +
+                                          (const HBUINT8 *) &pad);
 
-    unsigned count = numAxes;
-    if (flags & AXES_HAVE_VARIATION)
+    unsigned count = num_axes;
+    if (fl & AXES_HAVE_VARIATION)
     {
       for (unsigned i = 0; i < count; i++)
-        rec_points[i].x = q++->to_int ();
-      rec_points += count;
+        rec_points++->x = q++->to_int ();
     }
     else
       q += count;
 
     const HBUINT16 *p = (const HBUINT16 *) q;
 
-    if (flags & HAVE_TRANSLATE_X)       translateX = * (const FWORD *) p++;
-    if (flags & HAVE_TRANSLATE_Y)       translateY = * (const FWORD *) p++;
-    if (flags & HAVE_ROTATION)          rotation = ((const F4DOT12 *) p++)->to_int ();
-    if (flags & HAVE_SCALE_X)           scaleX = ((const F6DOT10 *) p++)->to_int ();
-    if (flags & HAVE_SCALE_Y)           scaleY = ((const F6DOT10 *) p++)->to_int ();
-    if (flags & HAVE_SKEW_X)            skewX = ((const F4DOT12 *) p++)->to_int ();
-    if (flags & HAVE_SKEW_Y)            skewY = ((const F4DOT12 *) p++)->to_int ();
-    if (flags & HAVE_TCENTER_X)         tCenterX = * (const FWORD *) p++;
-    if (flags & HAVE_TCENTER_Y)         tCenterY = * (const FWORD *) p++;
-
-    if ((flags & UNIFORM_SCALE) && !(flags & HAVE_SCALE_Y))
-      scaleY = scaleX;
-
-    if (flags & (HAVE_TRANSLATE_X | HAVE_TRANSLATE_Y))
+    if (fl & (HAVE_TRANSLATE_X | HAVE_TRANSLATE_Y))
     {
-      rec_points[0].x = translateX;
-      rec_points[0].y = translateY;
+      int translateX = (fl & HAVE_TRANSLATE_X) ? * (const FWORD *) p++ : 0;
+      int translateY = (fl & HAVE_TRANSLATE_Y) ? * (const FWORD *) p++ : 0;
+      rec_points->x = translateX;
+      rec_points->y = translateY;
       rec_points++;
     }
-    if (flags & HAVE_ROTATION)
+    if (fl & HAVE_ROTATION)
     {
-      rec_points[0].x = rotation;
+      int rotation = (fl & HAVE_ROTATION) ? ((const F4DOT12 *) p++)->to_int () : 0;
+      rec_points->x = rotation;
       rec_points++;
     }
-    if (flags & (HAVE_SCALE_X | HAVE_SCALE_Y))
+    if (fl & (HAVE_SCALE_X | HAVE_SCALE_Y))
     {
-      rec_points[0].x = scaleX;
-      rec_points[0].y = scaleY;
+      int scaleX = (fl & HAVE_SCALE_X) ? ((const F6DOT10 *) p++)->to_int () : 1 << 10;
+      int scaleY = (fl & HAVE_SCALE_Y) ? ((const F6DOT10 *) p++)->to_int () : 1 << 10;
+      if ((fl & UNIFORM_SCALE) && !(fl & HAVE_SCALE_Y))
+        scaleY = scaleX;
+      rec_points->x = scaleX;
+      rec_points->y = scaleY;
       rec_points++;
     }
-    if (flags & (HAVE_SKEW_X | HAVE_SKEW_Y))
+    if (fl & (HAVE_SKEW_X | HAVE_SKEW_Y))
     {
-      rec_points[0].x = skewX;
-      rec_points[0].y = skewY;
+      int skewX = (fl & HAVE_SKEW_X) ? ((const F4DOT12 *) p++)->to_int () : 0;
+      int skewY = (fl & HAVE_SKEW_Y) ? ((const F4DOT12 *) p++)->to_int () : 0;
+      rec_points->x = skewX;
+      rec_points->y = skewY;
       rec_points++;
     }
-    if (flags & (HAVE_TCENTER_X | HAVE_TCENTER_Y))
+    if (fl & (HAVE_TCENTER_X | HAVE_TCENTER_Y))
     {
-      rec_points[0].x = tCenterX;
-      rec_points[0].y = tCenterY;
+      int tCenterX = (fl & HAVE_TCENTER_X) ? * (const FWORD *) p++ : 0;
+      int tCenterY = (fl & HAVE_TCENTER_Y) ? * (const FWORD *) p++ : 0;
+      rec_points->x = tCenterX;
+      rec_points->y = tCenterY;
       rec_points++;
     }
-    assert (!rec_points);
 
     return true;
   }
 
-  void get_transformation_from_points (hb_array_t rec_points,
+  void get_transformation_from_points (const contour_point_t *rec_points,
                                        float (&matrix)[4], contour_point_t &trans) const
   {
-    if (flags & AXES_HAVE_VARIATION)
+    unsigned fl = flags;
+
+    if (fl & AXES_HAVE_VARIATION)
       rec_points += numAxes;
 
     matrix[0] = matrix[3] = 1.f;
@@ -274,36 +303,35 @@
     float tCenterX = 0.f;
     float tCenterY = 0.f;
 
-    if (flags & (HAVE_TRANSLATE_X | HAVE_TRANSLATE_Y))
+    if (fl & (HAVE_TRANSLATE_X | HAVE_TRANSLATE_Y))
     {
-      translateX = rec_points[0].x;
-      translateY = rec_points[0].y;
+      translateX = rec_points->x;
+      translateY = rec_points->y;
       rec_points++;
     }
-    if (flags & HAVE_ROTATION)
+    if (fl & HAVE_ROTATION)
     {
-      rotation = rec_points[0].x / (1 << 12);
+      rotation = rec_points->x / (1 << 12);
       rec_points++;
     }
-    if (flags & (HAVE_SCALE_X | HAVE_SCALE_Y))
+    if (fl & (HAVE_SCALE_X | HAVE_SCALE_Y))
     {
-      scaleX = rec_points[0].x / (1 << 10);
-      scaleY = rec_points[0].y / (1 << 10);
+      scaleX = rec_points->x / (1 << 10);
+      scaleY = rec_points->y / (1 << 10);
       rec_points++;
     }
-    if (flags & (HAVE_SKEW_X | HAVE_SKEW_Y))
+    if (fl & (HAVE_SKEW_X | HAVE_SKEW_Y))
     {
-      skewX = rec_points[0].x / (1 << 12);
-      skewY = rec_points[0].y / (1 << 12);
+      skewX = rec_points->x / (1 << 12);
+      skewY = rec_points->y / (1 << 12);
       rec_points++;
     }
-    if (flags & (HAVE_TCENTER_X | HAVE_TCENTER_Y))
+    if (fl & (HAVE_TCENTER_X | HAVE_TCENTER_Y))
     {
-      tCenterX = rec_points[0].x;
-      tCenterY = rec_points[0].y;
+      tCenterX = rec_points->x;
+      tCenterY = rec_points->y;
       rec_points++;
     }
-    assert (!rec_points);
 
     translate (matrix, trans, translateX + tCenterX, translateY + tCenterY);
     rotate (matrix, trans, rotation);
@@ -317,18 +345,19 @@
   {
     bool have_variations = flags & AXES_HAVE_VARIATION;
     unsigned axis_width = (flags & AXIS_INDICES_ARE_SHORT) ? 2 : 1;
+    unsigned num_axes = numAxes;
 
     const HBUINT8  *p = (const HBUINT8 *)  (((HBUINT8 *) &numAxes) + numAxes.static_size + (flags & GID_IS_24BIT ? 3 : 2));
     const HBUINT16 *q = (const HBUINT16 *) (((HBUINT8 *) &numAxes) + numAxes.static_size + (flags & GID_IS_24BIT ? 3 : 2));
 
-    const F2DOT14 *a = (const F2DOT14 *) ((HBUINT8 *) (axis_width == 1 ? (p + numAxes) : (HBUINT8 *) (q + numAxes)));
+    const F2DOT14 *a = (const F2DOT14 *) ((HBUINT8 *) (axis_width == 1 ? (p + num_axes) : (HBUINT8 *) (q + num_axes)));
 
-    unsigned count = numAxes;
+    unsigned count = num_axes;
     for (unsigned i = 0; i < count; i++)
     {
       unsigned axis_index = axis_width == 1 ? (unsigned) *p++ : (unsigned) *q++;
 
-      signed v = have_variations ? rec_points[i].x : a++->to_int ();
+      signed v = have_variations ? rec_points.arrayZ[i].x : a++->to_int ();
 
       v = hb_clamp (v, -(1<<14), (1<<14));
       setter[axis_index] = v;
@@ -338,8 +367,9 @@
   protected:
   HBUINT16      flags;
   HBUINT8       numAxes;
+  HBUINT16      pad;
   public:
-  DEFINE_SIZE_MIN (3);
+  DEFINE_SIZE_MIN (5);
 };
 
 using var_composite_iter_t = composite_iter_tmpl;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh	2024-04-08 05:38:38.000000000 +0000
@@ -16,6 +16,8 @@
 
   int& operator [] (unsigned idx)
   {
+    if (unlikely (idx >= HB_GLYF_VAR_COMPOSITE_MAX_AXES))
+      return Crap(int);
     if (coords.length < idx + 1)
       coords.resize (idx + 1);
     return coords[idx];
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh	2024-04-08 05:38:38.000000000 +0000
@@ -12,24 +12,44 @@
 namespace glyf_impl {
 
 
-template
+template
 static void
-_write_loca (IteratorIn&& it, bool short_offsets, IteratorOut&& dest)
+_write_loca (IteratorIn&& it,
+             const hb_sorted_vector_t new_to_old_gid_list,
+             bool short_offsets,
+             TypeOut *dest,
+             unsigned num_offsets)
 {
   unsigned right_shift = short_offsets ? 1 : 0;
-  unsigned int offset = 0;
-  dest << 0;
-  + it
-  | hb_map ([=, &offset] (unsigned int padded_size)
-            {
-              offset += padded_size;
-              DEBUG_MSG (SUBSET, nullptr, "loca entry offset %u", offset);
-              return offset >> right_shift;
-            })
-  | hb_sink (dest)
-  ;
+  unsigned offset = 0;
+  TypeOut value;
+  value = 0;
+  *dest++ = value;
+  hb_codepoint_t last = 0;
+  for (auto _ : new_to_old_gid_list)
+  {
+    hb_codepoint_t gid = _.first;
+    for (; last < gid; last++)
+    {
+      DEBUG_MSG (SUBSET, nullptr, "loca entry empty offset %u", offset);
+      *dest++ = value;
+    }
+
+    unsigned padded_size = *it++;
+    offset += padded_size;
+    DEBUG_MSG (SUBSET, nullptr, "loca entry gid %u offset %u padded-size %u", gid, offset, padded_size);
+    value = offset >> right_shift;
+    *dest++ = value;
+
+    last++; // Skip over gid
+  }
+  unsigned num_glyphs = num_offsets - 1;
+  for (; last < num_glyphs; last++)
+  {
+    DEBUG_MSG (SUBSET, nullptr, "loca entry empty offset %u", offset);
+    *dest++ = value;
+  }
 }
 
 static bool
@@ -67,11 +87,14 @@
 template
 static bool
-_add_loca_and_head (hb_subset_plan_t * plan, Iterator padded_offsets, bool use_short_loca)
+_add_loca_and_head (hb_subset_context_t *c,
+                    Iterator padded_offsets,
+                    bool use_short_loca)
 {
-  unsigned num_offsets = padded_offsets.len () + 1;
+  unsigned num_offsets = c->plan->num_output_glyphs () + 1;
   unsigned entry_size = use_short_loca ? 2 : 4;
-  char *loca_prime_data = (char *) hb_calloc (entry_size, num_offsets);
+
+  char *loca_prime_data = (char *) hb_malloc (entry_size * num_offsets);
 
   if (unlikely (!loca_prime_data)) return false;
 
@@ -79,9 +102,9 @@
              entry_size, num_offsets, entry_size * num_offsets);
 
   if (use_short_loca)
-    _write_loca (padded_offsets, true, hb_array ((HBUINT16 *) loca_prime_data, num_offsets));
+    _write_loca (padded_offsets, c->plan->new_to_old_gid_list, true, (HBUINT16 *) loca_prime_data, num_offsets);
   else
-    _write_loca (padded_offsets, false, hb_array ((HBUINT32 *) loca_prime_data, num_offsets));
+    _write_loca (padded_offsets, c->plan->new_to_old_gid_list, false, (HBUINT32 *) loca_prime_data, num_offsets);
 
   hb_blob_t *loca_blob = hb_blob_create (loca_prime_data,
                                          entry_size * num_offsets,
@@ -89,8 +112,8 @@
                                          loca_prime_data,
                                          hb_free);
 
-  bool result = plan->add_table (HB_OT_TAG_loca, loca_blob)
-             && _add_head_and_set_loca_version (plan, use_short_loca);
+  bool result = c->plan->add_table (HB_OT_TAG_loca, loca_blob)
+             && _add_head_and_set_loca_version (c->plan, use_short_loca);
 
   hb_blob_destroy (loca_blob);
   return result;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh	2024-04-08 05:38:38.000000000 +0000
@@ -85,75 +85,72 @@
       return_trace (false);
     }
 
-    glyf *glyf_prime = c->serializer->start_embed  ();
-    if (unlikely (!c->serializer->check_success (glyf_prime))) return_trace (false);
-
     hb_font_t *font = nullptr;
     if (c->plan->normalized_coords)
     {
       font = _create_font_for_instancing (c->plan);
-      if (unlikely (!font)) return false;
+      if (unlikely (!font))
+        return_trace (false);
     }
 
     hb_vector_t padded_offsets;
-    unsigned num_glyphs = c->plan->num_output_glyphs ();
-    if (unlikely (!padded_offsets.resize (num_glyphs)))
-    {
-      hb_font_destroy (font);
-      return false;
-    }
+    if (unlikely (!padded_offsets.alloc (c->plan->new_to_old_gid_list.length, true)))
+      return_trace (false);
 
     hb_vector_t glyphs;
     if (!_populate_subset_glyphs (c->plan, font, glyphs))
     {
       hb_font_destroy (font);
-      return false;
+      return_trace (false);
     }
 
     if (font)
       hb_font_destroy (font);
 
     unsigned max_offset = 0;
-    for (unsigned i = 0; i < num_glyphs; i++)
+    for (auto &g : glyphs)
     {
-      padded_offsets[i] = glyphs[i].padded_size ();
-      max_offset += padded_offsets[i];
+      unsigned size = g.padded_size ();
+      padded_offsets.push (size);
+      max_offset += size;
     }
 
     bool use_short_loca = false;
     if (likely (!c->plan->force_long_loca))
       use_short_loca = max_offset < 0x1FFFF;
 
-    if (!use_short_loca) {
-      for (unsigned i = 0; i < num_glyphs; i++)
-        padded_offsets[i] = glyphs[i].length ();
+    if (!use_short_loca)
+    {
+      padded_offsets.resize (0);
+      for (auto &g : glyphs)
+        padded_offsets.push (g.length ());
     }
 
-    bool result = glyf_prime->serialize (c->serializer, glyphs.writer (), use_short_loca, c->plan);
+    auto *glyf_prime = c->serializer->start_embed  ();
+    bool result = glyf_prime->serialize (c->serializer, hb_iter (glyphs), use_short_loca, c->plan);
     if (c->plan->normalized_coords && !c->plan->pinned_at_default)
       _free_compiled_subset_glyphs (glyphs);
 
-    if (!result) return false;
-
-    if (unlikely (c->serializer->in_error ())) return_trace (false);
+    if (unlikely (!c->serializer->check_success (glyf_impl::_add_loca_and_head (c,
+                                                 padded_offsets.iter (),
+                                                 use_short_loca))))
+      return_trace (false);
 
-    return_trace (c->serializer->check_success (glyf_impl::_add_loca_and_head (c->plan,
-                                                                               padded_offsets.iter (),
-                                                                               use_short_loca)));
+    return result;
   }
 
   bool
   _populate_subset_glyphs (const hb_subset_plan_t   *plan,
                            hb_font_t                *font,
-                           hb_vector_t &glyphs /* OUT */) const;
+                           hb_vector_t& glyphs /* OUT */) const;
 
   hb_font_t *
   _create_font_for_instancing (const hb_subset_plan_t *plan) const;
 
   void _free_compiled_subset_glyphs (hb_vector_t &glyphs) const
   {
-    for (unsigned i = 0; i < glyphs.length; i++)
-      glyphs[i].free_compiled_bytes ();
+    for (auto &g : glyphs)
+      g.free_compiled_bytes ();
   }
 
   protected:
@@ -222,13 +219,14 @@
     if (unlikely (!glyph_for_gid (gid).get_points (font, *this, all_points, nullptr, nullptr, nullptr, true, true, phantom_only)))
       return false;
 
+    unsigned count = all_points.length;
+    assert (count >= glyf_impl::PHANTOM_COUNT);
+    count -= glyf_impl::PHANTOM_COUNT;
+
     if (consumer.is_consuming_contour_points ())
     {
-      unsigned count = all_points.length;
-      assert (count >= glyf_impl::PHANTOM_COUNT);
-      count -= glyf_impl::PHANTOM_COUNT;
-      for (unsigned point_index = 0; point_index < count; point_index++)
-        consumer.consume_point (all_points[point_index]);
+      for (auto &point : all_points.as_array ().sub_array (0, count))
+        consumer.consume_point (point);
       consumer.points_end ();
     }
 
@@ -236,7 +234,7 @@
     contour_point_t *phantoms = consumer.get_phantoms_sink ();
     if (phantoms)
       for (unsigned i = 0; i < glyf_impl::PHANTOM_COUNT; ++i)
-        phantoms[i] = all_points[all_points.length - glyf_impl::PHANTOM_COUNT + i];
+        phantoms[i] = all_points.arrayZ[count + i];
 
     return true;
   }
@@ -299,6 +297,7 @@
       if (extents) bounds = contour_bounds_t ();
     }
 
+    HB_ALWAYS_INLINE
     void consume_point (const contour_point_t &point) { bounds.add (point); }
     void points_end () { bounds.get_extents (font, extents, scaled); }
 
@@ -431,16 +430,17 @@
                                hb_vector_t& glyphs /* OUT */) const
 {
   OT::glyf_accelerator_t glyf (plan->source);
-  unsigned num_glyphs = plan->num_output_glyphs ();
-  if (!glyphs.resize (num_glyphs)) return false;
+  if (!glyphs.alloc (plan->new_to_old_gid_list.length, true)) return false;
 
-  for (auto p : plan->glyph_map->iter ())
+  for (const auto &pair : plan->new_to_old_gid_list)
   {
-    unsigned new_gid = p.second;
-    glyf_impl::SubsetGlyph& subset_glyph = glyphs.arrayZ[new_gid];
-    subset_glyph.old_gid = p.first;
+    hb_codepoint_t new_gid = pair.first;
+    hb_codepoint_t old_gid = pair.second;
+    glyf_impl::SubsetGlyph *p = glyphs.push ();
+    glyf_impl::SubsetGlyph& subset_glyph = *p;
+    subset_glyph.old_gid = old_gid;
 
-    if (unlikely (new_gid == 0 &&
+    if (unlikely (old_gid == 0 && new_gid == 0 &&
                   !(plan->flags & HB_SUBSET_FLAGS_NOTDEF_OUTLINE)) &&
                   !plan->normalized_coords)
       subset_glyph.source_glyph = glyf_impl::Glyph ();
@@ -487,7 +487,7 @@
   {
     hb_variation_t var;
     var.tag = _.first;
-    var.value = _.second;
+    var.value = _.second.middle;
     vars.push (var);
   }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh	2024-04-08 05:38:38.000000000 +0000
@@ -21,19 +21,15 @@
     operator bool () const { return has_data; }
 
     bool has_data = false;
-    float x = 0.;
-    float y = 0.;
+    float x;
+    float y;
 
-    optional_point_t lerp (optional_point_t p, float t)
-    { return optional_point_t (x + t * (p.x - x), y + t * (p.y - y)); }
+    optional_point_t mid (optional_point_t p)
+    { return optional_point_t ((x + p.x) * 0.5f, (y + p.y) * 0.5f); }
   } first_oncurve, first_offcurve, first_offcurve2, last_offcurve, last_offcurve2;
 
-  path_builder_t (hb_font_t *font_, hb_draw_session_t &draw_session_)
-  {
-    font = font_;
-    draw_session = &draw_session_;
-    first_oncurve = first_offcurve = first_offcurve2 = last_offcurve = last_offcurve2 = optional_point_t ();
-  }
+  path_builder_t (hb_font_t *font_, hb_draw_session_t &draw_session_) :
+    font (font_), draw_session (&draw_session_) {}
 
   /* based on https://github.com/RazrFalcon/ttf-parser/blob/4f32821/src/glyf.rs#L287
      See also:
@@ -41,6 +37,7 @@
      * https://stackoverflow.com/a/20772557
      *
      * Cubic support added. */
+  HB_ALWAYS_INLINE
   void consume_point (const contour_point_t &point)
   {
     bool is_on_curve = point.flag & glyf_impl::SimpleGlyph::FLAG_ON_CURVE;
@@ -50,7 +47,7 @@
     bool is_cubic = !is_on_curve && (point.flag & glyf_impl::SimpleGlyph::FLAG_CUBIC);
 #endif
     optional_point_t p (font->em_fscalef_x (point.x), font->em_fscalef_y (point.y));
-    if (!first_oncurve)
+    if (unlikely (!first_oncurve))
     {
       if (is_on_curve)
       {
@@ -66,7 +63,7 @@
         }
         else if (first_offcurve)
         {
-          optional_point_t mid = first_offcurve.lerp (p, .5f);
+          optional_point_t mid = first_offcurve.mid (p);
           first_oncurve = mid;
           last_offcurve = p;
           draw_session->move_to (mid.x, mid.y);
@@ -102,7 +99,7 @@
           }
           else
           {
-            optional_point_t mid = last_offcurve.lerp (p, .5f);
+            optional_point_t mid = last_offcurve.mid (p);
 
             if (is_cubic)
             {
@@ -127,13 +124,13 @@
       }
     }
 
-    if (point.is_end_point)
+    if (unlikely (point.is_end_point))
     {
       if (first_offcurve && last_offcurve)
       {
-        optional_point_t mid = last_offcurve.lerp (first_offcurve2 ?
-                                                   first_offcurve2 :
-                                                   first_offcurve, .5f);
+        optional_point_t mid = last_offcurve.mid (first_offcurve2 ?
+                                                  first_offcurve2 :
+                                                  first_offcurve);
         if (last_offcurve2)
           draw_session->cubic_to (last_offcurve2.x, last_offcurve2.y,
                                   last_offcurve.x, last_offcurve.y,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/name/name.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/name/name.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/OT/name/name.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/OT/name/name.hh	2024-04-08 05:38:38.000000000 +0000
@@ -359,7 +359,7 @@
       record.nameID = ids.name_id;
       record.length = 0; // handled in NameRecord copy()
       record.offset = 0;
-      memcpy (name_records, &record, NameRecord::static_size);
+      hb_memcpy (name_records, &record, NameRecord::static_size);
       name_records++;
     }
 #endif
@@ -384,10 +384,7 @@
 
   bool subset (hb_subset_context_t *c) const
   {
-    TRACE_SUBSET (this);
-
-    name *name_prime = c->serializer->start_embed ();
-    if (unlikely (!name_prime)) return_trace (false);
+    auto *name_prime = c->serializer->start_embed ();
 
 #ifdef HB_EXPERIMENTAL_API
     const hb_hashmap_t *name_table_overrides =
@@ -436,7 +433,7 @@
     if (!name_table_overrides->is_empty ())
     {
       if (unlikely (!insert_name_records.alloc (name_table_overrides->get_population (), true)))
-        return_trace (false);
+        return false;
       for (const auto& record_ids : name_table_overrides->keys ())
       {
         if (name_table_overrides->get (record_ids).length == 0)
@@ -448,13 +445,13 @@
     }
 #endif
 
-    return (name_prime->serialize (c->serializer, it,
-                                   std::addressof (this + stringOffset)
+    return name_prime->serialize (c->serializer, it,
+                                  std::addressof (this + stringOffset)
 #ifdef HB_EXPERIMENTAL_API
-                                   , insert_name_records
-                                   , name_table_overrides
+                                  , insert_name_records
+                                  , name_table_overrides
 #endif
-                                   ));
+                                  );
   }
 
   bool sanitize_records (hb_sanitize_context_t *c) const
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/UPDATING.txt openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/UPDATING.txt
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/UPDATING.txt	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/UPDATING.txt	2024-04-08 05:38:38.000000000 +0000
@@ -106,7 +106,7 @@
   Look for manual related layout jtreg tests (test/jdk/java/awt/font/TextLayout)
   and run on Windows,Linux and Mac.
   Use Font2DTest set to TextLayout and check the above languages. Probably
-  not going to see layout problems a code point at a time but it needs to
+  not going to see layout problems in code at this point of time but it needs to
   be checked.
 
   Different unicode combinations can be checked using Font2DTest.
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -72,7 +72,7 @@
     class_def_link->width = SmallTypes::size;
     class_def_link->objidx = class_def_prime_id;
     class_def_link->position = link_position;
-    class_def_prime_vertex.parents.push (parent_id);
+    class_def_prime_vertex.add_parent (parent_id);
 
     return true;
   }
@@ -94,7 +94,13 @@
     }
 
     hb_bytes_t class_def_copy = serializer.copy_bytes ();
-    c.add_buffer ((char *) class_def_copy.arrayZ); // Give ownership to the context, it will cleanup the buffer.
+    if (!class_def_copy.arrayZ) return false;
+    // Give ownership to the context, it will cleanup the buffer.
+    if (!c.add_buffer ((char *) class_def_copy.arrayZ))
+    {
+      hb_free ((char *) class_def_copy.arrayZ);
+      return false;
+    }
 
     auto& obj = c.graph.vertices_[dest_obj].obj;
     obj.head = (char *) class_def_copy.arrayZ;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -96,7 +96,7 @@
     coverage_link->width = SmallTypes::size;
     coverage_link->objidx = coverage_prime_id;
     coverage_link->position = link_position;
-    coverage_prime_vertex.parents.push (parent_id);
+    coverage_prime_vertex.add_parent (parent_id);
 
     return (Coverage*) coverage_prime_vertex.obj.head;
   }
@@ -118,7 +118,13 @@
     }
 
     hb_bytes_t coverage_copy = serializer.copy_bytes ();
-    c.add_buffer ((char *) coverage_copy.arrayZ); // Give ownership to the context, it will cleanup the buffer.
+    if (!coverage_copy.arrayZ) return false;
+    // Give ownership to the context, it will cleanup the buffer.
+    if (!c.add_buffer ((char *) coverage_copy.arrayZ))
+    {
+      hb_free ((char *) coverage_copy.arrayZ);
+      return false;
+    }
 
     auto& obj = c.graph.vertices_[dest_obj].obj;
     obj.head = (char *) coverage_copy.arrayZ;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/graph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/graph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/graph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/graph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -43,12 +43,28 @@
   {
     hb_serialize_context_t::object_t obj;
     int64_t distance = 0 ;
-    int64_t space = 0 ;
-    hb_vector_t parents;
+    unsigned space = 0 ;
     unsigned start = 0;
     unsigned end = 0;
     unsigned priority = 0;
+    private:
+    unsigned incoming_edges_ = 0;
+    unsigned single_parent = (unsigned) -1;
+    hb_hashmap_t parents;
+    public:
+
+    auto parents_iter () const HB_AUTO_RETURN
+    (
+      hb_concat (
+        hb_iter (&single_parent, single_parent != (unsigned) -1),
+        parents.keys_ref ()
+      )
+    )
 
+    bool in_error () const
+    {
+      return parents.in_error ();
+    }
 
     bool link_positions_valid (unsigned num_objects, bool removed_nil)
     {
@@ -143,7 +159,9 @@
       hb_swap (a.obj, b.obj);
       hb_swap (a.distance, b.distance);
       hb_swap (a.space, b.space);
+      hb_swap (a.single_parent, b.single_parent);
       hb_swap (a.parents, b.parents);
+      hb_swap (a.incoming_edges_, b.incoming_edges_);
       hb_swap (a.start, b.start);
       hb_swap (a.end, b.end);
       hb_swap (a.priority, b.priority);
@@ -154,6 +172,7 @@
     {
       hb_hashmap_t result;
 
+      result.alloc (obj.real_links.length);
       for (const auto& l : obj.real_links) {
         result.set (l.position, l.objidx);
       }
@@ -163,27 +182,83 @@
 
     bool is_shared () const
     {
-      return parents.length > 1;
+      return parents.get_population () > 1;
     }
 
     unsigned incoming_edges () const
     {
-      return parents.length;
+      if (HB_DEBUG_SUBSET_REPACK)
+       {
+        assert (incoming_edges_ == (single_parent != (unsigned) -1) +
+                (parents.values_ref () | hb_reduce (hb_add, 0)));
+       }
+      return incoming_edges_;
+    }
+
+    void reset_parents ()
+    {
+      incoming_edges_ = 0;
+      single_parent = (unsigned) -1;
+      parents.reset ();
+    }
+
+    void add_parent (unsigned parent_index)
+    {
+      assert (parent_index != (unsigned) -1);
+      if (incoming_edges_ == 0)
+      {
+        single_parent = parent_index;
+        incoming_edges_ = 1;
+        return;
+      }
+      else if (single_parent != (unsigned) -1)
+      {
+        assert (incoming_edges_ == 1);
+        if (!parents.set (single_parent, 1))
+          return;
+        single_parent = (unsigned) -1;
+      }
+
+      unsigned *v;
+      if (parents.has (parent_index, &v))
+      {
+        (*v)++;
+        incoming_edges_++;
+      }
+      else if (parents.set (parent_index, 1))
+        incoming_edges_++;
     }
 
     void remove_parent (unsigned parent_index)
     {
-      for (unsigned i = 0; i < parents.length; i++)
+      if (parent_index == single_parent)
+      {
+        single_parent = (unsigned) -1;
+        incoming_edges_--;
+        return;
+      }
+
+      unsigned *v;
+      if (parents.has (parent_index, &v))
       {
-        if (parents[i] != parent_index) continue;
-        parents.remove_unordered (i);
-        break;
+        incoming_edges_--;
+        if (*v > 1)
+          (*v)--;
+        else
+          parents.del (parent_index);
+
+        if (incoming_edges_ == 1)
+        {
+          single_parent = *parents.keys ();
+          parents.reset ();
+        }
       }
     }
 
     void remove_real_link (unsigned child_index, const void* offset)
     {
-      for (unsigned i = 0; i < obj.real_links.length; i++)
+      unsigned count = obj.real_links.length;
+      for (unsigned i = 0; i < count; i++)
       {
         auto& link = obj.real_links.arrayZ[i];
         if (link.objidx != child_index)
@@ -197,18 +272,53 @@
       }
     }
 
-    void remap_parents (const hb_vector_t& id_map)
+    bool remap_parents (const hb_vector_t& id_map)
     {
-      for (unsigned i = 0; i < parents.length; i++)
-        parents[i] = id_map[parents[i]];
+      if (single_parent != (unsigned) -1)
+      {
+        assert (single_parent < id_map.length);
+        single_parent = id_map[single_parent];
+        return true;
+      }
+
+      hb_hashmap_t new_parents;
+      new_parents.alloc (parents.get_population ());
+      for (auto _ : parents)
+      {
+        assert (_.first < id_map.length);
+        assert (!new_parents.has (id_map[_.first]));
+        new_parents.set (id_map[_.first], _.second);
+      }
+
+      if (parents.in_error() || new_parents.in_error ())
+        return false;
+
+      parents = std::move (new_parents);
+      return true;
     }
 
     void remap_parent (unsigned old_index, unsigned new_index)
     {
-      for (unsigned i = 0; i < parents.length; i++)
+      if (single_parent != (unsigned) -1)
       {
-        if (parents[i] == old_index)
-          parents[i] = new_index;
+        if (single_parent == old_index)
+          single_parent = new_index;
+        return;
+      }
+
+      const unsigned *pv;
+      if (parents.has (old_index, &pv))
+      {
+        unsigned v = *pv;
+        if (!parents.set (new_index, v))
+          incoming_edges_ -= v;
+        parents.del (old_index);
+
+        if (incoming_edges_ == 1)
+        {
+          single_parent = *parents.keys ();
+          parents.reset ();
+        }
       }
     }
 
@@ -328,11 +438,12 @@
     bool removed_nil = false;
     vertices_.alloc (objects.length);
     vertices_scratch_.alloc (objects.length);
-    for (unsigned i = 0; i < objects.length; i++)
+    unsigned count = objects.length;
+    for (unsigned i = 0; i < count; i++)
     {
       // If this graph came from a serialization buffer object 0 is the
       // nil object. We don't need it for our purposes here so drop it.
-      if (i == 0 && !objects[i])
+      if (i == 0 && !objects.arrayZ[i])
       {
         removed_nil = true;
         continue;
@@ -340,9 +451,9 @@
 
       vertex_t* v = vertices_.push ();
       if (check_success (!vertices_.in_error ()))
-        v->obj = *objects[i];
+        v->obj = *objects.arrayZ[i];
 
-      check_success (v->link_positions_valid (objects.length, removed_nil));
+      check_success (v->link_positions_valid (count, removed_nil));
 
       if (!removed_nil) continue;
       // Fix indices to account for removed nil object.
@@ -354,7 +465,6 @@
 
   ~graph_t ()
   {
-    vertices_.fini ();
     for (char* b : buffers)
       hb_free (b);
   }
@@ -364,6 +474,18 @@
     return root ().equals (other.root (), *this, other, 0);
   }
 
+  void print () const {
+    for (int i = vertices_.length - 1; i >= 0; i--)
+    {
+      const auto& v = vertices_[i];
+      printf("%d: %u [", i, (unsigned int)v.table_size());
+      for (const auto &l : v.obj.real_links) {
+        printf("%u, ", l.objidx);
+      }
+      printf("]\n");
+    }
+  }
+
   // Sorts links of all objects in a consistent manner and zeroes all offsets.
   void normalize ()
   {
@@ -396,9 +518,10 @@
     return vertices_[i].obj;
   }
 
-  void add_buffer (char* buffer)
+  bool add_buffer (char* buffer)
   {
     buffers.push (buffer);
+    return !buffers.in_error ();
   }
 
   /*
@@ -414,7 +537,7 @@
     link->width = 2;
     link->objidx = child_id;
     link->position = (char*) offset - (char*) v.obj.head;
-    vertices_[child_id].parents.push (parent_id);
+    vertices_[child_id].add_parent (parent_id);
   }
 
   /*
@@ -443,7 +566,7 @@
 
     update_distances ();
 
-    hb_priority_queue_t queue;
+    hb_priority_queue_t queue;
     hb_vector_t &sorted_graph = vertices_scratch_;
     if (unlikely (!check_success (sorted_graph.resize (vertices_.length)))) return;
     hb_vector_t id_map;
@@ -460,7 +583,7 @@
     {
       unsigned next_id = queue.pop_minimum().second;
 
-      hb_swap (sorted_graph[new_id], vertices_[next_id]);
+      sorted_graph[new_id] = std::move (vertices_[next_id]);
       const vertex_t& next = sorted_graph[new_id];
 
       if (unlikely (!check_success(new_id >= 0))) {
@@ -488,8 +611,8 @@
     check_success (!queue.in_error ());
     check_success (!sorted_graph.in_error ());
 
-    remap_all_obj_indices (id_map, &sorted_graph);
-    hb_swap (vertices_, sorted_graph);
+    check_success (remap_all_obj_indices (id_map, &sorted_graph));
+    vertices_ = std::move (sorted_graph);
 
     if (!check_success (new_id == -1))
       print_orphaned_nodes ();
@@ -579,8 +702,8 @@
     const auto& node = object (node_idx);
     if (offset < node.head || offset >= node.tail) return -1;
 
-    unsigned length = node.real_links.length;
-    for (unsigned i = 0; i < length; i++)
+    unsigned count = node.real_links.length;
+    for (unsigned i = 0; i < count; i++)
     {
       // Use direct access for increased performance, this is a hot method.
       const auto& link = node.real_links.arrayZ[i];
@@ -600,7 +723,7 @@
   {
     unsigned child_idx = index_for_offset (node_idx, offset);
     auto& child = vertices_[child_idx];
-    for (unsigned p : child.parents)
+    for (unsigned p : child.parents_iter ())
     {
       if (p != node_idx) {
         return duplicate (node_idx, child_idx);
@@ -683,12 +806,15 @@
       subgraph.set (root_idx, wide_parents (root_idx, parents));
       find_subgraph (root_idx, subgraph);
     }
+    if (subgraph.in_error ())
+      return false;
 
     unsigned original_root_idx = root_idx ();
     hb_map_t index_map;
     bool made_changes = false;
     for (auto entry : subgraph.iter ())
     {
+      assert (entry.first < vertices_.length);
       const auto& node = vertices_[entry.first];
       unsigned subgraph_incoming_edges = entry.second;
 
@@ -727,8 +853,7 @@
     remap_obj_indices (index_map, parents.iter (), true);
 
     // Update roots set with new indices as needed.
-    uint32_t next = HB_SET_VALUE_INVALID;
-    while (roots.next (&next))
+    for (auto next : roots)
     {
       const uint32_t *v;
       if (index_map.has (next, &v))
@@ -745,10 +870,10 @@
   {
     for (const auto& link : vertices_[node_idx].obj.all_links ())
     {
-      const uint32_t *v;
+      hb_codepoint_t *v;
       if (subgraph.has (link.objidx, &v))
       {
-        subgraph.set (link.objidx, *v + 1);
+        (*v)++;
         continue;
       }
       subgraph.set (link.objidx, 1);
@@ -820,7 +945,7 @@
     new_link->position = (const char*) new_offset - (const char*) new_v.obj.head;
 
     auto& child = vertices_[child_id];
-    child.parents.push (new_parent_idx);
+    child.add_parent (new_parent_idx);
 
     old_v.remove_real_link (child_id, old_offset);
     child.remove_parent (old_parent_idx);
@@ -864,18 +989,18 @@
     clone->obj.tail = child.obj.tail;
     clone->distance = child.distance;
     clone->space = child.space;
-    clone->parents.reset ();
+    clone->reset_parents ();
 
     unsigned clone_idx = vertices_.length - 2;
     for (const auto& l : child.obj.real_links)
     {
       clone->obj.real_links.push (l);
-      vertices_[l.objidx].parents.push (clone_idx);
+      vertices_[l.objidx].add_parent (clone_idx);
     }
     for (const auto& l : child.obj.virtual_links)
     {
       clone->obj.virtual_links.push (l);
-      vertices_[l.objidx].parents.push (clone_idx);
+      vertices_[l.objidx].add_parent (clone_idx);
     }
 
     check_success (!clone->obj.real_links.in_error ());
@@ -1004,13 +1129,13 @@
   {
     update_parents();
 
-    if (root().parents)
+    if (root().incoming_edges ())
       // Root cannot have parents.
       return false;
 
     for (unsigned i = 0; i < root_idx (); i++)
     {
-      if (!vertices_[i].parents)
+      if (!vertices_[i].incoming_edges ())
         return false;
     }
     return true;
@@ -1074,14 +1199,14 @@
     parents_invalid = true;
     update_parents();
 
-    if (root().parents) {
+    if (root().incoming_edges ()) {
       DEBUG_MSG (SUBSET_REPACK, nullptr, "Root node has incoming edges.");
     }
 
     for (unsigned i = 0; i < root_idx (); i++)
     {
       const auto& v = vertices_[i];
-      if (!v.parents)
+      if (!v.incoming_edges ())
         DEBUG_MSG (SUBSET_REPACK, nullptr, "Node %u is orphaned.", i);
     }
   }
@@ -1113,6 +1238,8 @@
 
   unsigned space_for (unsigned index, unsigned* root = nullptr) const
   {
+  loop:
+    assert (index < vertices_.length);
     const auto& node = vertices_[index];
     if (node.space)
     {
@@ -1121,22 +1248,24 @@
       return node.space;
     }
 
-    if (!node.parents)
+    if (!node.incoming_edges ())
     {
       if (root)
         *root = index;
       return 0;
     }
 
-    return space_for (node.parents[0], root);
+    index = *node.parents_iter ();
+    goto loop;
   }
 
   void err_other_error () { this->successful = false; }
 
   size_t total_size_in_bytes () const {
     size_t total_size = 0;
-    for (unsigned i = 0; i < vertices_.length; i++) {
-      size_t size = vertices_[i].obj.tail - vertices_[i].obj.head;
+    unsigned count = vertices_.length;
+    for (unsigned i = 0; i < count; i++) {
+      size_t size = vertices_.arrayZ[i].obj.tail - vertices_.arrayZ[i].obj.head;
       total_size += size;
     }
     return total_size;
@@ -1151,12 +1280,8 @@
   unsigned wide_parents (unsigned node_idx, hb_set_t& parents) const
   {
     unsigned count = 0;
-    hb_set_t visited;
-    for (unsigned p : vertices_[node_idx].parents)
+    for (unsigned p : vertices_[node_idx].parents_iter ())
     {
-      if (visited.has (p)) continue;
-      visited.add (p);
-
       // Only real links can be wide
       for (const auto& l : vertices_[p].obj.real_links)
       {
@@ -1183,21 +1308,21 @@
   {
     if (!parents_invalid) return;
 
-    for (unsigned i = 0; i < vertices_.length; i++)
-      vertices_[i].parents.reset ();
+    unsigned count = vertices_.length;
+
+    for (unsigned i = 0; i < count; i++)
+      vertices_.arrayZ[i].reset_parents ();
 
-    for (unsigned p = 0; p < vertices_.length; p++)
+    for (unsigned p = 0; p < count; p++)
     {
-      for (auto& l : vertices_[p].obj.all_links ())
-      {
-        vertices_[l.objidx].parents.push (p);
-      }
+      for (auto& l : vertices_.arrayZ[p].obj.all_links ())
+        vertices_[l.objidx].add_parent (p);
     }
 
-    for (unsigned i = 0; i < vertices_.length; i++)
+    for (unsigned i = 0; i < count; i++)
       // parents arrays must be accurate or downstream operations like cycle detection
       // and sorting won't work correctly.
-      check_success (!vertices_[i].parents.in_error ());
+      check_success (!vertices_.arrayZ[i].in_error ());
 
     parents_invalid = false;
   }
@@ -1239,15 +1364,12 @@
     // According to https://www3.cs.stonybrook.edu/~rezaul/papers/TR-07-54.pdf
     // for practical performance this is faster then using a more advanced queue
     // (such as a fibonacci queue) with a fast decrease priority.
-    for (unsigned i = 0; i < vertices_.length; i++)
-    {
-      if (i == vertices_.length - 1)
-        vertices_[i].distance = 0;
-      else
-        vertices_[i].distance = hb_int_max (int64_t);
-    }
+    unsigned count = vertices_.length;
+    for (unsigned i = 0; i < count; i++)
+      vertices_.arrayZ[i].distance = hb_int_max (int64_t);
+    vertices_.tail ().distance = 0;
 
-    hb_priority_queue_t queue;
+    hb_priority_queue_t queue;
     queue.insert (0, vertices_.length - 1);
 
     hb_vector_t visited;
@@ -1265,15 +1387,15 @@
       {
         if (visited[link.objidx]) continue;
 
-        const auto& child = vertices_[link.objidx].obj;
+        const auto& child = vertices_.arrayZ[link.objidx].obj;
         unsigned link_width = link.width ? link.width : 4; // treat virtual offsets as 32 bits wide
         int64_t child_weight = (child.tail - child.head) +
-                               ((int64_t) 1 << (link_width * 8)) * (vertices_[link.objidx].space + 1);
+                               ((int64_t) 1 << (link_width * 8)) * (vertices_.arrayZ[link.objidx].space + 1);
         int64_t child_distance = next_distance + child_weight;
 
-        if (child_distance < vertices_[link.objidx].distance)
+        if (child_distance < vertices_.arrayZ[link.objidx].distance)
         {
-          vertices_[link.objidx].distance = child_distance;
+          vertices_.arrayZ[link.objidx].distance = child_distance;
           queue.insert (child_distance, link.objidx);
         }
       }
@@ -1301,7 +1423,7 @@
     unsigned old_idx = link.objidx;
     link.objidx = new_idx;
     vertices_[old_idx].remove_parent (parent_idx);
-    vertices_[new_idx].parents.push (parent_idx);
+    vertices_[new_idx].add_parent (parent_idx);
   }
 
   /*
@@ -1329,17 +1451,20 @@
   /*
    * Updates all objidx's in all links using the provided mapping.
    */
-  void remap_all_obj_indices (const hb_vector_t& id_map,
+  bool remap_all_obj_indices (const hb_vector_t& id_map,
                               hb_vector_t* sorted_graph) const
   {
-    for (unsigned i = 0; i < sorted_graph->length; i++)
+    unsigned count = sorted_graph->length;
+    for (unsigned i = 0; i < count; i++)
     {
-      (*sorted_graph)[i].remap_parents (id_map);
-      for (auto& link : (*sorted_graph)[i].obj.all_links_writer ())
+      if (!(*sorted_graph)[i].remap_parents (id_map))
+        return false;
+      for (auto& link : sorted_graph->arrayZ[i].obj.all_links_writer ())
       {
         link.objidx = id_map[link.objidx];
       }
     }
+    return true;
   }
 
   /*
@@ -1370,7 +1495,7 @@
     for (const auto& l : v.obj.all_links ())
       find_connected_nodes (l.objidx, targets, visited, connected);
 
-    for (unsigned p : v.parents)
+    for (unsigned p : v.parents_iter ())
       find_connected_nodes (p, targets, visited, connected);
   }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.cc	2024-04-08 05:38:38.000000000 +0000
@@ -52,7 +52,11 @@
   if (!buffer)
     return -1;
 
-  add_buffer (buffer);
+  if (!add_buffer (buffer)) {
+    // Allocation did not get stored for freeing later.
+    hb_free (buffer);
+    return -1;
+  }
 
   return graph.new_node (buffer, buffer + size);
 }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.hh	2024-04-08 05:38:38.000000000 +0000
@@ -40,16 +40,16 @@
   graph_t& graph;
   unsigned lookup_list_index;
   hb_hashmap_t lookups;
-
+  hb_hashmap_t subtable_to_extension;
 
   HB_INTERNAL gsubgpos_graph_context_t (hb_tag_t table_tag_,
                                         graph_t& graph_);
 
   HB_INTERNAL unsigned create_node (unsigned size);
 
-  void add_buffer (char* buffer)
+  bool add_buffer (char* buffer)
   {
-    graph.add_buffer (buffer);
+    return graph.add_buffer (buffer);
   }
 
  private:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -166,7 +166,7 @@
     }
 
     if (all_new_subtables) {
-      add_sub_tables (c, this_index, type, all_new_subtables);
+      return add_sub_tables (c, this_index, type, all_new_subtables);
     }
 
     return true;
@@ -184,7 +184,7 @@
     return sub_table->split_subtables (c, parent_idx, objidx);
   }
 
-  void add_sub_tables (gsubgpos_graph_context_t& c,
+  bool add_sub_tables (gsubgpos_graph_context_t& c,
                        unsigned this_index,
                        unsigned type,
                        hb_vector_t>>& subtable_ids)
@@ -200,7 +200,12 @@
     size_t new_size = v.table_size ()
                       + new_subtable_count * OT::Offset16::static_size;
     char* buffer = (char*) hb_calloc (1, new_size);
-    c.add_buffer (buffer);
+    if (!buffer) return false;
+    if (!c.add_buffer (buffer))
+    {
+      hb_free (buffer);
+     return false;
+    }
     hb_memcpy (buffer, v.obj.head, v.table_size());
 
     v.obj.head = buffer;
@@ -220,7 +225,7 @@
         if (is_ext)
         {
           unsigned ext_id = create_extension_subtable (c, subtable_id, type);
-          c.graph.vertices_[subtable_id].parents.push (ext_id);
+          c.graph.vertices_[subtable_id].add_parent (ext_id);
           subtable_id = ext_id;
         }
 
@@ -229,7 +234,7 @@
         link->objidx = subtable_id;
         link->position = (char*) &new_lookup->subTable[offset_index++] -
                          (char*) new_lookup;
-        c.graph.vertices_[subtable_id].parents.push (this_index);
+        c.graph.vertices_[subtable_id].add_parent (this_index);
       }
     }
 
@@ -239,6 +244,7 @@
     // The head location of the lookup has changed, invalidating the lookups map entry
     // in the context. Update the map.
     c.lookups.set (this_index, new_lookup);
+    return true;
   }
 
   void fix_existing_subtable_links (gsubgpos_graph_context_t& c,
@@ -293,24 +299,35 @@
                                 unsigned subtable_index)
   {
     unsigned type = lookupType;
+    unsigned ext_index = -1;
+    unsigned* existing_ext_index = nullptr;
+    if (c.subtable_to_extension.has(subtable_index, &existing_ext_index)) {
+      ext_index = *existing_ext_index;
+    } else {
+      ext_index = create_extension_subtable(c, subtable_index, type);
+      c.subtable_to_extension.set(subtable_index, ext_index);
+    }
 
-    unsigned ext_index = create_extension_subtable(c, subtable_index, type);
     if (ext_index == (unsigned) -1)
       return false;
 
+    auto& subtable_vertex = c.graph.vertices_[subtable_index];
     auto& lookup_vertex = c.graph.vertices_[lookup_index];
     for (auto& l : lookup_vertex.obj.real_links.writer ())
     {
-      if (l.objidx == subtable_index)
+      if (l.objidx == subtable_index) {
         // Change lookup to point at the extension.
         l.objidx = ext_index;
+        if (existing_ext_index)
+          subtable_vertex.remove_parent(lookup_index);
+      }
     }
 
     // Make extension point at the subtable.
     auto& ext_vertex = c.graph.vertices_[ext_index];
-    auto& subtable_vertex = c.graph.vertices_[subtable_index];
-    ext_vertex.parents.push (lookup_index);
-    subtable_vertex.remap_parent (lookup_index, ext_index);
+    ext_vertex.add_parent (lookup_index);
+    if (!existing_ext_index)
+      subtable_vertex.remap_parent (lookup_index, ext_index);
 
     return true;
   }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -217,7 +217,7 @@
 
     const unsigned base_coverage_id = c.graph.index_for_offset (this_index, &baseCoverage);
     const unsigned base_size =
-        OT::Layout::GPOS_impl::PairPosFormat1_3::min_size +
+        OT::Layout::GPOS_impl::MarkBasePosFormat1_2::min_size +
         MarkArray::min_size +
         AnchorMatrix::min_size +
         c.graph.vertices_[base_coverage_id].table_size ();
@@ -318,8 +318,11 @@
   {
     hb_vector_t class_to_info;
 
-    unsigned class_count= classCount;
-    class_to_info.resize (class_count);
+    unsigned class_count = classCount;
+    if (!class_count) return class_to_info;
+
+    if (!class_to_info.resize (class_count))
+      return hb_vector_t();
 
     auto mark_array = c.graph.as_table (this_index, &markArray);
     if (!mark_array) return hb_vector_t ();
@@ -327,6 +330,7 @@
     for (unsigned mark = 0; mark < mark_count; mark++)
     {
       unsigned klass = (*mark_array.table)[mark].get_class ();
+      if (klass >= class_count) continue;
       class_to_info[klass].marks.add (mark);
     }
 
@@ -335,6 +339,7 @@
       unsigned mark = (link.position - 2) /
                      OT::Layout::GPOS_impl::MarkRecord::static_size;
       unsigned klass = (*mark_array.table)[mark].get_class ();
+      if (klass >= class_count) continue;
       class_to_info[klass].child_indices.push (link.objidx);
     }
 
@@ -479,7 +484,7 @@
       return ((MarkBasePosFormat1*)(&u.format1))->split_subtables (c, parent_index, this_index);
 #ifndef HB_NO_BEYOND_64K
     case 2: HB_FALLTHROUGH;
-      // Don't split 24bit PairPos's.
+      // Don't split 24bit MarkBasePos's.
 #endif
     default:
       return hb_vector_t ();
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh	2024-04-08 05:38:38.000000000 +0000
@@ -215,7 +215,7 @@
     auto gid_and_class =
         + coverage->iter ()
         | hb_map_retains_sorting ([&] (hb_codepoint_t gid) {
-          return hb_pair_t (gid, class_def_1->get_class (gid));
+          return hb_codepoint_pair_t (gid, class_def_1->get_class (gid));
         })
         ;
     class_def_size_estimator_t estimator (gid_and_class);
@@ -386,14 +386,14 @@
     auto klass_map =
     + coverage_table->iter ()
     | hb_map_retains_sorting ([&] (hb_codepoint_t gid) {
-      return hb_pair_t (gid, class_def_1_table->get_class (gid));
+      return hb_codepoint_pair_t (gid, class_def_1_table->get_class (gid));
     })
     | hb_filter ([&] (hb_codepoint_t klass) {
       return klass >= start && klass < end;
     }, hb_second)
-    | hb_map_retains_sorting ([&] (hb_pair_t gid_and_class) {
+    | hb_map_retains_sorting ([&] (hb_codepoint_pair_t gid_and_class) {
       // Classes must be from 0...N so subtract start
-      return hb_pair_t (gid_and_class.first, gid_and_class.second - start);
+      return hb_codepoint_pair_t (gid_and_class.first, gid_and_class.second - start);
     })
     ;
 
@@ -419,7 +419,7 @@
     class_def_link->width = SmallTypes::size;
     class_def_link->objidx = class_def_2_id;
     class_def_link->position = 10;
-    graph.vertices_[class_def_2_id].parents.push (pair_pos_prime_id);
+    graph.vertices_[class_def_2_id].add_parent (pair_pos_prime_id);
     graph.duplicate (pair_pos_prime_id, class_def_2_id);
 
     return pair_pos_prime_id;
@@ -519,7 +519,7 @@
     auto klass_map =
     + coverage.table->iter ()
     | hb_map_retains_sorting ([&] (hb_codepoint_t gid) {
-      return hb_pair_t (gid, class_def_1.table->get_class (gid));
+      return hb_codepoint_pair_t (gid, class_def_1.table->get_class (gid));
     })
     | hb_filter ([&] (hb_codepoint_t klass) {
       return klass < count;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/serialize.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/serialize.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/graph/serialize.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/graph/serialize.hh	2024-04-08 05:38:38.000000000 +0000
@@ -116,10 +116,10 @@
   for (int parent_idx = vertices.length - 1; parent_idx >= 0; parent_idx--)
   {
     // Don't need to check virtual links for overflow
-    for (const auto& link : vertices[parent_idx].obj.real_links)
+    for (const auto& link : vertices.arrayZ[parent_idx].obj.real_links)
     {
       int64_t offset = compute_offset (graph, parent_idx, link);
-      if (is_valid_offset (offset, link))
+      if (likely (is_valid_offset (offset, link)))
         continue;
 
       if (!overflows) return true;
@@ -226,6 +226,9 @@
 {
   hb_vector_t buffer;
   size_t size = graph.total_size_in_bytes ();
+
+  if (!size) return hb_blob_get_empty ();
+
   if (!buffer.alloc (size)) {
     DEBUG_MSG (SUBSET_REPACK, nullptr, "Unable to allocate output buffer.");
     return nullptr;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -851,43 +851,41 @@
        *
        *   https://github.com/harfbuzz/harfbuzz/issues/2860
        */
-      const EntryT *wouldbe_entry;
-      bool safe_to_break =
-        /* 1. */
-        !c->is_actionable (this, entry)
-      &&
-        /* 2. */
-        (
-          /* 2a. */
-          state == StateTableT::STATE_START_OF_TEXT
-        ||
-          /* 2b. */
-          (
-            (entry.flags & context_t::DontAdvance) &&
-            next_state == StateTableT::STATE_START_OF_TEXT
-          )
-        ||
+
+      const auto is_safe_to_break_extra = [&]()
+      {
           /* 2c. */
-          (
-            wouldbe_entry = &machine.get_entry (StateTableT::STATE_START_OF_TEXT, klass)
-          ,
-            /* 2c'. */
-            !c->is_actionable (this, *wouldbe_entry)
-          &&
-            /* 2c". */
-            (
-              next_state == machine.new_state (wouldbe_entry->newState)
-            &&
-              (entry.flags & context_t::DontAdvance) == (wouldbe_entry->flags & context_t::DontAdvance)
-            )
-          )
-        )
-      &&
-        /* 3. */
-        !c->is_actionable (this, machine.get_entry (state, StateTableT::CLASS_END_OF_TEXT))
-      ;
+          const auto wouldbe_entry = machine.get_entry(StateTableT::STATE_START_OF_TEXT, klass);
+
+          /* 2c'. */
+          if (c->is_actionable (this, wouldbe_entry))
+              return false;
+
+          /* 2c". */
+          return next_state == machine.new_state(wouldbe_entry.newState)
+              && (entry.flags & context_t::DontAdvance) == (wouldbe_entry.flags & context_t::DontAdvance);
+      };
+
+      const auto is_safe_to_break = [&]()
+      {
+          /* 1. */
+          if (c->is_actionable (this, entry))
+              return false;
+
+          /* 2. */
+          // This one is meh, I know...
+          const auto ok =
+                 state == StateTableT::STATE_START_OF_TEXT
+              || ((entry.flags & context_t::DontAdvance) && next_state == StateTableT::STATE_START_OF_TEXT)
+              || is_safe_to_break_extra();
+          if (!ok)
+              return false;
+
+          /* 3. */
+          return !c->is_actionable (this, machine.get_entry (state, StateTableT::CLASS_END_OF_TEXT));
+      };
 
-      if (!safe_to_break && buffer->backtrack_len () && buffer->idx < buffer->len)
+      if (!is_safe_to_break () && buffer->backtrack_len () && buffer->idx < buffer->len)
         buffer->unsafe_to_break_from_outbuffer (buffer->backtrack_len () - 1, buffer->idx + 1);
 
       c->transition (this, entry);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -111,13 +111,13 @@
         break;
       }
     }
-    if (!trackTableEntry) return 0.;
+    if (!trackTableEntry) return 0;
 
     /*
      * Choose size.
      */
     unsigned int sizes = nSizes;
-    if (!sizes) return 0.;
+    if (!sizes) return 0;
     if (sizes == 1) return trackTableEntry->get_value (base, 0, sizes);
 
     hb_array_t size_table ((base+sizeTable).arrayZ, sizes);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc	2024-04-08 05:38:38.000000000 +0000
@@ -55,7 +55,13 @@
                                                        buffer (buffer_),
                                                        sanitizer (),
                                                        ankr_table (&Null (AAT::ankr)),
-                                                       gdef_table (face->table.GDEF->table),
+                                                       gdef_table (
+#ifndef HB_NO_OT_LAYOUT
+                                                         face->table.GDEF->table
+#else
+                                                         &Null (GDEF)
+#endif
+                                                       ),
                                                        lookup_index (0)
 {
   sanitizer.init (blob);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-algs.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-algs.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-algs.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-algs.hh	2024-04-08 05:38:38.000000000 +0000
@@ -87,6 +87,19 @@
 static inline constexpr uint32_t hb_uint32_swap (uint32_t v)
 { return (hb_uint16_swap (v) << 16) | hb_uint16_swap (v >> 16); }
 
+#ifndef HB_FAST_INT_ACCESS
+#if defined(__OPTIMIZE__) && \
+    defined(__BYTE_ORDER) && \
+    (__BYTE_ORDER == __BIG_ENDIAN || \
+     (__BYTE_ORDER == __LITTLE_ENDIAN && \
+      hb_has_builtin(__builtin_bswap16) && \
+      hb_has_builtin(__builtin_bswap32)))
+#define HB_FAST_INT_ACCESS 1
+#else
+#define HB_FAST_INT_ACCESS 0
+#endif
+#endif
+
 template 
 struct BEInt;
 template 
@@ -101,21 +114,25 @@
 template 
 struct BEInt
 {
+  struct __attribute__((packed)) packed_uint16_t { uint16_t v; };
+
   public:
   BEInt () = default;
-  constexpr BEInt (Type V) : v {uint8_t ((V >>  8) & 0xFF),
-                                uint8_t ((V      ) & 0xFF)} {}
 
-  struct __attribute__((packed)) packed_uint16_t { uint16_t v; };
-  constexpr operator Type () const
-  {
-#if defined(__OPTIMIZE__) && !defined(HB_NO_PACKED) && \
-    defined(__BYTE_ORDER) && \
-    (__BYTE_ORDER == __BIG_ENDIAN || \
-     (__BYTE_ORDER == __LITTLE_ENDIAN && \
-      hb_has_builtin(__builtin_bswap16)))
-    /* Spoon-feed the compiler a big-endian integer with alignment 1.
-     * https://github.com/harfbuzz/harfbuzz/pull/1398 */
+  BEInt (Type V)
+#if HB_FAST_INT_ACCESS
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+  { ((packed_uint16_t *) v)->v = __builtin_bswap16 (V); }
+#else /* __BYTE_ORDER == __BIG_ENDIAN */
+  { ((packed_uint16_t *) v)->v = V; }
+#endif
+#else
+    : v {uint8_t ((V >>  8) & 0xFF),
+         uint8_t ((V      ) & 0xFF)} {}
+#endif
+
+  constexpr operator Type () const {
+#if HB_FAST_INT_ACCESS
 #if __BYTE_ORDER == __LITTLE_ENDIAN
     return __builtin_bswap16 (((packed_uint16_t *) v)->v);
 #else /* __BYTE_ORDER == __BIG_ENDIAN */
@@ -146,22 +163,27 @@
 template 
 struct BEInt
 {
+  struct __attribute__((packed)) packed_uint32_t { uint32_t v; };
+
   public:
   BEInt () = default;
-  constexpr BEInt (Type V) : v {uint8_t ((V >> 24) & 0xFF),
-                                uint8_t ((V >> 16) & 0xFF),
-                                uint8_t ((V >>  8) & 0xFF),
-                                uint8_t ((V      ) & 0xFF)} {}
 
-  struct __attribute__((packed)) packed_uint32_t { uint32_t v; };
+  BEInt (Type V)
+#if HB_FAST_INT_ACCESS
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+  { ((packed_uint32_t *) v)->v = __builtin_bswap32 (V); }
+#else /* __BYTE_ORDER == __BIG_ENDIAN */
+  { ((packed_uint32_t *) v)->v = V; }
+#endif
+#else
+    : v {uint8_t ((V >> 24) & 0xFF),
+         uint8_t ((V >> 16) & 0xFF),
+         uint8_t ((V >>  8) & 0xFF),
+         uint8_t ((V      ) & 0xFF)} {}
+#endif
+
   constexpr operator Type () const {
-#if defined(__OPTIMIZE__) && !defined(HB_NO_PACKED) && \
-    defined(__BYTE_ORDER) && \
-    (__BYTE_ORDER == __BIG_ENDIAN || \
-     (__BYTE_ORDER == __LITTLE_ENDIAN && \
-      hb_has_builtin(__builtin_bswap32)))
-    /* Spoon-feed the compiler a big-endian integer with alignment 1.
-     * https://github.com/harfbuzz/harfbuzz/pull/1398 */
+#if HB_FAST_INT_ACCESS
 #if __BYTE_ORDER == __LITTLE_ENDIAN
     return __builtin_bswap32 (((packed_uint32_t *) v)->v);
 #else /* __BYTE_ORDER == __BIG_ENDIAN */
@@ -231,12 +253,123 @@
 }
 HB_FUNCOBJ (hb_bool);
 
+
+/* The MIT License
+
+   Copyright (C) 2012 Zilong Tan (eric.zltan@gmail.com)
+
+   Permission is hereby granted, free of charge, to any person
+   obtaining a copy of this software and associated documentation
+   files (the "Software"), to deal in the Software without
+   restriction, including without limitation the rights to use, copy,
+   modify, merge, publish, distribute, sublicense, and/or sell copies
+   of the Software, and to permit persons to whom the Software is
+   furnished to do so, subject to the following conditions:
+
+   The above copyright notice and this permission notice shall be
+   included in all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+   SOFTWARE.
+*/
+
+
+// Compression function for Merkle-Damgard construction.
+// This function is generated using the framework provided.
+#define mix(h) (                                        \
+                        (void) ((h) ^= (h) >> 23),              \
+                        (void) ((h) *= 0x2127599bf4325c37ULL),  \
+                        (h) ^= (h) >> 47)
+
+static inline uint64_t fasthash64(const void *buf, size_t len, uint64_t seed)
+{
+        struct __attribute__((packed)) packed_uint64_t { uint64_t v; };
+        const uint64_t    m = 0x880355f21e6d1965ULL;
+        const packed_uint64_t *pos = (const packed_uint64_t *)buf;
+        const packed_uint64_t *end = pos + (len / 8);
+        const unsigned char *pos2;
+        uint64_t h = seed ^ (len * m);
+        uint64_t v;
+
+#ifndef HB_OPTIMIZE_SIZE
+        if (((uintptr_t) pos & 7) == 0)
+        {
+          while (pos != end)
+          {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-align"
+            v  = * (const uint64_t *) (pos++);
+#pragma GCC diagnostic pop
+            h ^= mix(v);
+            h *= m;
+          }
+        }
+        else
+#endif
+        {
+          while (pos != end)
+          {
+            v  = pos++->v;
+            h ^= mix(v);
+            h *= m;
+          }
+        }
+
+        pos2 = (const unsigned char*)pos;
+        v = 0;
+
+        switch (len & 7) {
+        case 7: v ^= (uint64_t)pos2[6] << 48; HB_FALLTHROUGH;
+        case 6: v ^= (uint64_t)pos2[5] << 40; HB_FALLTHROUGH;
+        case 5: v ^= (uint64_t)pos2[4] << 32; HB_FALLTHROUGH;
+        case 4: v ^= (uint64_t)pos2[3] << 24; HB_FALLTHROUGH;
+        case 3: v ^= (uint64_t)pos2[2] << 16; HB_FALLTHROUGH;
+        case 2: v ^= (uint64_t)pos2[1] <<  8; HB_FALLTHROUGH;
+        case 1: v ^= (uint64_t)pos2[0];
+                h ^= mix(v);
+                h *= m;
+        }
+
+        return mix(h);
+}
+
+static inline uint32_t fasthash32(const void *buf, size_t len, uint32_t seed)
+{
+        // the following trick converts the 64-bit hashcode to Fermat
+        // residue, which shall retain information from both the higher
+        // and lower parts of hashcode.
+        uint64_t h = fasthash64(buf, len, seed);
+        return h - (h >> 32);
+}
+
 struct
 {
   private:
 
   template  constexpr auto
-  impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, hb_deref (v).hash ())
+  impl (const T& v, hb_priority<2>) const HB_RETURN (uint32_t, hb_deref (v).hash ())
+
+  // Horrible: std:hash() of integers seems to be identity in gcc / clang?!
+  // https://github.com/harfbuzz/harfbuzz/pull/4228
+  //
+  // For performance characteristics see:
+  // https://github.com/harfbuzz/harfbuzz/pull/4228#issuecomment-1565079537
+  template ::value && sizeof (T) <= sizeof (uint32_t))> constexpr auto
+  impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, (uint32_t) v * 2654435761u /* Knuh's multiplicative hash */)
+  template ::value && sizeof (T) > sizeof (uint32_t))> constexpr auto
+  impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, (uint32_t) (v ^ (v >> 32)) * 2654435761u /* Knuth's multiplicative hash */)
+
+  template ::value)> constexpr auto
+  impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, fasthash32 (std::addressof (v), sizeof (T), 0xf437ffe6))
 
   template  constexpr auto
   impl (const T& v, hb_priority<0>) const HB_RETURN (uint32_t, std::hash>{} (hb_deref (v)))
@@ -551,6 +684,8 @@
 template  static inline hb_pair_t
 hb_pair (T1&& a, T2&& b) { return hb_pair_t (a, b); }
 
+typedef hb_pair_t hb_codepoint_pair_t;
+
 struct
 {
   template  constexpr typename Pair::first_t
@@ -626,8 +761,10 @@
 
   if (sizeof (T) == 8)
   {
-    unsigned int shift = 32;
-    return hb_popcount ((uint32_t) v) + hb_popcount ((uint32_t) (v >> shift));
+    uint64_t y = (uint64_t) v;
+    y -= ((y >> 1) & 0x5555555555555555ull);
+    y = (y & 0x3333333333333333ull) + (y >> 2 & 0x3333333333333333ull);
+    return ((y + (y >> 4)) & 0xf0f0f0f0f0f0f0full) * 0x101010101010101ull >> 56;
   }
 
   if (sizeof (T) == 16)
@@ -851,7 +988,7 @@
 hb_memset (void *s, int c, unsigned int n)
 {
   /* It's illegal to pass NULL to memset(), even if n is zero. */
-  if (unlikely (!n)) return 0;
+  if (unlikely (!n)) return s;
   return memset (s, c, n);
 }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-array.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-array.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-array.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-array.hh	2024-04-08 05:38:38.000000000 +0000
@@ -75,11 +75,25 @@
    */
   typedef Type& __item_t__;
   static constexpr bool is_random_access_iterator = true;
+  static constexpr bool has_fast_len = true;
+  Type& __item__ () const
+  {
+    if (unlikely (!length)) return CrapOrNull (Type);
+    return *arrayZ;
+  }
   Type& __item_at__ (unsigned i) const
   {
     if (unlikely (i >= length)) return CrapOrNull (Type);
     return arrayZ[i];
   }
+  void __next__ ()
+  {
+    if (unlikely (!length))
+      return;
+    length--;
+    backwards_length++;
+    arrayZ++;
+  }
   void __forward__ (unsigned n)
   {
     if (unlikely (n > length))
@@ -88,6 +102,14 @@
     backwards_length += n;
     arrayZ += n;
   }
+  void __prev__ ()
+  {
+    if (unlikely (!backwards_length))
+      return;
+    length++;
+    backwards_length--;
+    arrayZ--;
+  }
   void __rewind__ (unsigned n)
   {
     if (unlikely (n > backwards_length))
@@ -122,9 +144,14 @@
 
   uint32_t hash () const
   {
-    uint32_t current = 0;
+    // FNV-1a hash function
+    // https://github.com/harfbuzz/harfbuzz/pull/4228
+    uint32_t current = /*cbf29ce4*/0x84222325;
     for (auto &v : *this)
-      current = current * 31 + hb_hash (v);
+    {
+      current = current ^ hb_hash (v);
+      current = current * 16777619;
+    }
     return current;
   }
 
@@ -322,6 +349,7 @@
   HB_ITER_USING (iter_base_t);
   static constexpr bool is_random_access_iterator = true;
   static constexpr bool is_sorted_iterator = true;
+  static constexpr bool has_fast_len = true;
 
   hb_sorted_array_t () = default;
   hb_sorted_array_t (const hb_sorted_array_t&) = default;
@@ -449,41 +477,21 @@
 
 /* Specialize hash() for byte arrays. */
 
+#ifndef HB_OPTIMIZE_SIZE_MORE
 template <>
 inline uint32_t hb_array_t::hash () const
 {
-  uint32_t current = 0;
-  unsigned i = 0;
-
-#if defined(__OPTIMIZE__) && !defined(HB_NO_PACKED) && \
-    ((defined(__GNUC__) && __GNUC__ >= 5) || defined(__clang__))
-  struct __attribute__((packed)) packed_uint32_t { uint32_t v; };
-  for (; i + 4 <= this->length; i += 4)
-    current = current * 31 + hb_hash ((uint32_t) ((packed_uint32_t *) &this->arrayZ[i])->v);
-#endif
-
-  for (; i < this->length; i++)
-    current = current * 31 + hb_hash (this->arrayZ[i]);
-  return current;
+  // https://github.com/harfbuzz/harfbuzz/pull/4228
+  return fasthash32(arrayZ, length, 0xf437ffe6 /* magic? */);
 }
 
 template <>
 inline uint32_t hb_array_t::hash () const
 {
-  uint32_t current = 0;
-  unsigned i = 0;
-
-#if defined(__OPTIMIZE__) && !defined(HB_NO_PACKED) && \
-    ((defined(__GNUC__) && __GNUC__ >= 5) || defined(__clang__))
-  struct __attribute__((packed)) packed_uint32_t { uint32_t v; };
-  for (; i + 4 <= this->length; i += 4)
-    current = current * 31 + hb_hash ((uint32_t) ((packed_uint32_t *) &this->arrayZ[i])->v);
-#endif
-
-  for (; i < this->length; i++)
-    current = current * 31 + hb_hash (this->arrayZ[i]);
-  return current;
+  // https://github.com/harfbuzz/harfbuzz/pull/4228
+  return fasthash32(arrayZ, length, 0xf437ffe6 /* magic? */);
 }
+#endif
 
 
 typedef hb_array_t hb_bytes_t;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-atomic.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-atomic.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-atomic.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-atomic.hh	2024-04-08 05:38:38.000000000 +0000
@@ -204,6 +204,7 @@
 
   hb_atomic_ptr_t () = default;
   constexpr hb_atomic_ptr_t (T* v) : v (v) {}
+  hb_atomic_ptr_t (const hb_atomic_ptr_t &other) = delete;
 
   void init (T* v_ = nullptr) { set_relaxed (v_); }
   void set_relaxed (T* v_) { hb_atomic_ptr_impl_set_relaxed (&v, v_); }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bimap.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bimap.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bimap.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bimap.hh	2024-04-08 05:38:38.000000000 +0000
@@ -39,10 +39,10 @@
     back_map.reset ();
   }
 
-  void resize (unsigned pop)
+  void alloc (unsigned pop)
   {
-    forw_map.resize (pop);
-    back_map.resize (pop);
+    forw_map.alloc (pop);
+    back_map.alloc (pop);
   }
 
   bool in_error () const { return forw_map.in_error () || back_map.in_error (); }
@@ -83,7 +83,6 @@
 
   unsigned int get_population () const { return forw_map.get_population (); }
 
-
   protected:
   hb_map_t  forw_map;
   hb_map_t  back_map;
@@ -94,9 +93,31 @@
   auto iter () const HB_AUTO_RETURN (+ forw_map.iter())
 };
 
-/* Inremental bimap: only lhs is given, rhs is incrementally assigned */
-struct hb_inc_bimap_t : hb_bimap_t
+/* Incremental bimap: only lhs is given, rhs is incrementally assigned */
+struct hb_inc_bimap_t
 {
+  bool in_error () const { return forw_map.in_error () || back_map.in_error (); }
+
+  unsigned int get_population () const { return forw_map.get_population (); }
+
+  void reset ()
+  {
+    forw_map.reset ();
+    back_map.reset ();
+  }
+
+  void alloc (unsigned pop)
+  {
+    forw_map.alloc (pop);
+    back_map.alloc (pop);
+  }
+
+  void clear ()
+  {
+    forw_map.clear ();
+    back_map.resize (0);
+  }
+
   /* Add a mapping from lhs to rhs with a unique value if lhs is unknown.
    * Return the rhs value as the result.
    */
@@ -105,32 +126,42 @@
     hb_codepoint_t  rhs = forw_map[lhs];
     if (rhs == HB_MAP_VALUE_INVALID)
     {
-      rhs = next_value++;
-      set (lhs, rhs);
+      rhs = back_map.length;
+      forw_map.set (lhs, rhs);
+      back_map.push (lhs);
     }
     return rhs;
   }
 
   hb_codepoint_t skip ()
-  { return next_value++; }
+  {
+    hb_codepoint_t start = back_map.length;
+    back_map.push (HB_MAP_VALUE_INVALID);
+    return start;
+  }
 
   hb_codepoint_t skip (unsigned count)
-  { return next_value += count; }
+  {
+    hb_codepoint_t start = back_map.length;
+    back_map.alloc (back_map.length + count);
+    for (unsigned i = 0; i < count; i++)
+      back_map.push (HB_MAP_VALUE_INVALID);
+    return start;
+  }
 
   hb_codepoint_t get_next_value () const
-  { return next_value; }
+  { return back_map.length; }
 
   void add_set (const hb_set_t *set)
   {
-    hb_codepoint_t i = HB_SET_VALUE_INVALID;
-    while (hb_set_next (set, &i)) add (i);
+    for (auto i : *set) add (i);
   }
 
   /* Create an identity map. */
   bool identity (unsigned int size)
   {
     clear ();
-    for (hb_codepoint_t i = 0; i < size; i++) set (i, i);
+    for (hb_codepoint_t i = 0; i < size; i++) add (i);
     return !in_error ();
   }
 
@@ -145,20 +176,30 @@
   {
     hb_codepoint_t  count = get_population ();
     hb_vector_t  work;
-    work.resize (count);
+    if (unlikely (!work.resize (count, false))) return;
 
     for (hb_codepoint_t rhs = 0; rhs < count; rhs++)
-      work[rhs] = back_map[rhs];
+      work.arrayZ[rhs] = back_map[rhs];
 
     work.qsort (cmp_id);
 
     clear ();
     for (hb_codepoint_t rhs = 0; rhs < count; rhs++)
-      set (work[rhs], rhs);
+      add (work.arrayZ[rhs]);
   }
 
+  hb_codepoint_t get (hb_codepoint_t lhs) const { return forw_map.get (lhs); }
+  hb_codepoint_t backward (hb_codepoint_t rhs) const { return back_map[rhs]; }
+
+  hb_codepoint_t operator [] (hb_codepoint_t lhs) const { return get (lhs); }
+  bool has (hb_codepoint_t lhs) const { return forw_map.has (lhs); }
+
   protected:
-  unsigned int next_value = 0;
+  hb_map_t forw_map;
+  hb_vector_t back_map;
+
+  public:
+  auto keys () const HB_AUTO_RETURN (+ back_map.iter())
 };
 
 #endif /* HB_BIMAP_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh	2024-04-08 05:38:38.000000000 +0000
@@ -89,14 +89,18 @@
 
 struct hb_bit_page_t
 {
-  void init0 () { v.init0 (); }
-  void init1 () { v.init1 (); }
+  void init0 () { v.init0 (); population = 0; }
+  void init1 () { v.init1 (); population = PAGE_BITS; }
+
+  void dirty () { population = UINT_MAX; }
 
   static inline constexpr unsigned len ()
   { return ARRAY_LENGTH_CONST (v); }
 
+  operator bool () const { return !is_empty (); }
   bool is_empty () const
   {
+    if (has_population ()) return !population;
     return
     + hb_iter (v)
     | hb_none
@@ -104,14 +108,11 @@
   }
   uint32_t hash () const
   {
-    return
-    + hb_iter (v)
-    | hb_reduce ([] (uint32_t h, const elt_t &_) { return h * 31 + hb_hash (_); }, (uint32_t) 0u)
-    ;
+    return hb_bytes_t ((const char *) &v, sizeof (v)).hash ();
   }
 
-  void add (hb_codepoint_t g) { elt (g) |= mask (g); }
-  void del (hb_codepoint_t g) { elt (g) &= ~mask (g); }
+  void add (hb_codepoint_t g) { elt (g) |= mask (g); dirty (); }
+  void del (hb_codepoint_t g) { elt (g) &= ~mask (g); dirty (); }
   void set (hb_codepoint_t g, bool value) { if (value) add (g); else del (g); }
   bool get (hb_codepoint_t g) const { return elt (g) & mask (g); }
 
@@ -123,20 +124,21 @@
       *la |= (mask (b) << 1) - mask(a);
     else
     {
-      *la |= ~(mask (a) - 1);
+      *la |= ~(mask (a) - 1llu);
       la++;
 
       hb_memset (la, 0xff, (char *) lb - (char *) la);
 
-      *lb |= ((mask (b) << 1) - 1);
+      *lb |= ((mask (b) << 1) - 1llu);
     }
+    dirty ();
   }
   void del_range (hb_codepoint_t a, hb_codepoint_t b)
   {
     elt_t *la = &elt (a);
     elt_t *lb = &elt (b);
     if (la == lb)
-      *la &= ~((mask (b) << 1) - mask(a));
+      *la &= ~((mask (b) << 1llu) - mask(a));
     else
     {
       *la &= mask (a) - 1;
@@ -144,8 +146,9 @@
 
       hb_memset (la, 0, (char *) lb - (char *) la);
 
-      *lb &= ~((mask (b) << 1) - 1);
+      *lb &= ~((mask (b) << 1) - 1llu);
     }
+    dirty ();
   }
   void set_range (hb_codepoint_t a, hb_codepoint_t b, bool v)
   { if (v) add_range (a, b); else del_range (a, b); }
@@ -216,6 +219,7 @@
     return count;
   }
 
+  bool operator == (const hb_bit_page_t &other) const { return is_equal (other); }
   bool is_equal (const hb_bit_page_t &other) const
   {
     for (unsigned i = 0; i < len (); i++)
@@ -223,20 +227,28 @@
         return false;
     return true;
   }
+  bool operator <= (const hb_bit_page_t &larger_page) const { return is_subset (larger_page); }
   bool is_subset (const hb_bit_page_t &larger_page) const
   {
+    if (has_population () && larger_page.has_population () &&
+        population > larger_page.population)
+      return false;
+
     for (unsigned i = 0; i < len (); i++)
       if (~larger_page.v[i] & v[i])
         return false;
     return true;
   }
 
+  bool has_population () const { return population != UINT_MAX; }
   unsigned int get_population () const
   {
-    return
+    if (has_population ()) return population;
+    population =
     + hb_iter (v)
     | hb_reduce ([] (unsigned pop, const elt_t &_) { return pop + hb_popcount (_); }, 0u)
     ;
+    return population;
   }
 
   bool next (hb_codepoint_t *codepoint) const
@@ -332,9 +344,9 @@
   const elt_t& elt (hb_codepoint_t g) const { return v[(g & MASK) / ELT_BITS]; }
   static constexpr elt_t mask (hb_codepoint_t g) { return elt_t (1) << (g & ELT_MASK); }
 
+  mutable unsigned population;
   vector_t v;
 };
-static_assert (hb_bit_page_t::PAGE_BITS == sizeof (hb_bit_page_t) * 8, "");
 
 
 #endif /* HB_BIT_PAGE_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh	2024-04-08 05:38:38.000000000 +0000
@@ -136,7 +136,7 @@
   /* Sink interface. */
   hb_bit_set_invertible_t& operator << (hb_codepoint_t v)
   { add (v); return *this; }
-  hb_bit_set_invertible_t& operator << (const hb_pair_t& range)
+  hb_bit_set_invertible_t& operator << (const hb_codepoint_pair_t& range)
   { add_range (range.first, range.second); return *this; }
 
   bool intersects (hb_codepoint_t first, hb_codepoint_t last) const
@@ -162,7 +162,7 @@
       auto it1 = iter ();
       auto it2 = other.iter ();
       return hb_all (+ hb_zip (it1, it2)
-                     | hb_map ([](hb_pair_t _) { return _.first == _.second; }));
+                     | hb_map ([](hb_codepoint_pair_t _) { return _.first == _.second; }));
     }
   }
 
@@ -345,6 +345,7 @@
   struct iter_t : hb_iter_with_fallback_t
   {
     static constexpr bool is_sorted_iterator = true;
+    static constexpr bool has_fast_len = true;
     iter_t (const hb_bit_set_invertible_t &s_ = Null (hb_bit_set_invertible_t),
             bool init = true) : s (&s_), v (INVALID), l(0)
     {
@@ -363,7 +364,7 @@
     unsigned __len__ () const { return l; }
     iter_t end () const { return iter_t (*s, false); }
     bool operator != (const iter_t& o) const
-    { return s != o.s || v != o.v; }
+    { return v != o.v || s != o.s; }
 
     protected:
     const hb_bit_set_invertible_t *s;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh	2024-04-08 05:38:38.000000000 +0000
@@ -30,7 +30,6 @@
 
 #include "hb.hh"
 #include "hb-bit-page.hh"
-#include "hb-machinery.hh"
 
 
 struct hb_bit_set_t
@@ -134,7 +133,11 @@
   {
     uint32_t h = 0;
     for (auto &map : page_map)
-      h = h * 31 + hb_hash (map.major) + hb_hash (pages[map.index]);
+    {
+      auto &page = pages.arrayZ[map.index];
+      if (unlikely (page.is_empty ())) continue;
+      h = h * 31 + hb_hash (map.major) + hb_hash (page);
+    }
     return h;
   }
 
@@ -179,6 +182,16 @@
     return true;
   }
 
+  /* Duplicated here from hb-machinery.hh to avoid including it. */
+  template
+  static inline const Type& StructAtOffsetUnaligned(const void *P, unsigned int offset)
+  {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-align"
+    return * reinterpret_cast ((const char *) P + offset);
+#pragma GCC diagnostic pop
+  }
+
   template 
   void set_array (bool v, const T *array, unsigned int count, unsigned int stride=sizeof(T))
   {
@@ -342,7 +355,7 @@
   /* Sink interface. */
   hb_bit_set_t& operator << (hb_codepoint_t v)
   { add (v); return *this; }
-  hb_bit_set_t& operator << (const hb_pair_t& range)
+  hb_bit_set_t& operator << (const hb_codepoint_pair_t& range)
   { add_range (range.first, range.second); return *this; }
 
   bool intersects (hb_codepoint_t first, hb_codepoint_t last) const
@@ -402,7 +415,6 @@
       uint32_t spm = page_map[spi].major;
       uint32_t lpm = larger_set.page_map[lpi].major;
       auto sp = page_at (spi);
-      auto lp = larger_set.page_at (lpi);
 
       if (spm < lpm && !sp.is_empty ())
         return false;
@@ -410,6 +422,7 @@
       if (lpm < spm)
         continue;
 
+      auto lp = larger_set.page_at (lpi);
       if (!sp.is_subset (lp))
         return false;
 
@@ -549,6 +562,7 @@
         count--;
         page_map.arrayZ[count] = page_map.arrayZ[a];
         page_at (count).v = op (page_at (a).v, other.page_at (b).v);
+        page_at (count).dirty ();
       }
       else if (page_map.arrayZ[a - 1].major > other.page_map.arrayZ[b - 1].major)
       {
@@ -567,7 +581,7 @@
           count--;
           page_map.arrayZ[count].major = other.page_map.arrayZ[b].major;
           page_map.arrayZ[count].index = next_page++;
-          page_at (count).v = other.page_at (b).v;
+          page_at (count) = other.page_at (b);
         }
       }
     }
@@ -585,7 +599,7 @@
         count--;
         page_map.arrayZ[count].major = other.page_map.arrayZ[b].major;
         page_map.arrayZ[count].index = next_page++;
-        page_at (count).v = other.page_at (b).v;
+        page_at (count) = other.page_at (b);
       }
     assert (!count);
     resize (newCount);
@@ -623,6 +637,7 @@
         *codepoint = INVALID;
         return false;
       }
+      last_page_lookup = i;
     }
 
     const auto* pages_array = pages.arrayZ;
@@ -632,7 +647,6 @@
       if (pages_array[current.index].next (codepoint))
       {
         *codepoint += current.major * page_t::PAGE_BITS;
-        last_page_lookup = i;
         return true;
       }
       i++;
@@ -649,7 +663,6 @@
         return true;
       }
     }
-    last_page_lookup = 0;
     *codepoint = INVALID;
     return false;
   }
@@ -863,6 +876,7 @@
   struct iter_t : hb_iter_with_fallback_t
   {
     static constexpr bool is_sorted_iterator = true;
+    static constexpr bool has_fast_len = true;
     iter_t (const hb_bit_set_t &s_ = Null (hb_bit_set_t),
             bool init = true) : s (&s_), v (INVALID), l(0)
     {
@@ -899,7 +913,7 @@
 
     /* The extra page_map length is necessary; can't just rely on vector here,
      * since the next check would be tricked because a null page also has
-     * major==0, which we can't distinguish from an actualy major==0 page... */
+     * major==0, which we can't distinguish from an actually major==0 page... */
     unsigned i = last_page_lookup;
     if (likely (i < page_map.length))
     {
@@ -921,7 +935,7 @@
       memmove (page_map.arrayZ + i + 1,
                page_map.arrayZ + i,
                (page_map.length - 1 - i) * page_map.item_size);
-      page_map[i] = map;
+      page_map.arrayZ[i] = map;
     }
 
     last_page_lookup = i;
@@ -933,7 +947,7 @@
 
     /* The extra page_map length is necessary; can't just rely on vector here,
      * since the next check would be tricked because a null page also has
-     * major==0, which we can't distinguish from an actualy major==0 page... */
+     * major==0, which we can't distinguish from an actually major==0 page... */
     unsigned i = last_page_lookup;
     if (likely (i < page_map.length))
     {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh	2024-04-08 05:38:38.000000000 +0000
@@ -32,7 +32,7 @@
 #include "hb.hh"
 
 
-#line 33 "hb-buffer-deserialize-json.hh"
+#line 36 "hb-buffer-deserialize-json.hh"
 static const unsigned char _deserialize_json_trans_keys[] = {
         0u, 0u, 9u, 123u, 9u, 34u, 97u, 117u, 120u, 121u, 34u, 34u, 9u, 58u, 9u, 57u,
         48u, 57u, 9u, 125u, 9u, 125u, 9u, 93u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u,
@@ -555,12 +555,12 @@
   hb_glyph_info_t info = {0};
   hb_glyph_position_t pos = {0};
 
-#line 552 "hb-buffer-deserialize-json.hh"
+#line 559 "hb-buffer-deserialize-json.hh"
         {
         cs = deserialize_json_start;
         }
 
-#line 555 "hb-buffer-deserialize-json.hh"
+#line 564 "hb-buffer-deserialize-json.hh"
         {
         int _slen;
         int _trans;
@@ -772,7 +772,7 @@
         *end_ptr = p;
 }
         break;
-#line 733 "hb-buffer-deserialize-json.hh"
+#line 776 "hb-buffer-deserialize-json.hh"
         }
 
 _again:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-glyphs.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-glyphs.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-glyphs.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-glyphs.hh	2024-04-08 05:38:38.000000000 +0000
@@ -32,7 +32,7 @@
 #include "hb.hh"
 
 
-#line 33 "hb-buffer-deserialize-text-glyphs.hh"
+#line 36 "hb-buffer-deserialize-text-glyphs.hh"
 static const unsigned char _deserialize_text_glyphs_trans_keys[] = {
         0u, 0u, 48u, 57u, 45u, 57u, 48u, 57u, 45u, 57u, 48u, 57u, 48u, 57u, 45u, 57u,
         48u, 57u, 44u, 44u, 45u, 57u, 48u, 57u, 44u, 57u, 43u, 124u, 9u, 124u, 9u, 124u,
@@ -349,12 +349,12 @@
   hb_glyph_info_t info = {0};
   hb_glyph_position_t pos = {0};
 
-#line 346 "hb-buffer-deserialize-text-glyphs.hh"
+#line 353 "hb-buffer-deserialize-text-glyphs.hh"
         {
         cs = deserialize_text_glyphs_start;
         }
 
-#line 349 "hb-buffer-deserialize-text-glyphs.hh"
+#line 358 "hb-buffer-deserialize-text-glyphs.hh"
         {
         int _slen;
         int _trans;
@@ -550,7 +550,7 @@
         *end_ptr = p;
 }
         break;
-#line 516 "hb-buffer-deserialize-text-glyphs.hh"
+#line 554 "hb-buffer-deserialize-text-glyphs.hh"
         }
 
 _again:
@@ -667,7 +667,7 @@
         *end_ptr = p;
 }
         break;
-#line 616 "hb-buffer-deserialize-text-glyphs.hh"
+#line 671 "hb-buffer-deserialize-text-glyphs.hh"
         }
         }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-unicode.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-unicode.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-unicode.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-unicode.hh	2024-04-08 05:38:38.000000000 +0000
@@ -32,7 +32,7 @@
 #include "hb.hh"
 
 
-#line 33 "hb-buffer-deserialize-text-unicode.hh"
+#line 36 "hb-buffer-deserialize-text-unicode.hh"
 static const unsigned char _deserialize_text_unicode_trans_keys[] = {
         0u, 0u, 9u, 117u, 43u, 102u, 48u, 102u, 48u, 57u, 9u, 124u, 9u, 124u, 9u, 124u,
         9u, 124u, 0
@@ -197,12 +197,12 @@
   hb_glyph_info_t info = {0};
   const hb_glyph_position_t pos = {0};
 
-#line 194 "hb-buffer-deserialize-text-unicode.hh"
+#line 201 "hb-buffer-deserialize-text-unicode.hh"
         {
         cs = deserialize_text_unicode_start;
         }
 
-#line 197 "hb-buffer-deserialize-text-unicode.hh"
+#line 206 "hb-buffer-deserialize-text-unicode.hh"
         {
         int _slen;
         int _trans;
@@ -269,7 +269,7 @@
         *end_ptr = p;
 }
         break;
-#line 256 "hb-buffer-deserialize-text-unicode.hh"
+#line 273 "hb-buffer-deserialize-text-unicode.hh"
         }
 
 _again:
@@ -307,7 +307,7 @@
         *end_ptr = p;
 }
         break;
-#line 289 "hb-buffer-deserialize-text-unicode.hh"
+#line 311 "hb-buffer-deserialize-text-unicode.hh"
         }
         }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc	2024-04-08 05:38:38.000000000 +0000
@@ -162,14 +162,8 @@
     hb_buffer_set_flags (fragment, flags);
 
     hb_buffer_append (fragment, text_buffer, text_start, text_end);
-    if (!hb_shape_full (font, fragment, features, num_features, shapers))
-    {
-      buffer_verify_error (buffer, font, BUFFER_VERIFY_ERROR "shaping failed while shaping fragment.");
-      hb_buffer_destroy (reconstruction);
-      hb_buffer_destroy (fragment);
-      return false;
-    }
-    else if (!fragment->successful || fragment->shaping_failed)
+    if (!hb_shape_full (font, fragment, features, num_features, shapers) ||
+        fragment->successful || fragment->shaping_failed)
     {
       hb_buffer_destroy (reconstruction);
       hb_buffer_destroy (fragment);
@@ -185,15 +179,18 @@
   }
 
   bool ret = true;
-  hb_buffer_diff_flags_t diff = hb_buffer_diff (reconstruction, buffer, (hb_codepoint_t) -1, 0);
-  if (diff & ~HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH)
+  if (likely (reconstruction->successful))
   {
-    buffer_verify_error (buffer, font, BUFFER_VERIFY_ERROR "unsafe-to-break test failed.");
-    ret = false;
+    hb_buffer_diff_flags_t diff = hb_buffer_diff (reconstruction, buffer, (hb_codepoint_t) -1, 0);
+    if (diff & ~HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH)
+    {
+      buffer_verify_error (buffer, font, BUFFER_VERIFY_ERROR "unsafe-to-break test failed.");
+      ret = false;
 
-    /* Return the reconstructed result instead so it can be inspected. */
-    hb_buffer_set_length (buffer, 0);
-    hb_buffer_append (buffer, reconstruction, 0, -1);
+      /* Return the reconstructed result instead so it can be inspected. */
+      hb_buffer_set_length (buffer, 0);
+      hb_buffer_append (buffer, reconstruction, 0, -1);
+    }
   }
 
   hb_buffer_destroy (reconstruction);
@@ -316,28 +313,13 @@
   /*
    * Shape the two fragment streams.
    */
-  if (!hb_shape_full (font, fragments[0], features, num_features, shapers))
-  {
-    buffer_verify_error (buffer, font, BUFFER_VERIFY_ERROR "shaping failed while shaping fragment.");
-    ret = false;
-    goto out;
-  }
-  else if (!fragments[0]->successful || fragments[0]->shaping_failed)
-  {
-    ret = true;
-    goto out;
-  }
-  if (!hb_shape_full (font, fragments[1], features, num_features, shapers))
-  {
-    buffer_verify_error (buffer, font, BUFFER_VERIFY_ERROR "shaping failed while shaping fragment.");
-    ret = false;
+  if (!hb_shape_full (font, fragments[0], features, num_features, shapers) ||
+      !fragments[0]->successful || fragments[0]->shaping_failed)
     goto out;
-  }
-  else if (!fragments[1]->successful || fragments[1]->shaping_failed)
-  {
-    ret = true;
+
+  if (!hb_shape_full (font, fragments[1], features, num_features, shapers) ||
+      !fragments[1]->successful || fragments[1]->shaping_failed)
     goto out;
-  }
 
   if (!forward)
   {
@@ -377,21 +359,23 @@
     hb_buffer_reverse (reconstruction);
   }
 
-  /*
-   * Diff results.
-   */
-  diff = hb_buffer_diff (reconstruction, buffer, (hb_codepoint_t) -1, 0);
-  if (diff & ~HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH)
+  if (likely (reconstruction->successful))
   {
-    buffer_verify_error (buffer, font, BUFFER_VERIFY_ERROR "unsafe-to-concat test failed.");
-    ret = false;
+    /*
+     * Diff results.
+     */
+    diff = hb_buffer_diff (reconstruction, buffer, (hb_codepoint_t) -1, 0);
+    if (diff & ~HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH)
+    {
+      buffer_verify_error (buffer, font, BUFFER_VERIFY_ERROR "unsafe-to-concat test failed.");
+      ret = false;
 
-    /* Return the reconstructed result instead so it can be inspected. */
-    hb_buffer_set_length (buffer, 0);
-    hb_buffer_append (buffer, reconstruction, 0, -1);
+      /* Return the reconstructed result instead so it can be inspected. */
+      hb_buffer_set_length (buffer, 0);
+      hb_buffer_append (buffer, reconstruction, 0, -1);
+    }
   }
 
-
 out:
   hb_buffer_destroy (reconstruction);
   hb_buffer_destroy (fragments[0]);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.cc	2024-04-08 05:38:38.000000000 +0000
@@ -268,7 +268,7 @@
   unicode = hb_unicode_funcs_reference (src.unicode);
   flags = src.flags;
   cluster_level = src.cluster_level;
-  replacement = src.invisible;
+  replacement = src.replacement;
   invisible = src.invisible;
   not_found = src.not_found;
 }
@@ -499,12 +499,12 @@
                         unsigned int cluster_start,
                         unsigned int cluster_end)
 {
-  hb_mask_t not_mask = ~mask;
-  value &= mask;
-
   if (!mask)
     return;
 
+  hb_mask_t not_mask = ~mask;
+  value &= mask;
+
   unsigned int count = len;
   for (unsigned int i = 0; i < count; i++)
     if (cluster_start <= info[i].cluster && info[i].cluster < cluster_end)
@@ -1327,7 +1327,7 @@
  * Sets the #hb_codepoint_t that replaces characters not found in
  * the font during shaping.
  *
- * The not-found glyph defaults to zero, sometimes knows as the
+ * The not-found glyph defaults to zero, sometimes known as the
  * ".notdef" glyph.  This API allows for differentiating the two.
  *
  * Since: 3.1.0
@@ -2076,7 +2076,7 @@
  * hb_buffer_diff:
  * @buffer: a buffer.
  * @reference: other buffer to compare to.
- * @dottedcircle_glyph: glyph id of U+25CC DOTTED CIRCLE, or (hb_codepont_t) -1.
+ * @dottedcircle_glyph: glyph id of U+25CC DOTTED CIRCLE, or (hb_codepoint_t) -1.
  * @position_fuzz: allowed absolute difference in position values.
  *
  * If dottedcircle_glyph is (hb_codepoint_t) -1 then #HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.h	2024-04-08 05:38:38.000000000 +0000
@@ -99,7 +99,7 @@
  *                                 layout, by avoiding re-shaping of each line
  *                                 after line-breaking, by limiting the
  *                                 reshaping to a small piece around the
- *                                 breaking positin only, even if the breaking
+ *                                 breaking position only, even if the breaking
  *                                 position carries the
  *                                 #HB_GLYPH_FLAG_UNSAFE_TO_BREAK or when
  *                                 hyphenation or other text transformation
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-buffer.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-buffer.hh	2024-04-08 05:38:38.000000000 +0000
@@ -464,13 +464,16 @@
                       start, end,
                       true);
   }
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   void unsafe_to_concat (unsigned int start = 0, unsigned int end = -1)
   {
     if (likely ((flags & HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT) == 0))
       return;
     _set_glyph_flags (HB_GLYPH_FLAG_UNSAFE_TO_CONCAT,
                       start, end,
-                      true);
+                      false);
   }
   void unsafe_to_break_from_outbuffer (unsigned int start = 0, unsigned int end = -1)
   {
@@ -478,6 +481,9 @@
                       start, end,
                       true, true);
   }
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   void unsafe_to_concat_from_outbuffer (unsigned int start = 0, unsigned int end = -1)
   {
     if (likely ((flags & HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT) == 0))
@@ -493,6 +499,13 @@
 
   HB_NODISCARD HB_INTERNAL bool enlarge (unsigned int size);
 
+  HB_NODISCARD bool resize (unsigned length)
+  {
+    assert (!have_output);
+    if (unlikely (!ensure (length))) return false;
+    len = length;
+    return true;
+  }
   HB_NODISCARD bool ensure (unsigned int size)
   { return likely (!size || size < allocated) ? true : enlarge (size); }
 
@@ -553,7 +566,7 @@
   bool message (hb_font_t *font, const char *fmt, ...) HB_PRINTF_FUNC(3, 4)
   {
 #ifdef HB_NO_BUFFER_MESSAGE
-   return true;
+    return true;
 #else
     if (likely (!messaging ()))
       return true;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-cache.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cache.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-cache.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cache.hh	2024-04-08 05:38:38.000000000 +0000
@@ -62,14 +62,12 @@
   static_assert ((key_bits >= cache_bits), "");
   static_assert ((key_bits + value_bits <= cache_bits + 8 * sizeof (item_t)), "");
 
-  hb_cache_t () { init (); }
-
-  void init () { clear (); }
+  hb_cache_t () { clear (); }
 
   void clear ()
   {
-    for (unsigned i = 0; i < ARRAY_LENGTH (values); i++)
-      values[i] = -1;
+    for (auto &v : values)
+      v = -1;
   }
 
   bool get (unsigned int key, unsigned int *value) const
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -26,6 +26,8 @@
 #ifndef HB_CFF_INTERP_COMMON_HH
 #define HB_CFF_INTERP_COMMON_HH
 
+extern HB_INTERNAL const unsigned char *endchar_str;
+
 namespace CFF {
 
 using namespace OT;
@@ -336,8 +338,6 @@
   hb_ubytes_t       str;
 };
 
-using byte_str_array_t = hb_vector_t;
-
 /* stack */
 template 
 struct cff_stack_t
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-cs-common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-cs-common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-cs-common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-cff-interp-cs-common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -883,14 +883,12 @@
 
     unsigned max_ops = HB_CFF_MAX_OPS;
     for (;;) {
-      if (unlikely (!--max_ops))
+      OPSET::process_op (SUPER::env.fetch_op (), SUPER::env, param);
+      if (unlikely (SUPER::env.in_error () || !--max_ops))
       {
         SUPER::env.set_error ();
-        break;
-      }
-      OPSET::process_op (SUPER::env.fetch_op (), SUPER::env, param);
-      if (unlikely (SUPER::env.in_error ()))
         return false;
+      }
       if (SUPER::env.is_endchar ())
         break;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-common.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-common.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-common.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-common.cc	2024-04-08 05:38:38.000000000 +0000
@@ -815,7 +815,7 @@
   }
 
   const char *p = *pp;
-  while (*pp < end && (ISALNUM(**pp) || **pp == '_'))
+  while (*pp < end && (**pp != ' ' && **pp != '=' && **pp != '[' && **pp != quote))
     (*pp)++;
 
   if (p == *pp || *pp - p > 4)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-common.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-common.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-common.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-common.h	2024-04-08 05:38:38.000000000 +0000
@@ -104,6 +104,16 @@
  *
  **/
 typedef uint32_t hb_codepoint_t;
+
+/**
+ * HB_CODEPOINT_INVALID:
+ *
+ * Unused #hb_codepoint_t value.
+ *
+ * Since: 8.0.0
+ */
+#define HB_CODEPOINT_INVALID ((hb_codepoint_t) -1)
+
 /**
  * hb_position_t:
  *
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-config.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-config.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-config.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-config.hh	2024-04-08 05:38:38.000000000 +0000
@@ -44,14 +44,14 @@
 #ifdef HB_TINY
 #define HB_LEAN
 #define HB_MINI
+#define HB_OPTIMIZE_SIZE
+#define HB_OPTIMIZE_SIZE_MORE
+#define HB_MINIMIZE_MEMORY_USAGE
 #define HB_NO_MT
 #define HB_NO_UCD_UNASSIGNED
 #ifndef NDEBUG
 #define NDEBUG
 #endif
-#ifndef __OPTIMIZE_SIZE__
-#define __OPTIMIZE_SIZE__
-#endif
 #endif
 
 #ifdef HB_LEAN
@@ -97,6 +97,12 @@
 #define HB_NO_BORING_EXPANSION
 #endif
 
+#ifdef __OPTIMIZE_SIZE__
+#ifndef HB_OPTIMIZE_SIZE
+#define HB_OPTIMIZE_SIZE
+#endif
+#endif
+
 #if defined(HAVE_CONFIG_OVERRIDE_H) || defined(HB_CONFIG_OVERRIDE_H)
 #ifndef HB_CONFIG_OVERRIDE_H
 #define HB_CONFIG_OVERRIDE_H "config-override.h"
@@ -108,7 +114,8 @@
 
 #ifdef HB_NO_BORING_EXPANSION
 #define HB_NO_BEYOND_64K
-#define HB_NO_AVAR2
+#define HB_NO_CUBIC_GLYF
+#define HB_NO_VAR_COMPOSITES
 #endif
 
 #ifdef HB_DISABLE_DEPRECATED
@@ -175,21 +182,27 @@
 #define HB_NO_OT_SHAPER_MYANMAR_ZAWGYI
 #endif
 
-#ifdef NDEBUG
-#ifndef HB_NDEBUG
-#define HB_NDEBUG
-#endif
+#ifdef HB_OPTIMIZE_SIZE_MORE
+#define HB_NO_OT_RULESETS_FAST_PATH
 #endif
 
-#ifdef __OPTIMIZE_SIZE__
-#ifndef HB_OPTIMIZE_SIZE
-#define HB_OPTIMIZE_SIZE
-#endif
+#ifdef HB_MINIMIZE_MEMORY_USAGE
+#define HB_NO_GDEF_CACHE
+#define HB_NO_OT_LAYOUT_LOOKUP_CACHE
+#define HB_NO_OT_FONT_ADVANCE_CACHE
+#define HB_NO_OT_FONT_CMAP_CACHE
 #endif
 
 #ifdef HB_OPTIMIZE_SIZE
-#define HB_NO_OT_LAYOUT_LOOKUP_CACHE
+#define HB_OPTIMIZE_SIZE_VAL 1
+#else
+#define HB_OPTIMIZE_SIZE_VAL 0
 #endif
 
+#ifdef HB_MINIMIZE_MEMORY_USAGE
+#define HB_MINIMIZE_MEMORY_USAGE_VAL 1
+#else
+#define HB_MINIMIZE_MEMORY_USAGE_VAL 0
+#endif
 
 #endif /* HB_CONFIG_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-debug.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-debug.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-debug.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-debug.hh	2024-04-08 05:38:38.000000000 +0000
@@ -265,8 +265,9 @@
   }
 }
 template <>
-/*static*/ inline void _hb_warn_no_return (bool returned HB_UNUSED)
-{}
+/*static*/ inline void _hb_warn_no_return (bool returned HB_UNUSED) {}
+template <>
+/*static*/ inline void _hb_warn_no_return (bool returned HB_UNUSED) {}
 
 template 
 struct hb_auto_trace_t
@@ -389,6 +390,10 @@
 #define HB_DEBUG_UNISCRIBE (HB_DEBUG+0)
 #endif
 
+#ifndef HB_DEBUG_WASM
+#define HB_DEBUG_WASM (HB_DEBUG+0)
+#endif
+
 /*
  * With tracing.
  */
@@ -446,12 +451,26 @@
 #define HB_DEBUG_SUBSET_REPACK (HB_DEBUG+0)
 #endif
 
+#ifndef HB_DEBUG_PAINT
+#define HB_DEBUG_PAINT (HB_DEBUG+0)
+#endif
+#if HB_DEBUG_PAINT
+#define TRACE_PAINT(this) \
+  HB_UNUSED hb_auto_trace_t trace \
+  (&c->debug_depth, c->get_name (), this, HB_FUNC, \
+   " ")
+#else
+#define TRACE_PAINT(this) HB_UNUSED hb_no_trace_t trace
+#endif
+
+
 #ifndef HB_DEBUG_DISPATCH
 #define HB_DEBUG_DISPATCH ( \
         HB_DEBUG_APPLY + \
         HB_DEBUG_SANITIZE + \
         HB_DEBUG_SERIALIZE + \
         HB_DEBUG_SUBSET + \
+        HB_DEBUG_PAINT + \
         0)
 #endif
 #if HB_DEBUG_DISPATCH
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-deprecated.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-deprecated.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-deprecated.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-deprecated.h	2024-04-08 05:38:38.000000000 +0000
@@ -255,6 +255,52 @@
 hb_font_get_glyph_v_kerning (hb_font_t *font,
                              hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph);
 
+
+/**
+ * hb_font_get_glyph_shape_func_t:
+ * @font: #hb_font_t to work upon
+ * @font_data: @font user data pointer
+ * @glyph: The glyph ID to query
+ * @draw_funcs: The draw functions to send the shape data to
+ * @draw_data: The data accompanying the draw functions
+ * @user_data: User data pointer passed by the caller
+ *
+ * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
+ *
+ * Since: 4.0.0
+ * Deprecated: 7.0.0: Use #hb_font_draw_glyph_func_t instead
+ **/
+typedef void (*hb_font_get_glyph_shape_func_t) (hb_font_t *font, void *font_data,
+                                                hb_codepoint_t glyph,
+                                                hb_draw_funcs_t *draw_funcs, void *draw_data,
+                                                void *user_data);
+
+/**
+ * hb_font_funcs_set_glyph_shape_func:
+ * @ffuncs: A font-function structure
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
+ * @user_data: Data to pass to @func
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
+ *
+ * Sets the implementation function for #hb_font_get_glyph_shape_func_t,
+ * which is the same as #hb_font_draw_glyph_func_t.
+ *
+ * Since: 4.0.0
+ * Deprecated: 7.0.0: Use hb_font_funcs_set_draw_glyph_func() instead
+ **/
+HB_DEPRECATED_FOR (hb_font_funcs_set_draw_glyph_func)
+HB_EXTERN void
+hb_font_funcs_set_glyph_shape_func (hb_font_funcs_t *ffuncs,
+                                    hb_font_get_glyph_shape_func_t func,
+                                    void *user_data, hb_destroy_func_t destroy);
+
+HB_DEPRECATED_FOR (hb_font_draw_glyph)
+HB_EXTERN void
+hb_font_get_glyph_shape (hb_font_t *font,
+                         hb_codepoint_t glyph,
+                         hb_draw_funcs_t *dfuncs, void *draw_data);
+
+
 #endif
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-draw.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-draw.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-draw.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-draw.hh	2024-04-08 05:38:38.000000000 +0000
@@ -93,50 +93,57 @@
                      !user_data ? nullptr : user_data->close_path); }
 
 
-  void move_to (void *draw_data, hb_draw_state_t &st,
-                float to_x, float to_y)
+  void
+  HB_ALWAYS_INLINE
+  move_to (void *draw_data, hb_draw_state_t &st,
+           float to_x, float to_y)
   {
-    if (st.path_open) close_path (draw_data, st);
+    if (unlikely (st.path_open)) close_path (draw_data, st);
     st.current_x = to_x;
     st.current_y = to_y;
   }
 
-  void line_to (void *draw_data, hb_draw_state_t &st,
-                float to_x, float to_y)
+  void
+  HB_ALWAYS_INLINE
+  line_to (void *draw_data, hb_draw_state_t &st,
+           float to_x, float to_y)
   {
-    if (!st.path_open) start_path (draw_data, st);
+    if (unlikely (!st.path_open)) start_path (draw_data, st);
     emit_line_to (draw_data, st, to_x, to_y);
     st.current_x = to_x;
     st.current_y = to_y;
   }
 
   void
+  HB_ALWAYS_INLINE
   quadratic_to (void *draw_data, hb_draw_state_t &st,
                 float control_x, float control_y,
                 float to_x, float to_y)
   {
-    if (!st.path_open) start_path (draw_data, st);
+    if (unlikely (!st.path_open)) start_path (draw_data, st);
     emit_quadratic_to (draw_data, st, control_x, control_y, to_x, to_y);
     st.current_x = to_x;
     st.current_y = to_y;
   }
 
   void
+  HB_ALWAYS_INLINE
   cubic_to (void *draw_data, hb_draw_state_t &st,
             float control1_x, float control1_y,
             float control2_x, float control2_y,
             float to_x, float to_y)
   {
-    if (!st.path_open) start_path (draw_data, st);
+    if (unlikely (!st.path_open)) start_path (draw_data, st);
     emit_cubic_to (draw_data, st, control1_x, control1_y, control2_x, control2_y, to_x, to_y);
     st.current_x = to_x;
     st.current_y = to_y;
   }
 
   void
+  HB_ALWAYS_INLINE
   close_path (void *draw_data, hb_draw_state_t &st)
   {
-    if (st.path_open)
+    if (likely (st.path_open))
     {
       if ((st.path_start_x != st.current_x) || (st.path_start_y != st.current_y))
         emit_line_to (draw_data, st, st.path_start_x, st.path_start_y);
@@ -168,6 +175,7 @@
 
   ~hb_draw_session_t () { close_path (); }
 
+  HB_ALWAYS_INLINE
   void move_to (float to_x, float to_y)
   {
     if (likely (not_slanted))
@@ -177,6 +185,7 @@
       funcs->move_to (draw_data, st,
                       to_x + to_y * slant, to_y);
   }
+  HB_ALWAYS_INLINE
   void line_to (float to_x, float to_y)
   {
     if (likely (not_slanted))
@@ -187,6 +196,7 @@
                       to_x + to_y * slant, to_y);
   }
   void
+  HB_ALWAYS_INLINE
   quadratic_to (float control_x, float control_y,
                 float to_x, float to_y)
   {
@@ -200,6 +210,7 @@
                            to_x + to_y * slant, to_y);
   }
   void
+  HB_ALWAYS_INLINE
   cubic_to (float control1_x, float control1_y,
             float control2_x, float control2_y,
             float to_x, float to_y)
@@ -215,6 +226,7 @@
                        control2_x + control2_y * slant, control2_y,
                        to_x + to_y * slant, to_y);
   }
+  HB_ALWAYS_INLINE
   void close_path ()
   {
     funcs->close_path (draw_data, st);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-font.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-font.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-font.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-font.cc	2024-04-08 05:38:38.000000000 +0000
@@ -1066,7 +1066,7 @@
  * @glyph_stride: The stride between successive glyph IDs
  *
  * Fetches the nominal glyph IDs for a sequence of Unicode code points. Glyph
- * IDs must be returned in a #hb_codepoint_t output parameter. Stopes at the
+ * IDs must be returned in a #hb_codepoint_t output parameter. Stops at the
  * first unsupported glyph ID.
  *
  * Return value: the number of code points processed
@@ -1389,6 +1389,7 @@
   return font->get_glyph_from_name (name, len, glyph);
 }
 
+#ifndef HB_DISABLE_DEPRECATED
 /**
  * hb_font_get_glyph_shape:
  * @font: #hb_font_t to work upon
@@ -1410,6 +1411,7 @@
 {
   hb_font_draw_glyph (font, glyph, dfuncs, draw_data);
 }
+#endif
 
 /**
  * hb_font_draw_glyph:
@@ -2648,7 +2650,6 @@
       if (axes[axis_index].axisTag == tag)
         design_coords[axis_index] = v;
   }
-  font->face->table.avar->map_coords (normalized, coords_length);
 
   hb_ot_var_normalize_coords (font->face, coords_length, design_coords, normalized);
   _hb_font_adopt_var_coords (font, normalized, design_coords, coords_length);
@@ -2720,8 +2721,6 @@
     if (axes[axis_index].axisTag == tag)
       design_coords[axis_index] = value;
 
-  font->face->table.avar->map_coords (normalized, coords_length);
-
   hb_ot_var_normalize_coords (font->face, coords_length, design_coords, normalized);
   _hb_font_adopt_var_coords (font, normalized, design_coords, coords_length);
 
@@ -3058,6 +3057,7 @@
 #endif
 
 
+#ifndef HB_DISABLE_DEPRECATED
 void
 hb_font_funcs_set_glyph_shape_func (hb_font_funcs_t               *ffuncs,
                                    hb_font_get_glyph_shape_func_t  func,
@@ -3066,3 +3066,4 @@
 {
   hb_font_funcs_set_draw_glyph_func (ffuncs, func, user_data, destroy);
 }
+#endif
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-font.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-font.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-font.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-font.h	2024-04-08 05:38:38.000000000 +0000
@@ -486,25 +486,6 @@
                                                          void *user_data);
 
 /**
- * hb_font_get_glyph_shape_func_t:
- * @font: #hb_font_t to work upon
- * @font_data: @font user data pointer
- * @glyph: The glyph ID to query
- * @draw_funcs: The draw functions to send the shape data to
- * @draw_data: The data accompanying the draw functions
- * @user_data: User data pointer passed by the caller
- *
- * A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
- *
- * Since: 4.0.0
- * Deprecated: 7.0.0: Use #hb_font_draw_glyph_func_t instead
- **/
-typedef void (*hb_font_get_glyph_shape_func_t) (hb_font_t *font, void *font_data,
-                                                hb_codepoint_t glyph,
-                                                hb_draw_funcs_t *draw_funcs, void *draw_data,
-                                                void *user_data);
-
-/**
  * hb_font_draw_glyph_func_t:
  * @font: #hb_font_t to work upon
  * @font_data: @font user data pointer
@@ -804,32 +785,13 @@
                                         void *user_data, hb_destroy_func_t destroy);
 
 /**
- * hb_font_funcs_set_glyph_shape_func:
- * @ffuncs: A font-function structure
- * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
- * @user_data: Data to pass to @func
- * @destroy: (nullable): The function to call when @user_data is not needed anymore
- *
- * Sets the implementation function for #hb_font_get_glyph_shape_func_t,
- * which is the same as #hb_font_draw_glyph_func_t.
- *
- * Since: 4.0.0
- * Deprecated: 7.0.0: Use hb_font_funcs_set_draw_glyph_func() instead
- **/
-HB_EXTERN void
-hb_font_funcs_set_glyph_shape_func (hb_font_funcs_t *ffuncs,
-                                    hb_font_get_glyph_shape_func_t func,
-                                    void *user_data, hb_destroy_func_t destroy);
-
-/**
  * hb_font_funcs_set_draw_glyph_func:
  * @ffuncs: A font-function structure
  * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
  * @user_data: Data to pass to @func
  * @destroy: (nullable): The function to call when @user_data is not needed anymore
  *
- * Sets the implementation function for #hb_font_draw_glyph_func_t,
- * which is the same as #hb_font_get_glyph_shape_func_t.
+ * Sets the implementation function for #hb_font_draw_glyph_func_t.
  *
  * Since: 7.0.0
  **/
@@ -935,11 +897,6 @@
                              hb_codepoint_t *glyph);
 
 HB_EXTERN void
-hb_font_get_glyph_shape (hb_font_t *font,
-                         hb_codepoint_t glyph,
-                         hb_draw_funcs_t *dfuncs, void *draw_data);
-
-HB_EXTERN void
 hb_font_draw_glyph (hb_font_t *font,
                     hb_codepoint_t glyph,
                     hb_draw_funcs_t *dfuncs, void *draw_data);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ft.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ft.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ft.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ft.cc	2024-04-08 05:38:38.000000000 +0000
@@ -114,7 +114,7 @@
   ft_font->load_flags = FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING;
 
   ft_font->cached_serial = (unsigned) -1;
-  ft_font->advance_cache.init ();
+  new (&ft_font->advance_cache) hb_ft_advance_cache_t;
 
   return ft_font;
 }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-iter.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-iter.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-iter.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-iter.hh	2024-04-08 05:38:38.000000000 +0000
@@ -63,6 +63,7 @@
   static constexpr bool is_iterator = true;
   static constexpr bool is_random_access_iterator = false;
   static constexpr bool is_sorted_iterator = false;
+  static constexpr bool has_fast_len = false; // Should be checked in combination with is_random_access_iterator.
 
   private:
   /* https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern */
@@ -393,7 +394,7 @@
 
   private:
   Iter it;
-  hb_reference_wrapper f;
+  mutable hb_reference_wrapper f;
 };
 
 template 
@@ -456,8 +457,8 @@
 
   private:
   Iter it;
-  hb_reference_wrapper p;
-  hb_reference_wrapper f;
+  mutable hb_reference_wrapper p;
+  mutable hb_reference_wrapper f;
 };
 template 
 struct hb_filter_iter_factory_t
@@ -841,7 +842,7 @@
   template 
   auto operator () (Iterable&& it, unsigned count) const HB_AUTO_RETURN
-  ( hb_zip (hb_range (count), it) | hb_map (hb_second) )
+  ( hb_zip (hb_range (count), it) | hb_map_retains_sorting (hb_second) )
 
   /* Specialization arrays. */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-kern.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-kern.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-kern.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-kern.hh	2024-04-08 05:38:38.000000000 +0000
@@ -53,7 +53,7 @@
       return;
 
     buffer->unsafe_to_concat ();
-    OT::hb_ot_apply_context_t c (1, font, buffer);
+    OT::hb_ot_apply_context_t c (1, font, buffer, hb_blob_get_empty ());
     c.set_lookup_mask (kern_mask);
     c.set_lookup_props (OT::LookupFlag::IgnoreMarks);
     auto &skippy_iter = c.iter_input;
@@ -70,7 +70,7 @@
         continue;
       }
 
-      skippy_iter.reset (idx, 1);
+      skippy_iter.reset (idx);
       unsigned unsafe_to;
       if (!skippy_iter.next (&unsafe_to))
       {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-limits.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-limits.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-limits.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-limits.hh	2024-04-08 05:38:38.000000000 +0000
@@ -89,6 +89,10 @@
 #endif
 
 
+#ifndef HB_GLYF_VAR_COMPOSITE_MAX_AXES
+#define HB_GLYF_VAR_COMPOSITE_MAX_AXES 4096
+#endif
+
 #ifndef HB_GLYF_MAX_POINTS
 #define HB_GLYF_MAX_POINTS 20000
 #endif
@@ -102,7 +106,7 @@
 #endif
 
 #ifndef HB_COLRV1_MAX_EDGE_COUNT
-#define HB_COLRV1_MAX_EDGE_COUNT 1024
+#define HB_COLRV1_MAX_EDGE_COUNT 65536
 #endif
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-machinery.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-machinery.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-machinery.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-machinery.hh	2024-04-08 05:38:38.000000000 +0000
@@ -180,6 +180,9 @@
                                  hb_lazy_loader_t
                                 >::value Funcs;
 
+  hb_lazy_loader_t () = default;
+  hb_lazy_loader_t (const hb_lazy_loader_t &other) = delete;
+
   void init0 () {} /* Init, when memory is already set to 0. No-op for us. */
   void init ()  { instance.set_relaxed (nullptr); }
   void fini ()  { do_destroy (instance.get_acquire ()); init (); }
@@ -278,7 +281,11 @@
 template 
 struct hb_face_lazy_loader_t : hb_lazy_loader_t,
-                                                hb_face_t, WheresFace> {};
+                                                hb_face_t, WheresFace>
+{
+  // Hack; have them here for API parity with hb_table_lazy_loader_t
+  hb_blob_t *get_blob () { return this->get ()->get_blob (); }
+};
 
 template 
 struct hb_table_lazy_loader_t : hb_lazy_loader_t (face);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-map.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-map.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.cc	2024-04-08 05:38:38.000000000 +0000
@@ -365,7 +365,7 @@
  * @key: (out): Key retrieved
  * @value: (out): Value retrieved
  *
- * Fetches the next key/value paire in @map.
+ * Fetches the next key/value pair in @map.
  *
  * Set @idx to -1 to get started.
  *
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-map.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-map.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.h	2024-04-08 05:38:38.000000000 +0000
@@ -44,7 +44,7 @@
  *
  * Since: 1.7.7
  */
-#define HB_MAP_VALUE_INVALID ((hb_codepoint_t) -1)
+#define HB_MAP_VALUE_INVALID HB_CODEPOINT_INVALID
 
 /**
  * hb_map_t:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-map.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-map.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-map.hh	2024-04-08 05:38:38.000000000 +0000
@@ -45,9 +45,9 @@
   hb_hashmap_t ()  { init (); }
   ~hb_hashmap_t () { fini (); }
 
-  hb_hashmap_t (const hb_hashmap_t& o) : hb_hashmap_t () { resize (o.population); hb_copy (o, *this); }
+  hb_hashmap_t (const hb_hashmap_t& o) : hb_hashmap_t () { alloc (o.population); hb_copy (o, *this); }
   hb_hashmap_t (hb_hashmap_t&& o) : hb_hashmap_t () { hb_swap (*this, o); }
-  hb_hashmap_t& operator= (const hb_hashmap_t& o)  { reset (); resize (o.population); hb_copy (o, *this); return *this; }
+  hb_hashmap_t& operator= (const hb_hashmap_t& o)  { reset (); alloc (o.population); hb_copy (o, *this); return *this; }
   hb_hashmap_t& operator= (hb_hashmap_t&& o)  { hb_swap (*this, o); return *this; }
 
   hb_hashmap_t (std::initializer_list> lst) : hb_hashmap_t ()
@@ -60,29 +60,32 @@
   hb_hashmap_t (const Iterable &o) : hb_hashmap_t ()
   {
     auto iter = hb_iter (o);
-    if (iter.is_random_access_iterator)
-      resize (hb_len (iter));
+    if (iter.is_random_access_iterator || iter.has_fast_len)
+      alloc (hb_len (iter));
     hb_copy (iter, *this);
   }
 
   struct item_t
   {
     K key;
-    uint32_t hash : 30;
+    uint32_t is_real_ : 1;
     uint32_t is_used_ : 1;
-    uint32_t is_tombstone_ : 1;
+    uint32_t hash : 30;
     V value;
 
     item_t () : key (),
+                is_real_ (false), is_used_ (false),
                 hash (0),
-                is_used_ (false), is_tombstone_ (false),
                 value () {}
 
+    // Needed for https://github.com/harfbuzz/harfbuzz/issues/4138
+    K& get_key () { return key; }
+    V& get_value () { return value; }
+
     bool is_used () const { return is_used_; }
     void set_used (bool is_used) { is_used_ = is_used; }
-    bool is_tombstone () const { return is_tombstone_; }
-    void set_tombstone (bool is_tombstone) { is_tombstone_ = is_tombstone; }
-    bool is_real () const { return is_used_ && !is_tombstone_; }
+    void set_real (bool is_real) { is_real_ = is_real; }
+    bool is_real () const { return is_real_; }
 
     template 
@@ -98,10 +101,15 @@
     bool operator == (const K &o) const { return hb_deref (key) == hb_deref (o); }
     bool operator == (const item_t &o) const { return *this == o.key; }
     hb_pair_t get_pair() const { return hb_pair_t (key, value); }
-    hb_pair_t get_pair_ref() const { return hb_pair_t (key, value); }
+    hb_pair_t get_pair_ref() { return hb_pair_t (key, value); }
 
     uint32_t total_hash () const
-    { return (hash * 31) + hb_hash (value); }
+    { return (hash * 31u) + hb_hash (value); }
+
+    static constexpr bool is_trivial = hb_is_trivially_constructible(K) &&
+                                       hb_is_trivially_destructible(K) &&
+                                       hb_is_trivially_constructible(V) &&
+                                       hb_is_trivially_destructible(V);
   };
 
   hb_object_header_t header;
@@ -110,6 +118,7 @@
   unsigned int occupancy; /* Including tombstones. */
   unsigned int mask;
   unsigned int prime;
+  unsigned int max_chain_length;
   item_t *items;
 
   friend void swap (hb_hashmap_t& a, hb_hashmap_t& b)
@@ -123,6 +132,7 @@
     hb_swap (a.occupancy, b.occupancy);
     hb_swap (a.mask, b.mask);
     hb_swap (a.prime, b.prime);
+    hb_swap (a.max_chain_length, b.max_chain_length);
     hb_swap (a.items, b.items);
   }
   void init ()
@@ -133,16 +143,19 @@
     population = occupancy = 0;
     mask = 0;
     prime = 0;
+    max_chain_length = 0;
     items = nullptr;
   }
   void fini ()
   {
     hb_object_fini (this);
 
-    if (likely (items)) {
+    if (likely (items))
+    {
       unsigned size = mask + 1;
-      for (unsigned i = 0; i < size; i++)
-        items[i].~item_t ();
+      if (!item_t::is_trivial)
+        for (unsigned i = 0; i < size; i++)
+          items[i].~item_t ();
       hb_free (items);
       items = nullptr;
     }
@@ -157,7 +170,7 @@
 
   bool in_error () const { return !successful; }
 
-  bool resize (unsigned new_population = 0)
+  bool alloc (unsigned new_population = 0)
   {
     if (unlikely (!successful)) return false;
 
@@ -171,8 +184,11 @@
       successful = false;
       return false;
     }
-    for (auto &_ : hb_iter (new_items, new_size))
-      new (&_) item_t ();
+    if (!item_t::is_trivial)
+      for (auto &_ : hb_iter (new_items, new_size))
+        new (&_) item_t ();
+    else
+      hb_memset (new_items, 0, (size_t) new_size * sizeof (item_t));
 
     unsigned int old_size = size ();
     item_t *old_items = items;
@@ -181,6 +197,7 @@
     population = occupancy = 0;
     mask = new_size - 1;
     prime = prime_for (power);
+    max_chain_length = power * 2;
     items = new_items;
 
     /* Insert back old items. */
@@ -192,7 +209,8 @@
                        old_items[i].hash,
                        std::move (old_items[i].value));
       }
-      old_items[i].~item_t ();
+      if (!item_t::is_trivial)
+        old_items[i].~item_t ();
     }
 
     hb_free (old_items);
@@ -201,72 +219,129 @@
   }
 
   template 
-  bool set_with_hash (KK&& key, uint32_t hash, VV&& value, bool is_delete=false)
+  bool set_with_hash (KK&& key, uint32_t hash, VV&& value, bool overwrite = true)
   {
     if (unlikely (!successful)) return false;
-    if (unlikely ((occupancy + occupancy / 2) >= mask && !resize ())) return false;
-    item_t &item = item_for_hash (key, hash);
+    if (unlikely ((occupancy + occupancy / 2) >= mask && !alloc ())) return false;
+
+    hash &= 0x3FFFFFFF; // We only store lower 30bit of hash
+    unsigned int tombstone = (unsigned int) -1;
+    unsigned int i = hash % prime;
+    unsigned length = 0;
+    unsigned step = 0;
+    while (items[i].is_used ())
+    {
+      if ((std::is_integral::value || items[i].hash == hash) &&
+          items[i] == key)
+      {
+        if (!overwrite)
+          return false;
+        else
+          break;
+      }
+      if (!items[i].is_real () && tombstone == (unsigned) -1)
+        tombstone = i;
+      i = (i + ++step) & mask;
+      length++;
+    }
 
-    if (is_delete && !(item == key))
-      return true; /* Trying to delete non-existent key. */
+    item_t &item = items[tombstone == (unsigned) -1 ? i : tombstone];
 
     if (item.is_used ())
     {
       occupancy--;
-      if (!item.is_tombstone ())
-        population--;
+      population -= item.is_real ();
     }
 
     item.key = std::forward (key);
     item.value = std::forward (value);
     item.hash = hash;
     item.set_used (true);
-    item.set_tombstone (is_delete);
+    item.set_real (true);
 
     occupancy++;
-    if (!is_delete)
-      population++;
+    population++;
+
+    if (unlikely (length > max_chain_length) && occupancy * 8 > mask)
+      alloc (mask - 8); // This ensures we jump to next larger size
 
     return true;
   }
 
   template 
-  bool set (const K &key, VV&& value) { return set_with_hash (key, hb_hash (key), std::forward (value)); }
+  bool set (const K &key, VV&& value, bool overwrite = true) { return set_with_hash (key, hb_hash (key), std::forward (value), overwrite); }
   template 
-  bool set (K &&key, VV&& value) { return set_with_hash (std::move (key), hb_hash (key), std::forward (value)); }
+  bool set (K &&key, VV&& value, bool overwrite = true)
+  {
+    uint32_t hash = hb_hash (key);
+    return set_with_hash (std::move (key), hash, std::forward (value), overwrite);
+  }
+  bool add (const K &key)
+  {
+    uint32_t hash = hb_hash (key);
+    return set_with_hash (key, hash, item_t::default_value ());
+  }
 
   const V& get_with_hash (const K &key, uint32_t hash) const
   {
-    if (unlikely (!items)) return item_t::default_value ();
-    auto &item = item_for_hash (key, hash);
-    return item.is_real () && item == key ? item.value : item_t::default_value ();
+    if (!items) return item_t::default_value ();
+    auto *item = fetch_item (key, hb_hash (key));
+    if (item)
+      return item->value;
+    return item_t::default_value ();
   }
   const V& get (const K &key) const
   {
-    if (unlikely (!items)) return item_t::default_value ();
+    if (!items) return item_t::default_value ();
     return get_with_hash (key, hb_hash (key));
   }
 
-  void del (const K &key) { set_with_hash (key, hb_hash (key), item_t::default_value (), true); }
+  void del (const K &key)
+  {
+    if (!items) return;
+    auto *item = fetch_item (key, hb_hash (key));
+    if (item)
+    {
+      item->set_real (false);
+      population--;
+    }
+  }
 
   /* Has interface. */
   const V& operator [] (K k) const { return get (k); }
   template 
-  bool has (K key, VV **vp = nullptr) const
+  bool has (const K &key, VV **vp = nullptr) const
   {
-    if (unlikely (!items))
-      return false;
-    auto &item = item_for_hash (key, hb_hash (key));
-    if (item.is_real () && item == key)
+    if (!items) return false;
+    auto *item = fetch_item (key, hb_hash (key));
+    if (item)
     {
-      if (vp) *vp = std::addressof (item.value);
+      if (vp) *vp = std::addressof (item->value);
       return true;
     }
-    else
-      return false;
+    return false;
+  }
+  item_t *fetch_item (const K &key, uint32_t hash) const
+  {
+    hash &= 0x3FFFFFFF; // We only store lower 30bit of hash
+    unsigned int i = hash % prime;
+    unsigned step = 0;
+    while (items[i].is_used ())
+    {
+      if ((std::is_integral::value || items[i].hash == hash) &&
+          items[i] == key)
+      {
+        if (items[i].is_real ())
+          return &items[i];
+        else
+          return nullptr;
+      }
+      i = (i + ++step) & mask;
+    }
+    return nullptr;
   }
   /* Projection. */
-  V operator () (K k) const { return get (k); }
+  const V& operator () (K k) const { return get (k); }
 
   unsigned size () const { return mask ? mask + 1 : 0; }
 
@@ -323,39 +398,37 @@
 
   auto iter_items () const HB_AUTO_RETURN
   (
-    + hb_iter (items, size ())
+    + hb_iter (items, this->size ())
     | hb_filter (&item_t::is_real)
   )
   auto iter_ref () const HB_AUTO_RETURN
   (
-    + iter_items ()
+    + this->iter_items ()
     | hb_map (&item_t::get_pair_ref)
   )
   auto iter () const HB_AUTO_RETURN
   (
-    + iter_items ()
+    + this->iter_items ()
     | hb_map (&item_t::get_pair)
   )
   auto keys_ref () const HB_AUTO_RETURN
   (
-    + iter_items ()
-    | hb_map (&item_t::key)
+    + this->iter_items ()
+    | hb_map (&item_t::get_key)
   )
   auto keys () const HB_AUTO_RETURN
   (
-    + iter_items ()
-    | hb_map (&item_t::key)
+    + this->keys_ref ()
     | hb_map (hb_ridentity)
   )
   auto values_ref () const HB_AUTO_RETURN
   (
-    + iter_items ()
-    | hb_map (&item_t::value)
+    + this->iter_items ()
+    | hb_map (&item_t::get_value)
   )
   auto values () const HB_AUTO_RETURN
   (
-    + iter_items ()
-    | hb_map (&item_t::value)
+    + this->values_ref ()
     | hb_map (hb_ridentity)
   )
 
@@ -393,23 +466,6 @@
   hb_hashmap_t& operator << (const hb_pair_t& v)
   { set (std::move (v.first), std::move (v.second)); return *this; }
 
-  item_t& item_for_hash (const K &key, uint32_t hash) const
-  {
-    hash &= 0x3FFFFFFF; // We only store lower 30bit of hash
-    unsigned int i = hash % prime;
-    unsigned int step = 0;
-    unsigned int tombstone = (unsigned) -1;
-    while (items[i].is_used ())
-    {
-      if (items[i].hash == hash && items[i] == key)
-        return items[i];
-      if (tombstone == (unsigned) -1 && items[i].is_tombstone ())
-        tombstone = i;
-      i = (i + ++step) & mask;
-    }
-    return items[tombstone == (unsigned) -1 ? i : tombstone];
-  }
-
   static unsigned int prime_for (unsigned int shift)
   {
     /* Following comment and table copied from glib. */
@@ -480,7 +536,7 @@
   hb_map_t (hb_map_t &&o) : hashmap (std::move ((hashmap &) o)) {}
   hb_map_t& operator= (const hb_map_t&) = default;
   hb_map_t& operator= (hb_map_t&&) = default;
-  hb_map_t (std::initializer_list> lst) : hashmap (lst) {}
+  hb_map_t (std::initializer_list lst) : hashmap (lst) {}
   template 
   hb_map_t (const Iterable &o) : hashmap (o) {}
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-meta.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-meta.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-meta.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-meta.hh	2024-04-08 05:38:38.000000000 +0000
@@ -153,8 +153,8 @@
   hb_reference_wrapper (T v) : v (v) {}
   bool operator == (const hb_reference_wrapper& o) const { return v == o.v; }
   bool operator != (const hb_reference_wrapper& o) const { return v != o.v; }
-  operator T () const { return v; }
-  T get () const { return v; }
+  operator T& () { return v; }
+  T& get () { return v; }
   T v;
 };
 template 
@@ -163,8 +163,8 @@
   hb_reference_wrapper (T& v) : v (std::addressof (v)) {}
   bool operator == (const hb_reference_wrapper& o) const { return v == o.v; }
   bool operator != (const hb_reference_wrapper& o) const { return v != o.v; }
-  operator T& () const { return *v; }
-  T& get () const { return *v; }
+  operator T& () { return *v; }
+  T& get () { return *v; }
   T* v;
 };
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-multimap.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-multimap.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-multimap.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-multimap.hh	2024-04-08 05:38:38.000000000 +0000
@@ -38,10 +38,10 @@
 {
   void add (hb_codepoint_t k, hb_codepoint_t v)
   {
-    hb_codepoint_t *i;
-    if (multiples_indices.has (k, &i))
+    hb_vector_t *m;
+    if (multiples.has (k, &m))
     {
-      multiples_values[*i].push (v);
+      m->push (v);
       return;
     }
 
@@ -51,12 +51,7 @@
       hb_codepoint_t old = *old_v;
       singulars.del (k);
 
-      multiples_indices.set (k, multiples_values.length);
-      auto *vec = multiples_values.push ();
-
-      vec->push (old);
-      vec->push (v);
-
+      multiples.set (k, hb_vector_t {old, v});
       return;
     }
 
@@ -69,22 +64,31 @@
     if (singulars.has (k, &v))
       return hb_array (v, 1);
 
-    hb_codepoint_t *i;
-    if (multiples_indices.has (k, &i))
-      return multiples_values[*i].as_array ();
+    hb_vector_t *m;
+    if (multiples.has (k, &m))
+      return m->as_array ();
 
     return hb_array_t ();
   }
 
   bool in_error () const
   {
-    return singulars.in_error () || multiples_indices.in_error () || multiples_values.in_error ();
+    if (singulars.in_error () || multiples.in_error ())
+      return true;
+    for (const auto &m : multiples.values_ref ())
+      if (m.in_error ())
+        return true;
+    return false;
+  }
+
+  void alloc (unsigned size)
+  {
+    singulars.alloc (size);
   }
 
   protected:
   hb_map_t singulars;
-  hb_map_t multiples_indices;
-  hb_vector_t> multiples_values;
+  hb_hashmap_t> multiples;
 };
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-null.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-null.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-null.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-null.hh	2024-04-08 05:38:38.000000000 +0000
@@ -37,7 +37,7 @@
 
 /* Global nul-content Null pool.  Enlarge as necessary. */
 
-#define HB_NULL_POOL_SIZE 448
+#define HB_NULL_POOL_SIZE 640
 
 template 
 struct _hb_has_min_size : hb_false_type {};
@@ -85,7 +85,7 @@
 template 
 struct _hb_static_size : hb_integral_constant {};
 template 
-struct _hb_static_size> : hb_integral_constant {};
+struct _hb_static_size> : hb_integral_constant {};
 template 
 using hb_static_size = _hb_static_size;
 #define hb_static_size(T) hb_static_size::value
@@ -176,7 +176,7 @@
 static inline Type& Crap () {
   static_assert (hb_null_size (Type) <= HB_NULL_POOL_SIZE, "Increase HB_NULL_POOL_SIZE.");
   Type *obj = reinterpret_cast (_hb_CrapPool);
-  memcpy (obj, &Null (Type), sizeof (*obj));
+  memcpy (obj, std::addressof (Null (Type)), sizeof (*obj));
   return *obj;
 }
 template 
@@ -211,11 +211,11 @@
   T * operator = (T *v_)   { return v = v_; }
   T * operator -> () const { return get (); }
   T & operator * () const  { return *get (); }
-  T ** operator & () const { return &v; }
+  T ** operator & () const { return std::addressof (v); }
   /* Only auto-cast to const types. */
   template  operator const C * () const { return get (); }
   operator const char * () const { return (const char *) get (); }
-  T * get () const { return v ? v : const_cast (&Null (T)); }
+  T * get () const { return v ? v : const_cast (std::addressof (Null (T))); }
   T * get_raw () const { return v; }
 
   private:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-number-parser.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-number-parser.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-number-parser.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-number-parser.hh	2024-04-08 05:38:38.000000000 +0000
@@ -31,7 +31,7 @@
 #include "hb.hh"
 
 
-#line 32 "hb-number-parser.hh"
+#line 35 "hb-number-parser.hh"
 static const unsigned char _double_parser_trans_keys[] = {
         0u, 0u, 43u, 57u, 46u, 57u, 48u, 57u, 43u, 57u, 48u, 57u, 48u, 101u, 48u, 57u,
         46u, 101u, 0
@@ -135,12 +135,12 @@
 
   int cs;
 
-#line 132 "hb-number-parser.hh"
+#line 139 "hb-number-parser.hh"
         {
         cs = double_parser_start;
         }
 
-#line 135 "hb-number-parser.hh"
+#line 144 "hb-number-parser.hh"
         {
         int _slen;
         int _trans;
@@ -198,7 +198,7 @@
           exp_overflow = true;
 }
         break;
-#line 187 "hb-number-parser.hh"
+#line 202 "hb-number-parser.hh"
         }
 
 _again:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-open-file.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-open-file.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-open-file.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-open-file.hh	2024-04-08 05:38:38.000000000 +0000
@@ -131,7 +131,7 @@
     sfnt_version = sfnt_tag;
     /* Take space for numTables, searchRange, entrySelector, RangeShift
      * and the TableRecords themselves.  */
-    unsigned num_items = it.len ();
+    unsigned num_items = hb_len (it);
     if (unlikely (!tables.serialize (c, num_items))) return_trace (false);
 
     const char *dir_end = (const char *) c->head;
@@ -145,7 +145,7 @@
       unsigned len = blob->length;
 
       /* Allocate room for the table and copy it. */
-      char *start = (char *) c->allocate_size (len);
+      char *start = (char *) c->allocate_size (len, false);
       if (unlikely (!start)) return false;
 
       TableRecord &rec = tables.arrayZ[i];
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-open-type.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-open-type.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-open-type.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-open-type.hh	2024-04-08 05:38:38.000000000 +0000
@@ -312,6 +312,8 @@
 template 
 struct OffsetTo : Offset
 {
+  using target_t = Type;
+
   // Make sure Type is not unbounded; works only for types that are fully defined at OffsetTo time.
   static_assert (has_null == false ||
                  (hb_has_null_size (Type) || !hb_has_min_size (Type)), "");
@@ -416,12 +418,15 @@
   {
     TRACE_SANITIZE (this);
     if (unlikely (!c->check_struct (this))) return_trace (false);
-    if (unlikely (this->is_null ())) return_trace (true);
+    //if (unlikely (this->is_null ())) return_trace (true);
     if (unlikely ((const char *) base + (unsigned) *this < (const char *) base)) return_trace (false);
     return_trace (true);
   }
 
   template 
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   bool sanitize (hb_sanitize_context_t *c, const void *base, Ts&&... ds) const
   {
     TRACE_SANITIZE (this);
@@ -462,24 +467,16 @@
 
   HB_DELETE_CREATE_COPY_ASSIGN (UnsizedArrayOf);
 
-  const Type& operator [] (int i_) const
+  const Type& operator [] (unsigned int i) const
   {
-    unsigned int i = (unsigned int) i_;
-    const Type *p = &arrayZ[i];
-    if (unlikely ((const void *) p < (const void *) arrayZ)) return Null (Type); /* Overflowed. */
-    _hb_compiler_memory_r_barrier ();
-    return *p;
+    return arrayZ[i];
   }
-  Type& operator [] (int i_)
+  Type& operator [] (unsigned int i)
   {
-    unsigned int i = (unsigned int) i_;
-    Type *p = &arrayZ[i];
-    if (unlikely ((const void *) p < (const void *) arrayZ)) return Crap (Type); /* Overflowed. */
-    _hb_compiler_memory_r_barrier ();
-    return *p;
+    return arrayZ[i];
   }
 
-  unsigned int get_size (unsigned int len) const
+  static unsigned int get_size (unsigned int len)
   { return len * Type::static_size; }
 
   template  operator T * () { return arrayZ; }
@@ -533,6 +530,7 @@
   }
 
   template 
+  HB_ALWAYS_INLINE
   bool sanitize (hb_sanitize_context_t *c, unsigned int count, Ts&&... ds) const
   {
     TRACE_SANITIZE (this);
@@ -721,6 +719,7 @@
   }
 
   template 
+  HB_ALWAYS_INLINE
   bool sanitize (hb_sanitize_context_t *c, Ts&&... ds) const
   {
     TRACE_SANITIZE (this);
@@ -736,7 +735,7 @@
   bool sanitize_shallow (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
-    return_trace (len.sanitize (c) && c->check_array (arrayZ, len));
+    return_trace (len.sanitize (c) && c->check_array_sized (arrayZ, len, sizeof (LenType)));
   }
 
   public:
@@ -797,7 +796,7 @@
 using List16OfOffset16To = List16OfOffsetTo;
 
 /* An array starting at second element. */
-template 
+template 
 struct HeadlessArrayOf
 {
   static constexpr unsigned item_size = Type::static_size;
@@ -861,6 +860,7 @@
   }
 
   template 
+  HB_ALWAYS_INLINE
   bool sanitize (hb_sanitize_context_t *c, Ts&&... ds) const
   {
     TRACE_SANITIZE (this);
@@ -878,7 +878,7 @@
   {
     TRACE_SANITIZE (this);
     return_trace (lenP1.sanitize (c) &&
-                  (!lenP1 || c->check_array (arrayZ, lenP1 - 1)));
+                  (!lenP1 || c->check_array_sized (arrayZ, lenP1 - 1, sizeof (LenType))));
   }
 
   public:
@@ -887,6 +887,7 @@
   public:
   DEFINE_SIZE_ARRAY (sizeof (LenType), arrayZ);
 };
+template  using HeadlessArray16Of = HeadlessArrayOf;
 
 /* An array storing length-1. */
 template 
@@ -912,6 +913,7 @@
   { return lenM1.static_size + (lenM1 + 1) * Type::static_size; }
 
   template 
+  HB_ALWAYS_INLINE
   bool sanitize (hb_sanitize_context_t *c, Ts&&... ds) const
   {
     TRACE_SANITIZE (this);
@@ -929,7 +931,7 @@
   {
     TRACE_SANITIZE (this);
     return_trace (lenM1.sanitize (c) &&
-                  (c->check_array (arrayZ, lenM1 + 1)));
+                  (c->check_array_sized (arrayZ, lenM1 + 1, sizeof (LenType))));
   }
 
   public:
@@ -1096,6 +1098,7 @@
   { return header.static_size + header.nUnits * header.unitSize; }
 
   template 
+  HB_ALWAYS_INLINE
   bool sanitize (hb_sanitize_context_t *c, Ts&&... ds) const
   {
     TRACE_SANITIZE (this);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -48,12 +48,24 @@
 
 struct code_pair_t
 {
-  hb_codepoint_t code;
+  unsigned code;
   hb_codepoint_t glyph;
 };
 
+
 using str_buff_t = hb_vector_t;
 using str_buff_vec_t = hb_vector_t;
+using glyph_to_sid_map_t = hb_vector_t;
+
+struct length_f_t
+{
+  template 
+  unsigned operator () (const Iterable &_) const { return hb_len (hb_iter (_)); }
+
+  unsigned operator () (unsigned _) const { return _; }
+}
+HB_FUNCOBJ (length_f);
 
 /* CFF INDEX */
 template 
@@ -62,42 +74,52 @@
   unsigned int offset_array_size () const
   { return offSize * (count + 1); }
 
-  CFFIndex *copy (hb_serialize_context_t *c) const
-  {
-    TRACE_SERIALIZE (this);
-    unsigned int size = get_size ();
-    CFFIndex *out = c->allocate_size (size, false);
-    if (likely (out))
-      hb_memcpy (out, this, size);
-    return_trace (out);
-  }
-
   template 
   bool serialize (hb_serialize_context_t *c,
-                  const Iterable &iterable)
+                  const Iterable &iterable,
+                  const unsigned *p_data_size = nullptr)
   {
     TRACE_SERIALIZE (this);
+    unsigned data_size;
+    if (p_data_size)
+      data_size = *p_data_size;
+    else
+      total_size (iterable, &data_size);
+
     auto it = hb_iter (iterable);
-    serialize_header(c, + it | hb_map (hb_iter) | hb_map (hb_len));
+    if (unlikely (!serialize_header (c, +it, data_size))) return_trace (false);
+    unsigned char *ret = c->allocate_size (data_size, false);
+    if (unlikely (!ret)) return_trace (false);
     for (const auto &_ : +it)
-      hb_iter (_).copy (c);
+    {
+      unsigned len = _.length;
+      if (!len)
+        continue;
+      if (len <= 1)
+      {
+        *ret++ = *_.arrayZ;
+        continue;
+      }
+      hb_memcpy (ret, _.arrayZ, len);
+      ret += len;
+    }
     return_trace (true);
   }
 
   template 
   bool serialize_header (hb_serialize_context_t *c,
-                        Iterator it)
+                         Iterator it,
+                         unsigned data_size)
   {
     TRACE_SERIALIZE (this);
 
-    unsigned total = + it | hb_reduce (hb_add, 0);
-    unsigned off_size = (hb_bit_storage (total + 1) + 7) / 8;
+    unsigned off_size = (hb_bit_storage (data_size + 1) + 7) / 8;
 
     /* serialize CFFIndex header */
     if (unlikely (!c->extend_min (this))) return_trace (false);
-    this->count = it.len ();
+    this->count = hb_len (it);
     if (!this->count) return_trace (true);
     if (unlikely (!c->extend (this->offSize))) return_trace (false);
     this->offSize = off_size;
@@ -106,25 +128,88 @@
 
     /* serialize indices */
     unsigned int offset = 1;
-    unsigned int i = 0;
-    for (unsigned _ : +it)
+    if (HB_OPTIMIZE_SIZE_VAL)
     {
-      set_offset_at (i++, offset);
-      offset += _;
+      unsigned int i = 0;
+      for (const auto &_ : +it)
+      {
+        set_offset_at (i++, offset);
+        offset += length_f (_);
+      }
+      set_offset_at (i, offset);
     }
-    set_offset_at (i, offset);
+    else
+      switch (off_size)
+      {
+        case 1:
+        {
+          HBUINT8 *p = (HBUINT8 *) offsets;
+          for (const auto &_ : +it)
+          {
+            *p++ = offset;
+            offset += length_f (_);
+          }
+          *p = offset;
+        }
+        break;
+        case 2:
+        {
+          HBUINT16 *p = (HBUINT16 *) offsets;
+          for (const auto &_ : +it)
+          {
+            *p++ = offset;
+            offset += length_f (_);
+          }
+          *p = offset;
+        }
+        break;
+        case 3:
+        {
+          HBUINT24 *p = (HBUINT24 *) offsets;
+          for (const auto &_ : +it)
+          {
+            *p++ = offset;
+            offset += length_f (_);
+          }
+          *p = offset;
+        }
+        break;
+        case 4:
+        {
+          HBUINT32 *p = (HBUINT32 *) offsets;
+          for (const auto &_ : +it)
+          {
+            *p++ = offset;
+            offset += length_f (_);
+          }
+          *p = offset;
+        }
+        break;
+        default:
+        break;
+      }
 
+    assert (offset == data_size + 1);
     return_trace (true);
   }
 
   template 
-  static unsigned total_size (const Iterable &iterable)
+  static unsigned total_size (const Iterable &iterable, unsigned *data_size = nullptr)
   {
-    auto it = + hb_iter (iterable) | hb_map (hb_iter) | hb_map (hb_len);
-    if (!it) return 0;
+    auto it = + hb_iter (iterable);
+    if (!it)
+    {
+      if (data_size) *data_size = 0;
+      return min_size;
+    }
+
+    unsigned total = 0;
+    for (const auto &_ : +it)
+      total += length_f (_);
+
+    if (data_size) *data_size = total;
 
-    unsigned total = + it | hb_reduce (hb_add, 0);
     unsigned off_size = (hb_bit_storage (total + 1) + 7) / 8;
 
     return min_size + HBUINT8::static_size + (hb_len (it) + 1) * off_size + total;
@@ -133,13 +218,16 @@
   void set_offset_at (unsigned int index, unsigned int offset)
   {
     assert (index <= count);
-    HBUINT8 *p = offsets + offSize * index + offSize;
+
     unsigned int size = offSize;
-    for (; size; size--)
+    const HBUINT8 *p = offsets;
+    switch (size)
     {
-      --p;
-      *p = offset & 0xFF;
-      offset >>= 8;
+      case 1: ((HBUINT8  *) p)[index] = offset; break;
+      case 2: ((HBUINT16 *) p)[index] = offset; break;
+      case 3: ((HBUINT24 *) p)[index] = offset; break;
+      case 4: ((HBUINT32 *) p)[index] = offset; break;
+      default: return;
     }
   }
 
@@ -149,37 +237,30 @@
     assert (index <= count);
 
     unsigned int size = offSize;
-    const HBUINT8 *p = offsets + size * index;
+    const HBUINT8 *p = offsets;
     switch (size)
     {
-      case 1: return * (HBUINT8  *) p;
-      case 2: return * (HBUINT16 *) p;
-      case 3: return * (HBUINT24 *) p;
-      case 4: return * (HBUINT32 *) p;
+      case 1: return ((HBUINT8  *) p)[index];
+      case 2: return ((HBUINT16 *) p)[index];
+      case 3: return ((HBUINT24 *) p)[index];
+      case 4: return ((HBUINT32 *) p)[index];
       default: return 0;
     }
   }
 
-  unsigned int length_at (unsigned int index) const
-  {
-    unsigned offset0 = offset_at (index);
-    unsigned offset1 = offset_at (index + 1);
-    if (unlikely (offset1 < offset0 || offset1 > offset_at (count)))
-      return 0;
-    return offset1 - offset0;
-  }
-
   const unsigned char *data_base () const
-  { return (const unsigned char *) this + min_size + offSize.static_size + offset_array_size (); }
+  { return (const unsigned char *) this + min_size + offSize.static_size - 1 + offset_array_size (); }
   public:
 
   hb_ubytes_t operator [] (unsigned int index) const
   {
     if (unlikely (index >= count)) return hb_ubytes_t ();
     _hb_compiler_memory_r_barrier ();
-    unsigned length = length_at (index);
-    if (unlikely (!length)) return hb_ubytes_t ();
-    return hb_ubytes_t (data_base () + offset_at (index) - 1, length);
+    unsigned offset0 = offset_at (index);
+    unsigned offset1 = offset_at (index + 1);
+    if (unlikely (offset1 < offset0 || offset1 > offset_at (count)))
+      return hb_ubytes_t ();
+    return hb_ubytes_t (data_base () + offset0, offset1 - offset0);
   }
 
   unsigned int get_size () const
@@ -197,7 +278,7 @@
                            (count < count + 1u &&
                             c->check_struct (&offSize) && offSize >= 1 && offSize <= 4 &&
                             c->check_array (offsets, offSize, count + 1u) &&
-                            c->check_array ((const HBUINT8*) data_base (), 1, offset_at (count) - 1)))));
+                            c->check_array ((const HBUINT8*) data_base (), 1, offset_at (count))))));
   }
 
   public:
@@ -211,47 +292,6 @@
   DEFINE_SIZE_MIN (COUNT::static_size);
 };
 
-template 
-struct CFFIndexOf : CFFIndex
-{
-  template 
-  bool serialize (hb_serialize_context_t *c,
-                  unsigned int offSize_,
-                  const DATA *dataArray,
-                  unsigned int dataArrayLen,
-                  const hb_vector_t &dataSizeArray,
-                  const PARAM1 ¶m1,
-                  const PARAM2 ¶m2)
-  {
-    TRACE_SERIALIZE (this);
-    /* serialize CFFIndex header */
-    if (unlikely (!c->extend_min (this))) return_trace (false);
-    this->count = dataArrayLen;
-    this->offSize = offSize_;
-    if (unlikely (!c->allocate_size (offSize_ * (dataArrayLen + 1), false)))
-      return_trace (false);
-
-    /* serialize indices */
-    unsigned int  offset = 1;
-    unsigned int  i = 0;
-    for (; i < dataArrayLen; i++)
-    {
-      this->set_offset_at (i, offset);
-      offset += dataSizeArray[i];
-    }
-    this->set_offset_at (i, offset);
-
-    /* serialize data */
-    for (unsigned int i = 0; i < dataArrayLen; i++)
-    {
-      TYPE *dest = c->start_embed ();
-      if (unlikely (!dest || !dest->serialize (c, dataArray[i], param1, param2)))
-        return_trace (false);
-    }
-    return_trace (true);
-  }
-};
-
 /* Top Dict, Font Dict, Private Dict */
 struct Dict : UnsizedByteStr
 {
@@ -327,7 +367,7 @@
 };
 
 template 
-struct FDArray : CFFIndexOf
+struct FDArray : CFFIndex
 {
   template 
   bool serialize (hb_serialize_context_t *c,
@@ -338,7 +378,11 @@
 
     /* serialize INDEX data */
     hb_vector_t sizes;
+    if (it.is_random_access_iterator)
+      sizes.alloc (hb_len (it));
+
     c->push ();
+    char *data_base = c->head;
     + it
     | hb_map ([&] (const hb_pair_t &_)
     {
@@ -348,10 +392,16 @@
               })
     | hb_sink (sizes)
     ;
+    unsigned data_size = c->head - data_base;
     c->pop_pack (false);
 
+    if (unlikely (sizes.in_error ())) return_trace (false);
+
+    /* It just happens that the above is packed right after the header below.
+     * Such a hack. */
+
     /* serialize INDEX header */
-    return_trace (CFFIndex::serialize_header (c, hb_iter (sizes)));
+    return_trace (CFFIndex::serialize_header (c, hb_iter (sizes), data_size));
   }
 };
 
@@ -368,8 +418,11 @@
     return_trace (true);
   }
 
-  hb_codepoint_t get_fd (hb_codepoint_t glyph) const
-  { return (hb_codepoint_t) fds[glyph]; }
+  unsigned get_fd (hb_codepoint_t glyph) const
+  { return fds[glyph]; }
+
+  hb_pair_t get_fd_range (hb_codepoint_t glyph) const
+  { return {fds[glyph], glyph + 1}; }
 
   unsigned int get_size (unsigned int num_glyphs) const
   { return HBUINT8::static_size * num_glyphs; }
@@ -427,12 +480,20 @@
     return +1;
   }
 
-  hb_codepoint_t get_fd (hb_codepoint_t glyph) const
+  unsigned get_fd (hb_codepoint_t glyph) const
   {
     auto *range = hb_bsearch (glyph, &ranges[0], nRanges () - 1, sizeof (ranges[0]), _cmp_range);
     return range ? range->fd : ranges[nRanges () - 1].fd;
   }
 
+  hb_pair_t get_fd_range (hb_codepoint_t glyph) const
+  {
+    auto *range = hb_bsearch (glyph, &ranges[0], nRanges () - 1, sizeof (ranges[0]), _cmp_range);
+    unsigned fd = range ? range->fd : ranges[nRanges () - 1].fd;
+    hb_codepoint_t end = range ? range[1].first : ranges[nRanges () - 1].first;
+    return {fd, end};
+  }
+
   GID_TYPE        &nRanges ()       { return ranges.len; }
   GID_TYPE         nRanges () const { return ranges.len; }
   GID_TYPE       &sentinel ()       { return StructAfter (ranges[nRanges () - 1]); }
@@ -469,7 +530,7 @@
     }
   }
 
-  hb_codepoint_t get_fd (hb_codepoint_t glyph) const
+  unsigned get_fd (hb_codepoint_t glyph) const
   {
     if (this == &Null (FDSelect)) return 0;
 
@@ -480,6 +541,18 @@
     default:return 0;
     }
   }
+  /* Returns pair of fd and one after last glyph in range. */
+  hb_pair_t get_fd_range (hb_codepoint_t glyph) const
+  {
+    if (this == &Null (FDSelect)) return {0, 1};
+
+    switch (format)
+    {
+    case 0: return u.format0.get_fd_range (glyph);
+    case 3: return u.format3.get_fd_range (glyph);
+    default:return {0, 1};
+    }
+  }
 
   bool sanitize (hb_sanitize_context_t *c, unsigned int fdcount) const
   {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc	2024-04-08 05:38:38.000000000 +0000
@@ -574,11 +574,11 @@
 
 struct get_seac_param_t
 {
-  get_seac_param_t (const OT::cff1::accelerator_t *_cff) : cff (_cff) {}
+  get_seac_param_t (const OT::cff1::accelerator_subset_t *_cff) : cff (_cff) {}
 
   bool has_seac () const { return base && accent; }
 
-  const OT::cff1::accelerator_t *cff;
+  const OT::cff1::accelerator_subset_t *cff;
   hb_codepoint_t  base = 0;
   hb_codepoint_t  accent = 0;
 };
@@ -596,7 +596,7 @@
   }
 };
 
-bool OT::cff1::accelerator_t::get_seac_components (hb_codepoint_t glyph, hb_codepoint_t *base, hb_codepoint_t *accent) const
+bool OT::cff1::accelerator_subset_t::get_seac_components (hb_codepoint_t glyph, hb_codepoint_t *base, hb_codepoint_t *accent) const
 {
   if (unlikely (!is_valid () || (glyph >= num_glyphs))) return false;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -28,7 +28,7 @@
 #define HB_OT_CFF1_TABLE_HH
 
 #include "hb-ot-cff-common.hh"
-#include "hb-subset-cff1.hh"
+#include "hb-subset-cff-common.hh"
 #include "hb-draw.hh"
 #include "hb-paint.hh"
 
@@ -44,7 +44,7 @@
  * CFF -- Compact Font Format (CFF)
  * https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5176.CFF.pdf
  */
-#define HB_OT_TAG_cff1 HB_TAG('C','F','F',' ')
+#define HB_OT_TAG_CFF1 HB_TAG('C','F','F',' ')
 
 #define CFF_UNDEF_SID   CFF_UNDEF_CODE
 
@@ -52,7 +52,6 @@
 enum CharsetID { ISOAdobeCharset = 0, ExpertCharset = 1, ExpertSubsetCharset = 2 };
 
 typedef CFFIndex  CFF1Index;
-template  struct CFF1IndexOf : CFFIndexOf {};
 
 typedef CFFIndex CFF1Index;
 typedef CFF1Index          CFF1CharStrings;
@@ -110,6 +109,7 @@
 
   hb_codepoint_t get_code (hb_codepoint_t glyph) const
   {
+    /* TODO: Add cache like get_sid. */
     assert (glyph > 0);
     glyph--;
     for (unsigned int i = 0; i < nRanges (); i++)
@@ -173,11 +173,7 @@
   bool serialize (hb_serialize_context_t *c, const Encoding &src)
   {
     TRACE_SERIALIZE (this);
-    unsigned int size = src.get_size ();
-    Encoding *dest = c->allocate_size (size);
-    if (unlikely (!dest)) return_trace (false);
-    hb_memcpy (dest, &src, size);
-    return_trace (true);
+    return_trace (c->embed (src));
   }
 
   /* serialize a subset Encoding */
@@ -312,26 +308,29 @@
 };
 
 /* Charset */
-struct Charset0 {
-  bool sanitize (hb_sanitize_context_t *c, unsigned int num_glyphs) const
+struct Charset0
+{
+  bool sanitize (hb_sanitize_context_t *c, unsigned int num_glyphs, unsigned *num_charset_entries) const
   {
     TRACE_SANITIZE (this);
-    return_trace (c->check_struct (this) && sids[num_glyphs - 1].sanitize (c));
+    if (num_charset_entries) *num_charset_entries = num_glyphs;
+    return_trace (sids.sanitize (c, num_glyphs - 1));
   }
 
   hb_codepoint_t get_sid (hb_codepoint_t glyph, unsigned num_glyphs) const
   {
     if (unlikely (glyph >= num_glyphs)) return 0;
-    if (glyph == 0)
+    if (unlikely (glyph == 0))
       return 0;
     else
       return sids[glyph - 1];
   }
 
-  void collect_glyph_to_sid_map (hb_map_t *mapping, unsigned int num_glyphs) const
+  void collect_glyph_to_sid_map (glyph_to_sid_map_t *mapping, unsigned int num_glyphs) const
   {
+    mapping->resize (num_glyphs, false);
     for (hb_codepoint_t gid = 1; gid < num_glyphs; gid++)
-      mapping->set (gid, sids[gid - 1]);
+      mapping->arrayZ[gid] = {sids[gid - 1], gid};
   }
 
   hb_codepoint_t get_glyph (hb_codepoint_t sid, unsigned int num_glyphs) const
@@ -347,13 +346,13 @@
     return 0;
   }
 
-  unsigned int get_size (unsigned int num_glyphs) const
+  static unsigned int get_size (unsigned int num_glyphs)
   {
     assert (num_glyphs > 0);
-    return HBUINT16::static_size * (num_glyphs - 1);
+    return UnsizedArrayOf::get_size (num_glyphs - 1);
   }
 
-  HBUINT16  sids[HB_VAR_ARRAY];
+  UnsizedArrayOf sids;
 
   DEFINE_SIZE_ARRAY(0, sids);
 };
@@ -374,38 +373,62 @@
 
 template 
 struct Charset1_2 {
-  bool sanitize (hb_sanitize_context_t *c, unsigned int num_glyphs) const
+  bool sanitize (hb_sanitize_context_t *c, unsigned int num_glyphs, unsigned *num_charset_entries) const
   {
     TRACE_SANITIZE (this);
     if (unlikely (!c->check_struct (this)))
       return_trace (false);
     num_glyphs--;
-    for (unsigned int i = 0; num_glyphs > 0; i++)
+    unsigned i;
+    for (i = 0; num_glyphs > 0; i++)
     {
       if (unlikely (!ranges[i].sanitize (c) || (num_glyphs < ranges[i].nLeft + 1)))
         return_trace (false);
       num_glyphs -= (ranges[i].nLeft + 1);
     }
+    if (num_charset_entries)
+      *num_charset_entries = i;
     return_trace (true);
   }
 
-  hb_codepoint_t get_sid (hb_codepoint_t glyph, unsigned num_glyphs) const
+  hb_codepoint_t get_sid (hb_codepoint_t glyph, unsigned num_glyphs,
+                          code_pair_t *cache = nullptr) const
   {
     if (unlikely (glyph >= num_glyphs)) return 0;
-    if (glyph == 0) return 0;
-    glyph--;
-    for (unsigned int i = 0;; i++)
+    unsigned i;
+    hb_codepoint_t start_glyph;
+    if (cache && likely (cache->glyph <= glyph))
     {
-      if (glyph <= ranges[i].nLeft)
-        return (hb_codepoint_t) ranges[i].first + glyph;
-      glyph -= (ranges[i].nLeft + 1);
+      i = cache->code;
+      start_glyph = cache->glyph;
+    }
+    else
+    {
+      if (unlikely (glyph == 0)) return 0;
+      i = 0;
+      start_glyph = 1;
+    }
+    glyph -= start_glyph;
+    for (;; i++)
+    {
+      unsigned count = ranges[i].nLeft;
+      if (glyph <= count)
+      {
+        if (cache)
+          *cache = {i, start_glyph};
+        return ranges[i].first + glyph;
+      }
+      count++;
+      start_glyph += count;
+      glyph -= count;
     }
 
     return 0;
   }
 
-  void collect_glyph_to_sid_map (hb_map_t *mapping, unsigned int num_glyphs) const
+  void collect_glyph_to_sid_map (glyph_to_sid_map_t *mapping, unsigned int num_glyphs) const
   {
+    mapping->resize (num_glyphs, false);
     hb_codepoint_t gid = 1;
     if (gid >= num_glyphs)
       return;
@@ -413,8 +436,9 @@
     {
       hb_codepoint_t sid = ranges[i].first;
       unsigned count = ranges[i].nLeft + 1;
+      unsigned last = gid + count;
       for (unsigned j = 0; j < count; j++)
-        mapping->set (gid++, sid++);
+        mapping->arrayZ[gid++] = {sid++, last - 1};
 
       if (gid >= num_glyphs)
         break;
@@ -439,21 +463,26 @@
 
   unsigned int get_size (unsigned int num_glyphs) const
   {
-    unsigned int size = HBUINT8::static_size;
-    int glyph = (int)num_glyphs;
+    int glyph = (int) num_glyphs;
+    unsigned num_ranges = 0;
 
     assert (glyph > 0);
     glyph--;
     for (unsigned int i = 0; glyph > 0; i++)
     {
       glyph -= (ranges[i].nLeft + 1);
-      size += Charset_Range::static_size;
+      num_ranges++;
     }
 
-    return size;
+    return get_size_for_ranges (num_ranges);
+  }
+
+  static unsigned int get_size_for_ranges (unsigned int num_ranges)
+  {
+    return UnsizedArrayOf >::get_size (num_ranges);
   }
 
-  Charset_Range   ranges[HB_VAR_ARRAY];
+  UnsizedArrayOf> ranges;
 
   DEFINE_SIZE_ARRAY (0, ranges);
 };
@@ -469,11 +498,7 @@
   bool serialize (hb_serialize_context_t *c, const Charset &src, unsigned int num_glyphs)
   {
     TRACE_SERIALIZE (this);
-    unsigned int size = src.get_size (num_glyphs);
-    Charset *dest = c->allocate_size (size);
-    if (unlikely (!dest)) return_trace (false);
-    hb_memcpy (dest, &src, size);
-    return_trace (true);
+    return_trace (c->embed ((const char *) &src, src.get_size (num_glyphs)));
   }
 
   /* serialize a subset Charset */
@@ -490,13 +515,13 @@
     {
     case 0:
     {
-      Charset0 *fmt0 = c->allocate_size (Charset0::min_size + HBUINT16::static_size * (num_glyphs - 1));
+      Charset0 *fmt0 = c->allocate_size (Charset0::get_size (num_glyphs), false);
       if (unlikely (!fmt0)) return_trace (false);
       unsigned int glyph = 0;
       for (unsigned int i = 0; i < sid_ranges.length; i++)
       {
-        hb_codepoint_t sid = sid_ranges[i].code;
-        for (int left = (int)sid_ranges[i].glyph; left >= 0; left--)
+        hb_codepoint_t sid = sid_ranges.arrayZ[i].code;
+        for (int left = (int)sid_ranges.arrayZ[i].glyph; left >= 0; left--)
           fmt0->sids[glyph++] = sid++;
       }
     }
@@ -504,29 +529,35 @@
 
     case 1:
     {
-      Charset1 *fmt1 = c->allocate_size (Charset1::min_size + Charset1_Range::static_size * sid_ranges.length);
+      Charset1 *fmt1 = c->allocate_size (Charset1::get_size_for_ranges (sid_ranges.length), false);
       if (unlikely (!fmt1)) return_trace (false);
+      hb_codepoint_t all_glyphs = 0;
       for (unsigned int i = 0; i < sid_ranges.length; i++)
       {
-        if (unlikely (!(sid_ranges[i].glyph <= 0xFF)))
-          return_trace (false);
-        fmt1->ranges[i].first = sid_ranges[i].code;
-        fmt1->ranges[i].nLeft = sid_ranges[i].glyph;
+        auto &_ = sid_ranges.arrayZ[i];
+        all_glyphs |= _.glyph;
+        fmt1->ranges[i].first = _.code;
+        fmt1->ranges[i].nLeft = _.glyph;
       }
+      if (unlikely (!(all_glyphs <= 0xFF)))
+        return_trace (false);
     }
     break;
 
     case 2:
     {
-      Charset2 *fmt2 = c->allocate_size (Charset2::min_size + Charset2_Range::static_size * sid_ranges.length);
+      Charset2 *fmt2 = c->allocate_size (Charset2::get_size_for_ranges (sid_ranges.length), false);
       if (unlikely (!fmt2)) return_trace (false);
+      hb_codepoint_t all_glyphs = 0;
       for (unsigned int i = 0; i < sid_ranges.length; i++)
       {
-        if (unlikely (!(sid_ranges[i].glyph <= 0xFFFF)))
-          return_trace (false);
-        fmt2->ranges[i].first = sid_ranges[i].code;
-        fmt2->ranges[i].nLeft = sid_ranges[i].glyph;
+        auto &_ = sid_ranges.arrayZ[i];
+        all_glyphs |= _.glyph;
+        fmt2->ranges[i].first = _.code;
+        fmt2->ranges[i].nLeft = _.glyph;
       }
+      if (unlikely (!(all_glyphs <= 0xFFFF)))
+        return_trace (false);
     }
     break;
 
@@ -545,18 +576,19 @@
     }
   }
 
-  hb_codepoint_t get_sid (hb_codepoint_t glyph, unsigned int num_glyphs) const
+  hb_codepoint_t get_sid (hb_codepoint_t glyph, unsigned int num_glyphs,
+                          code_pair_t *cache = nullptr) const
   {
     switch (format)
     {
     case 0: return u.format0.get_sid (glyph, num_glyphs);
-    case 1: return u.format1.get_sid (glyph, num_glyphs);
-    case 2: return u.format2.get_sid (glyph, num_glyphs);
+    case 1: return u.format1.get_sid (glyph, num_glyphs, cache);
+    case 2: return u.format2.get_sid (glyph, num_glyphs, cache);
     default:return 0;
     }
   }
 
-  void collect_glyph_to_sid_map (hb_map_t *mapping, unsigned int num_glyphs) const
+  void collect_glyph_to_sid_map (glyph_to_sid_map_t *mapping, unsigned int num_glyphs) const
   {
     switch (format)
     {
@@ -578,7 +610,7 @@
     }
   }
 
-  bool sanitize (hb_sanitize_context_t *c) const
+  bool sanitize (hb_sanitize_context_t *c, unsigned *num_charset_entries) const
   {
     TRACE_SANITIZE (this);
     if (unlikely (!c->check_struct (this)))
@@ -586,9 +618,9 @@
 
     switch (format)
     {
-    case 0: return_trace (u.format0.sanitize (c, c->get_num_glyphs ()));
-    case 1: return_trace (u.format1.sanitize (c, c->get_num_glyphs ()));
-    case 2: return_trace (u.format2.sanitize (c, c->get_num_glyphs ()));
+    case 0: return_trace (u.format0.sanitize (c, c->get_num_glyphs (), num_charset_entries));
+    case 1: return_trace (u.format1.sanitize (c, c->get_num_glyphs (), num_charset_entries));
+    case 2: return_trace (u.format2.sanitize (c, c->get_num_glyphs (), num_charset_entries));
     default:return_trace (false);
     }
   }
@@ -606,10 +638,10 @@
 struct CFF1StringIndex : CFF1Index
 {
   bool serialize (hb_serialize_context_t *c, const CFF1StringIndex &strings,
-                  const hb_inc_bimap_t &sidmap)
+                  const hb_vector_t &sidmap)
   {
     TRACE_SERIALIZE (this);
-    if (unlikely ((strings.count == 0) || (sidmap.get_population () == 0)))
+    if (unlikely ((strings.count == 0) || (sidmap.length == 0)))
     {
       if (unlikely (!c->extend_min (this->count)))
         return_trace (false);
@@ -617,15 +649,13 @@
       return_trace (true);
     }
 
-    byte_str_array_t bytesArray;
-    if (!bytesArray.resize (sidmap.get_population ()))
-      return_trace (false);
-    for (unsigned int i = 0; i < strings.count; i++)
-    {
-      hb_codepoint_t  j = sidmap[i];
-      if (j != HB_MAP_VALUE_INVALID)
-        bytesArray[j] = strings[i];
-    }
+    if (unlikely (sidmap.in_error ())) return_trace (false);
+
+    // Save this in a vector since serialize() iterates it twice.
+    hb_vector_t bytesArray (+ hb_iter (sidmap)
+                                         | hb_map (strings));
+
+    if (unlikely (bytesArray.in_error ())) return_trace (false);
 
     bool result = CFF1Index::serialize (c, bytesArray);
     return_trace (result);
@@ -932,7 +962,7 @@
   }
 };
 
-struct cff1_private_dict_opset_subset : dict_opset_t
+struct cff1_private_dict_opset_subset_t : dict_opset_t
 {
   static void process_op (op_code_t op, num_interp_env_t& env, cff1_private_dict_values_subset_t& dictval)
   {
@@ -978,7 +1008,7 @@
 typedef dict_interpreter_t cff1_font_dict_interpreter_t;
 
 typedef CFF1Index CFF1NameIndex;
-typedef CFF1IndexOf CFF1TopDictIndex;
+typedef CFF1Index CFF1TopDictIndex;
 
 struct cff1_font_dict_values_mod_t
 {
@@ -1019,7 +1049,7 @@
 
 struct cff1
 {
-  static constexpr hb_tag_t tableTag = HB_OT_TAG_cff1;
+  static constexpr hb_tag_t tableTag = HB_OT_TAG_CFF1;
 
   bool sanitize (hb_sanitize_context_t *c) const
   {
@@ -1031,8 +1061,12 @@
   template 
   struct accelerator_templ_t
   {
-    void init (hb_face_t *face)
+    static constexpr hb_tag_t tableTag = cff1::tableTag;
+
+    accelerator_templ_t (hb_face_t *face)
     {
+      if (!face) return;
+
       topDict.init ();
       fontDicts.init ();
       privateDicts.init ();
@@ -1046,22 +1080,22 @@
       const OT::cff1 *cff = this->blob->template as ();
 
       if (cff == &Null (OT::cff1))
-      { fini (); return; }
+        goto fail;
 
       nameIndex = &cff->nameIndex (cff);
       if ((nameIndex == &Null (CFF1NameIndex)) || !nameIndex->sanitize (&sc))
-      { fini (); return; }
+        goto fail;
 
       topDictIndex = &StructAtOffset (nameIndex, nameIndex->get_size ());
       if ((topDictIndex == &Null (CFF1TopDictIndex)) || !topDictIndex->sanitize (&sc) || (topDictIndex->count == 0))
-      { fini (); return; }
+        goto fail;
 
       { /* parse top dict */
         const hb_ubytes_t topDictStr = (*topDictIndex)[0];
-        if (unlikely (!topDictStr.sanitize (&sc))) { fini (); return; }
+        if (unlikely (!topDictStr.sanitize (&sc)))   goto fail;
         cff1_top_dict_interp_env_t env (topDictStr);
         cff1_top_dict_interpreter_t top_interp (env);
-        if (unlikely (!top_interp.interpret (topDict))) { fini (); return; }
+        if (unlikely (!top_interp.interpret (topDict)))   goto fail;
       }
 
       if (is_predef_charset ())
@@ -1069,7 +1103,7 @@
       else
       {
         charset = &StructAtOffsetOrNull (cff, topDict.CharsetOffset);
-        if (unlikely ((charset == &Null (Charset)) || !charset->sanitize (&sc))) { fini (); return; }
+        if (unlikely ((charset == &Null (Charset)) || !charset->sanitize (&sc, &num_charset_entries)))   goto fail;
       }
 
       fdCount = 1;
@@ -1079,7 +1113,7 @@
         fdSelect = &StructAtOffsetOrNull (cff, topDict.FDSelectOffset);
         if (unlikely ((fdArray == &Null (CFF1FDArray)) || !fdArray->sanitize (&sc) ||
             (fdSelect == &Null (CFF1FDSelect)) || !fdSelect->sanitize (&sc, fdArray->count)))
-        { fini (); return; }
+          goto fail;
 
         fdCount = fdArray->count;
       }
@@ -1092,36 +1126,36 @@
       encoding = &Null (Encoding);
       if (is_CID ())
       {
-        if (unlikely (charset == &Null (Charset))) { fini (); return; }
+        if (unlikely (charset == &Null (Charset)))   goto fail;
       }
       else
       {
         if (!is_predef_encoding ())
         {
           encoding = &StructAtOffsetOrNull (cff, topDict.EncodingOffset);
-          if (unlikely ((encoding == &Null (Encoding)) || !encoding->sanitize (&sc))) { fini (); return; }
+          if (unlikely ((encoding == &Null (Encoding)) || !encoding->sanitize (&sc)))   goto fail;
         }
       }
 
       stringIndex = &StructAtOffset (topDictIndex, topDictIndex->get_size ());
       if ((stringIndex == &Null (CFF1StringIndex)) || !stringIndex->sanitize (&sc))
-      { fini (); return; }
+        goto fail;
 
       globalSubrs = &StructAtOffset (stringIndex, stringIndex->get_size ());
       if ((globalSubrs != &Null (CFF1Subrs)) && !globalSubrs->sanitize (&sc))
-      { fini (); return; }
+        goto fail;
 
       charStrings = &StructAtOffsetOrNull (cff, topDict.charStringsOffset);
 
       if ((charStrings == &Null (CFF1CharStrings)) || unlikely (!charStrings->sanitize (&sc)))
-      { fini (); return; }
+        goto fail;
 
       num_glyphs = charStrings->count;
       if (num_glyphs != sc.get_num_glyphs ())
-      { fini (); return; }
+        goto fail;
 
       if (unlikely (!privateDicts.resize (fdCount)))
-      { fini (); return; }
+        goto fail;
       for (unsigned int i = 0; i < fdCount; i++)
         privateDicts[i].init ();
 
@@ -1131,27 +1165,27 @@
         for (unsigned int i = 0; i < fdCount; i++)
         {
           hb_ubytes_t fontDictStr = (*fdArray)[i];
-          if (unlikely (!fontDictStr.sanitize (&sc))) { fini (); return; }
+          if (unlikely (!fontDictStr.sanitize (&sc)))   goto fail;
           cff1_font_dict_values_t *font;
           cff1_top_dict_interp_env_t env (fontDictStr);
           cff1_font_dict_interpreter_t font_interp (env);
           font = fontDicts.push ();
-          if (unlikely (fontDicts.in_error ())) { fini (); return; }
+          if (unlikely (fontDicts.in_error ()))   goto fail;
 
           font->init ();
-          if (unlikely (!font_interp.interpret (*font))) { fini (); return; }
+          if (unlikely (!font_interp.interpret (*font)))   goto fail;
           PRIVDICTVAL *priv = &privateDicts[i];
           const hb_ubytes_t privDictStr = StructAtOffset (cff, font->privateDictInfo.offset).as_ubytes (font->privateDictInfo.size);
-          if (unlikely (!privDictStr.sanitize (&sc))) { fini (); return; }
+          if (unlikely (!privDictStr.sanitize (&sc)))   goto fail;
           num_interp_env_t env2 (privDictStr);
           dict_interpreter_t priv_interp (env2);
           priv->init ();
-          if (unlikely (!priv_interp.interpret (*priv))) { fini (); return; }
+          if (unlikely (!priv_interp.interpret (*priv)))   goto fail;
 
           priv->localSubrs = &StructAtOffsetOrNull (&privDictStr, priv->subrsOffset);
           if (priv->localSubrs != &Null (CFF1Subrs) &&
               unlikely (!priv->localSubrs->sanitize (&sc)))
-          { fini (); return; }
+            goto fail;
         }
       }
       else  /* non-CID */
@@ -1160,20 +1194,25 @@
         PRIVDICTVAL *priv = &privateDicts[0];
 
         const hb_ubytes_t privDictStr = StructAtOffset (cff, font->privateDictInfo.offset).as_ubytes (font->privateDictInfo.size);
-        if (unlikely (!privDictStr.sanitize (&sc))) { fini (); return; }
+        if (unlikely (!privDictStr.sanitize (&sc)))   goto fail;
         num_interp_env_t env (privDictStr);
         dict_interpreter_t priv_interp (env);
         priv->init ();
-        if (unlikely (!priv_interp.interpret (*priv))) { fini (); return; }
+        if (unlikely (!priv_interp.interpret (*priv)))   goto fail;
 
         priv->localSubrs = &StructAtOffsetOrNull (&privDictStr, priv->subrsOffset);
         if (priv->localSubrs != &Null (CFF1Subrs) &&
             unlikely (!priv->localSubrs->sanitize (&sc)))
-        { fini (); return; }
+          goto fail;
       }
-    }
 
-    void fini ()
+      return;
+
+      fail:
+        _fini ();
+    }
+    ~accelerator_templ_t () { _fini (); }
+    void _fini ()
     {
       sc.end_processing ();
       topDict.fini ();
@@ -1183,6 +1222,8 @@
       blob = nullptr;
     }
 
+    hb_blob_t *get_blob () const { return blob; }
+
     bool is_valid () const { return blob; }
     bool   is_CID () const { return topDict.is_CID (); }
 
@@ -1203,13 +1244,14 @@
 
     bool is_predef_encoding () const { return topDict.EncodingOffset <= ExpertEncoding; }
 
-    hb_codepoint_t glyph_to_code (hb_codepoint_t glyph) const
+    hb_codepoint_t glyph_to_code (hb_codepoint_t glyph,
+                                  code_pair_t *glyph_to_sid_cache = nullptr) const
     {
       if (encoding != &Null (Encoding))
         return encoding->get_code (glyph);
       else
       {
-        hb_codepoint_t sid = glyph_to_sid (glyph);
+        hb_codepoint_t sid = glyph_to_sid (glyph, glyph_to_sid_cache);
         if (sid == 0) return 0;
         hb_codepoint_t code = 0;
         switch (topDict.EncodingOffset)
@@ -1227,12 +1269,14 @@
       }
     }
 
-    hb_map_t *create_glyph_to_sid_map () const
+    glyph_to_sid_map_t *create_glyph_to_sid_map () const
     {
       if (charset != &Null (Charset))
       {
-        hb_map_t *mapping = hb_map_create ();
-        mapping->set (0, 0);
+        auto *mapping = (glyph_to_sid_map_t *) hb_malloc (sizeof (glyph_to_sid_map_t));
+        if (unlikely (!mapping)) return nullptr;
+        mapping = new (mapping) glyph_to_sid_map_t ();
+        mapping->push (code_pair_t {0, 1});
         charset->collect_glyph_to_sid_map (mapping, num_glyphs);
         return mapping;
       }
@@ -1240,10 +1284,11 @@
         return nullptr;
     }
 
-    hb_codepoint_t glyph_to_sid (hb_codepoint_t glyph) const
+    hb_codepoint_t glyph_to_sid (hb_codepoint_t glyph,
+                                 code_pair_t *cache = nullptr) const
     {
       if (charset != &Null (Charset))
-        return charset->get_sid (glyph, num_glyphs);
+        return charset->get_sid (glyph, num_glyphs, cache);
       else
       {
         hb_codepoint_t sid = 0;
@@ -1312,19 +1357,17 @@
     hb_vector_t privateDicts;
 
     unsigned int             num_glyphs = 0;
+    unsigned int             num_charset_entries = 0;
   };
 
   struct accelerator_t : accelerator_templ_t
   {
-    accelerator_t (hb_face_t *face)
+    accelerator_t (hb_face_t *face) : SUPER (face)
     {
-      SUPER::init (face);
-
       glyph_names.set_relaxed (nullptr);
 
       if (!is_valid ()) return;
       if (is_CID ()) return;
-
     }
     ~accelerator_t ()
     {
@@ -1334,8 +1377,6 @@
         names->fini ();
         hb_free (names);
       }
-
-      SUPER::fini ();
     }
 
     bool get_glyph_name (hb_codepoint_t glyph,
@@ -1386,9 +1427,10 @@
           /* TODO */
 
           /* fill glyph names */
+          code_pair_t glyph_to_sid_cache {0, HB_CODEPOINT_INVALID};
           for (hb_codepoint_t gid = 0; gid < num_glyphs; gid++)
           {
-            hb_codepoint_t      sid = glyph_to_sid (gid);
+            hb_codepoint_t      sid = glyph_to_sid (gid, &glyph_to_sid_cache);
             gname_t     gname;
             gname.sid = sid;
             if (sid < cff1_std_strings_length)
@@ -1426,7 +1468,6 @@
 
     HB_INTERNAL bool get_extents (hb_font_t *font, hb_codepoint_t glyph, hb_glyph_extents_t *extents) const;
     HB_INTERNAL bool paint_glyph (hb_font_t *font, hb_codepoint_t glyph, hb_paint_funcs_t *funcs, void *data, hb_color_t foreground) const;
-    HB_INTERNAL bool get_seac_components (hb_codepoint_t glyph, hb_codepoint_t *base, hb_codepoint_t *accent) const;
     HB_INTERNAL bool get_path (hb_font_t *font, hb_codepoint_t glyph, hb_draw_session_t &draw_session) const;
 
     private:
@@ -1453,9 +1494,24 @@
     typedef accelerator_templ_t SUPER;
   };
 
-  struct accelerator_subset_t : accelerator_templ_t {};
+  struct accelerator_subset_t : accelerator_templ_t
+  {
+    accelerator_subset_t (hb_face_t *face) : SUPER (face) {}
+    ~accelerator_subset_t ()
+    {
+      if (cff_accelerator)
+        cff_subset_accelerator_t::destroy (cff_accelerator);
+    }
+
+    HB_INTERNAL bool subset (hb_subset_context_t *c) const;
+    HB_INTERNAL bool serialize (hb_serialize_context_t *c,
+                                struct cff1_subset_plan &plan) const;
+    HB_INTERNAL bool get_seac_components (hb_codepoint_t glyph, hb_codepoint_t *base, hb_codepoint_t *accent) const;
+
+    mutable CFF::cff_subset_accelerator_t* cff_accelerator = nullptr;
 
-  bool subset (hb_subset_context_t *c) const { return hb_subset_cff1 (c); }
+    typedef accelerator_templ_t SUPER;
+  };
 
   protected:
   HB_INTERNAL static hb_codepoint_t lookup_standard_encoding_for_code (hb_codepoint_t sid);
@@ -1479,6 +1535,10 @@
   cff1_accelerator_t (hb_face_t *face) : cff1::accelerator_t (face) {}
 };
 
+struct cff1_subset_accelerator_t : cff1::accelerator_subset_t {
+  cff1_subset_accelerator_t (hb_face_t *face) : cff1::accelerator_subset_t (face) {}
+};
+
 } /* namespace OT */
 
 #endif /* HB_OT_CFF1_TABLE_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -28,7 +28,7 @@
 #define HB_OT_CFF2_TABLE_HH
 
 #include "hb-ot-cff-common.hh"
-#include "hb-subset-cff2.hh"
+#include "hb-subset-cff-common.hh"
 #include "hb-draw.hh"
 #include "hb-paint.hh"
 
@@ -38,10 +38,9 @@
  * CFF2 -- Compact Font Format (CFF) Version 2
  * https://docs.microsoft.com/en-us/typography/opentype/spec/cff2
  */
-#define HB_OT_TAG_cff2 HB_TAG('C','F','F','2')
+#define HB_OT_TAG_CFF2 HB_TAG('C','F','F','2')
 
 typedef CFFIndex  CFF2Index;
-template  struct CFF2IndexOf : CFFIndexOf {};
 
 typedef CFF2Index         CFF2CharStrings;
 typedef Subrs   CFF2Subrs;
@@ -379,7 +378,7 @@
 
 struct cff2
 {
-  static constexpr hb_tag_t tableTag = HB_OT_TAG_cff2;
+  static constexpr hb_tag_t tableTag = HB_OT_TAG_CFF2;
 
   bool sanitize (hb_sanitize_context_t *c) const
   {
@@ -391,8 +390,12 @@
   template 
   struct accelerator_templ_t
   {
+    static constexpr hb_tag_t tableTag = cff2::tableTag;
+
     accelerator_templ_t (hb_face_t *face)
     {
+      if (!face) return;
+
       topDict.init ();
       fontDicts.init ();
       privateDicts.init ();
@@ -464,7 +467,6 @@
           goto fail;
       }
 
-
       return;
 
       fail:
@@ -481,11 +483,13 @@
       blob = nullptr;
     }
 
-    hb_map_t *create_glyph_to_sid_map () const
+    hb_vector_t *create_glyph_to_sid_map () const
     {
       return nullptr;
     }
 
+    hb_blob_t *get_blob () const { return blob; }
+
     bool is_valid () const { return blob; }
 
     protected:
@@ -518,9 +522,24 @@
     HB_INTERNAL bool get_path (hb_font_t *font, hb_codepoint_t glyph, hb_draw_session_t &draw_session) const;
   };
 
-  typedef accelerator_templ_t accelerator_subset_t;
+  struct accelerator_subset_t : accelerator_templ_t
+  {
+    accelerator_subset_t (hb_face_t *face) : SUPER (face) {}
+    ~accelerator_subset_t ()
+    {
+      if (cff_accelerator)
+        cff_subset_accelerator_t::destroy (cff_accelerator);
+    }
+
+    HB_INTERNAL bool subset (hb_subset_context_t *c) const;
+    HB_INTERNAL bool serialize (hb_serialize_context_t *c,
+                                struct cff2_subset_plan &plan,
+                                hb_array_t normalized_coords) const;
+
+    mutable CFF::cff_subset_accelerator_t* cff_accelerator = nullptr;
 
-  bool subset (hb_subset_context_t *c) const { return hb_subset_cff2 (c); }
+    typedef accelerator_templ_t SUPER;
+  };
 
   public:
   FixedVersion         version;        /* Version of CFF2 table. set to 0x0200u */
@@ -535,6 +554,10 @@
   cff2_accelerator_t (hb_face_t *face) : cff2::accelerator_t (face) {}
 };
 
+struct cff2_subset_accelerator_t : cff2::accelerator_subset_t {
+  cff2_subset_accelerator_t (hb_face_t *face) : cff2::accelerator_subset_t (face) {}
+};
+
 } /* namespace OT */
 
 #endif /* HB_OT_CFF2_TABLE_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -277,10 +277,10 @@
       }
     } writer(c);
 
-    writer.end_code_ = c->allocate_size (HBUINT16::static_size * segcount);
-    c->allocate_size (2); // padding
-    writer.start_code_ = c->allocate_size (HBUINT16::static_size * segcount);
-    writer.id_delta_ = c->allocate_size (HBINT16::static_size * segcount);
+    writer.end_code_ = c->allocate_size (HBUINT16::static_size * segcount, false);
+    (void) c->allocate_size (2); // padding
+    writer.start_code_ = c->allocate_size (HBUINT16::static_size * segcount, false);
+    writer.id_delta_ = c->allocate_size (HBINT16::static_size * segcount, false);
 
     if (unlikely (!writer.end_code_ || !writer.start_code_ || !writer.id_delta_)) return false;
 
@@ -325,7 +325,7 @@
   {
     auto format4_iter =
     + it
-    | hb_filter ([&] (const hb_pair_t _)
+    | hb_filter ([&] (const hb_codepoint_pair_t _)
                  { return _.first <= 0xFFFF; })
     ;
 
@@ -335,7 +335,7 @@
     if (unlikely (!c->extend_min (this))) return;
     this->format = 4;
 
-    hb_vector_t> cp_to_gid {
+    hb_vector_t cp_to_gid {
       format4_iter
     };
 
@@ -757,8 +757,7 @@
       hb_codepoint_t gid = this->groups[i].glyphID;
       if (!gid)
       {
-        /* Intention is: if (hb_is_same (T, CmapSubtableFormat13)) continue; */
-        if (! T::group_get_glyph (this->groups[i], end)) continue;
+        if (T::formatNumber == 13) continue;
         start++;
         gid++;
       }
@@ -766,11 +765,13 @@
       if (unlikely ((unsigned int) (gid + end - start) >= num_glyphs))
         end = start + (hb_codepoint_t) num_glyphs - gid;
 
+      mapping->alloc (mapping->get_population () + end - start + 1);
+
       for (unsigned cp = start; cp <= end; cp++)
       {
         unicodes->add (cp);
         mapping->set (cp, gid);
-        gid++;
+        gid += T::increment;
       }
     }
   }
@@ -794,6 +795,9 @@
 
 struct CmapSubtableFormat12 : CmapSubtableLongSegmented
 {
+  static constexpr int increment = 1;
+  static constexpr int formatNumber = 12;
+
   static hb_codepoint_t group_get_glyph (const CmapSubtableLongGroup &group,
                                          hb_codepoint_t u)
   { return likely (group.startCharCode <= group.endCharCode) ?
@@ -866,6 +870,9 @@
 
 struct CmapSubtableFormat13 : CmapSubtableLongSegmented
 {
+  static constexpr int increment = 0;
+  static constexpr int formatNumber = 13;
+
   static hb_codepoint_t group_get_glyph (const CmapSubtableLongGroup &group,
                                          hb_codepoint_t u HB_UNUSED)
   { return group.glyphID; }
@@ -917,8 +924,7 @@
   DefaultUVS* copy (hb_serialize_context_t *c,
                     const hb_set_t *unicodes) const
   {
-    DefaultUVS *out = c->start_embed ();
-    if (unlikely (!out)) return nullptr;
+    auto *out = c->start_embed ();
     auto snap = c->snapshot ();
 
     HBUINT32 len;
@@ -931,8 +937,7 @@
       hb_codepoint_t start = HB_SET_VALUE_INVALID;
       hb_codepoint_t end = HB_SET_VALUE_INVALID;
 
-      for (hb_codepoint_t u = HB_SET_VALUE_INVALID;
-           unicodes->next (&u);)
+      for (auto u : *unicodes)
       {
         if (!as_array ().bsearch (u))
           continue;
@@ -1067,9 +1072,7 @@
                        const hb_set_t *glyphs_requested,
                        const hb_map_t *glyph_map) const
   {
-    NonDefaultUVS *out = c->start_embed ();
-    if (unlikely (!out)) return nullptr;
-
+    auto *out = c->start_embed ();
     auto it =
     + as_array ()
     | hb_filter ([&] (const UVSMapping& _)
@@ -1767,7 +1770,6 @@
     TRACE_SUBSET (this);
 
     cmap *cmap_prime = c->serializer->start_embed ();
-    if (unlikely (!c->serializer->check_success (cmap_prime))) return_trace (false);
 
     auto encodingrec_iter =
     + hb_iter (encodingRecord)
@@ -1798,7 +1800,7 @@
 
     auto it =
     + c->plan->unicode_to_new_gid_list.iter ()
-    | hb_filter ([&] (const hb_pair_t _)
+    | hb_filter ([&] (const hb_codepoint_pair_t _)
                  { return (_.second != HB_MAP_VALUE_INVALID); })
     ;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc	2024-04-08 05:38:38.000000000 +0000
@@ -38,8 +38,8 @@
 
 #include "hb-ot-cmap-table.hh"
 #include "hb-ot-glyf-table.hh"
-#include "hb-ot-cff1-table.hh"
 #include "hb-ot-cff2-table.hh"
+#include "hb-ot-cff1-table.hh"
 #include "hb-ot-hmtx-table.hh"
 #include "hb-ot-post-table.hh"
 #include "hb-ot-stat-table.hh" // Just so we compile it; unused otherwise.
@@ -64,13 +64,17 @@
 using hb_ot_font_cmap_cache_t    = hb_cache_t<21, 16, 8, true>;
 using hb_ot_font_advance_cache_t = hb_cache_t<24, 16, 8, true>;
 
+#ifndef HB_NO_OT_FONT_CMAP_CACHE
 static hb_user_data_key_t hb_ot_font_cmap_cache_user_data_key;
+#endif
 
 struct hb_ot_font_t
 {
   const hb_ot_face_t *ot_face;
 
+#ifndef HB_NO_OT_FONT_CMAP_CACHE
   hb_ot_font_cmap_cache_t *cmap_cache;
+#endif
 
   /* h_advance caching */
   mutable hb_atomic_int_t cached_coords_serial;
@@ -86,6 +90,7 @@
 
   ot_font->ot_face = &font->face->table;
 
+#ifndef HB_NO_OT_FONT_CMAP_CACHE
   // retry:
   auto *cmap_cache  = (hb_ot_font_cmap_cache_t *) hb_face_get_user_data (font->face,
                                                                          &hb_ot_font_cmap_cache_user_data_key);
@@ -93,7 +98,7 @@
   {
     cmap_cache = (hb_ot_font_cmap_cache_t *) hb_malloc (sizeof (hb_ot_font_cmap_cache_t));
     if (unlikely (!cmap_cache)) goto out;
-    cmap_cache->init ();
+    new (cmap_cache) hb_ot_font_cmap_cache_t ();
     if (unlikely (!hb_face_set_user_data (font->face,
                                           &hb_ot_font_cmap_cache_user_data_key,
                                           cmap_cache,
@@ -112,6 +117,7 @@
   }
   out:
   ot_font->cmap_cache = cmap_cache;
+#endif
 
   return ot_font;
 }
@@ -136,7 +142,11 @@
 {
   const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data;
   const hb_ot_face_t *ot_face = ot_font->ot_face;
-  return ot_face->cmap->get_nominal_glyph (unicode, glyph, ot_font->cmap_cache);
+  hb_ot_font_cmap_cache_t *cmap_cache = nullptr;
+#ifndef HB_NO_OT_FONT_CMAP_CACHE
+  cmap_cache = ot_font->cmap_cache;
+#endif
+  return ot_face->cmap->get_nominal_glyph (unicode, glyph, cmap_cache);
 }
 
 static unsigned int
@@ -151,10 +161,14 @@
 {
   const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data;
   const hb_ot_face_t *ot_face = ot_font->ot_face;
+  hb_ot_font_cmap_cache_t *cmap_cache = nullptr;
+#ifndef HB_NO_OT_FONT_CMAP_CACHE
+  cmap_cache = ot_font->cmap_cache;
+#endif
   return ot_face->cmap->get_nominal_glyphs (count,
                                             first_unicode, unicode_stride,
                                             first_glyph, glyph_stride,
-                                            ot_font->cmap_cache);
+                                            cmap_cache);
 }
 
 static hb_bool_t
@@ -167,9 +181,13 @@
 {
   const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data;
   const hb_ot_face_t *ot_face = ot_font->ot_face;
+  hb_ot_font_cmap_cache_t *cmap_cache = nullptr;
+#ifndef HB_NO_OT_FONT_CMAP_CACHE
+  cmap_cache = ot_font->cmap_cache;
+#endif
   return ot_face->cmap->get_variation_glyph (unicode,
                                              variation_selector, glyph,
-                                             ot_font->cmap_cache);
+                                             cmap_cache);
 }
 
 static void
@@ -188,7 +206,7 @@
 
   hb_position_t *orig_first_advance = first_advance;
 
-#ifndef HB_NO_VAR
+#if !defined(HB_NO_VAR) && !defined(HB_NO_OT_FONT_ADVANCE_CACHE)
   const OT::HVAR &HVAR = *hmtx.var_table;
   const OT::VariationStore &varStore = &HVAR + HVAR.varStore;
   OT::VariationStore::cache_t *varStore_cache = font->num_coords * count >= 128 ? varStore.create_cache () : nullptr;
@@ -212,8 +230,8 @@
         use_cache = false;
         goto out;
       }
+      new (cache) hb_ot_font_advance_cache_t;
 
-      cache->init ();
       if (unlikely (!ot_font->advance_cache.cmpexch (nullptr, cache)))
       {
         hb_free (cache);
@@ -237,7 +255,7 @@
   { /* Use cache. */
     if (ot_font->cached_coords_serial.get_acquire () != (int) font->serial_coords)
     {
-      ot_font->advance_cache->init ();
+      ot_font->advance_cache->clear ();
       ot_font->cached_coords_serial.set_release (font->serial_coords);
     }
 
@@ -258,7 +276,7 @@
     }
   }
 
-#ifndef HB_NO_VAR
+#if !defined(HB_NO_VAR) && !defined(HB_NO_OT_FONT_ADVANCE_CACHE)
   OT::VariationStore::destroy_cache (varStore_cache);
 #endif
 
@@ -293,7 +311,7 @@
 
   if (vmtx.has_data ())
   {
-#ifndef HB_NO_VAR
+#if !defined(HB_NO_VAR) && !defined(HB_NO_OT_FONT_ADVANCE_CACHE)
     const OT::VVAR &VVAR = *vmtx.var_table;
     const OT::VariationStore &varStore = &VVAR + VVAR.varStore;
     OT::VariationStore::cache_t *varStore_cache = font->num_coords ? varStore.create_cache () : nullptr;
@@ -308,7 +326,7 @@
       first_advance = &StructAtOffsetUnaligned (first_advance, advance_stride);
     }
 
-#ifndef HB_NO_VAR
+#if !defined(HB_NO_VAR) && !defined(HB_NO_OT_FONT_ADVANCE_CACHE)
     OT::VariationStore::destroy_cache (varStore_cache);
 #endif
   }
@@ -418,8 +436,8 @@
 #endif
   if (ot_face->glyf->get_extents (font, glyph, extents)) return true;
 #ifndef HB_NO_OT_FONT_CFF
-  if (ot_face->cff1->get_extents (font, glyph, extents)) return true;
   if (ot_face->cff2->get_extents (font, glyph, extents)) return true;
+  if (ot_face->cff1->get_extents (font, glyph, extents)) return true;
 #endif
 
   return false;
@@ -507,8 +525,8 @@
                                     embolden ? &outline : draw_data, font->slant_xy);
     if (!font->face->table.glyf->get_path (font, glyph, draw_session))
 #ifndef HB_NO_CFF
-    if (!font->face->table.cff1->get_path (font, glyph, draw_session))
     if (!font->face->table.cff2->get_path (font, glyph, draw_session))
+    if (!font->face->table.cff1->get_path (font, glyph, draw_session))
 #endif
     {}
   }
@@ -547,8 +565,8 @@
 #endif
   if (font->face->table.glyf->paint_glyph (font, glyph, paint_funcs, paint_data, foreground)) return;
 #ifndef HB_NO_CFF
-  if (font->face->table.cff1->paint_glyph (font, glyph, paint_funcs, paint_data, foreground)) return;
   if (font->face->table.cff2->paint_glyph (font, glyph, paint_funcs, paint_data, foreground)) return;
+  if (font->face->table.cff1->paint_glyph (font, glyph, paint_funcs, paint_data, foreground)) return;
 #endif
 }
 #endif
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -46,21 +46,23 @@
 
   template
-  bool serialize (hb_serialize_context_t *c, unsigned pixelSize, Iterator it)
+  bool serialize (hb_serialize_context_t *c,
+                  unsigned pixelSize,
+                  Iterator it,
+                  const hb_vector_t new_to_old_gid_list,
+                  unsigned num_glyphs)
   {
     TRACE_SERIALIZE (this);
 
-    unsigned length = it.len ();
-
-    if (unlikely (!c->extend (this, length)))  return_trace (false);
+    if (unlikely (!c->extend (this, num_glyphs)))  return_trace (false);
 
     this->pixelSize = pixelSize;
     this->maxWidth =
     + it
     | hb_reduce (hb_max, 0u);
 
-    + it
-    | hb_sink (widthsZ.as_array (length));
+    for (auto &_ : new_to_old_gid_list)
+      widthsZ[_.first] = *it++;
 
     return_trace (true);
   }
@@ -89,7 +91,11 @@
 
   template
-  bool serialize (hb_serialize_context_t *c, unsigned version, Iterator it)
+  bool serialize (hb_serialize_context_t *c,
+                  unsigned version,
+                  Iterator it,
+                  const hb_vector_t &new_to_old_gid_list,
+                  unsigned num_glyphs)
   {
     TRACE_SERIALIZE (this);
 
@@ -97,10 +103,10 @@
 
     this->version = version;
     this->numRecords = it.len ();
-    this->sizeDeviceRecord = DeviceRecord::get_size (it ? (*it).second.len () : 0);
+    this->sizeDeviceRecord = DeviceRecord::get_size (num_glyphs);
 
     for (const hb_item_type& _ : +it)
-      c->start_embed ()->serialize (c, _.first, _.second);
+      c->start_embed ()->serialize (c, _.first, _.second, new_to_old_gid_list, num_glyphs);
 
     return_trace (c->successful ());
   }
@@ -110,31 +116,30 @@
   {
     TRACE_SUBSET (this);
 
-    hdmx *hdmx_prime = c->serializer->start_embed  ();
-    if (unlikely (!hdmx_prime)) return_trace (false);
+    auto *hdmx_prime = c->serializer->start_embed  ();
 
+    unsigned num_input_glyphs = get_num_glyphs ();
     auto it =
     + hb_range ((unsigned) numRecords)
-    | hb_map ([c, this] (unsigned _)
+    | hb_map ([c, num_input_glyphs, this] (unsigned _)
         {
           const DeviceRecord *device_record =
             &StructAtOffset (&firstDeviceRecord,
                                            _ * sizeDeviceRecord);
           auto row =
-            + hb_range (c->plan->num_output_glyphs ())
-            | hb_map (c->plan->reverse_glyph_map)
-            | hb_map ([this, c, device_record] (hb_codepoint_t _)
+            + hb_iter (c->plan->new_to_old_gid_list)
+            | hb_map ([num_input_glyphs, device_record] (hb_codepoint_pair_t _)
                       {
-                        if (c->plan->is_empty_glyph (_))
-                          return Null (HBUINT8);
-                        return device_record->widthsZ.as_array (get_num_glyphs ()) [_];
+                        return device_record->widthsZ.as_array (num_input_glyphs) [_.second];
                       })
             ;
           return hb_pair ((unsigned) device_record->pixelSize, +row);
         })
     ;
 
-    hdmx_prime->serialize (c->serializer, version, it);
+    hdmx_prime->serialize (c->serializer, version, it,
+                           c->plan->new_to_old_gid_list,
+                           c->plan->num_output_glyphs ());
     return_trace (true);
   }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -83,7 +83,7 @@
   bool subset_update_header (hb_subset_context_t *c,
                              unsigned int num_hmetrics,
                              const hb_hashmap_t> *mtx_map,
-                             const hb_map_t *bounds_map) const
+                             const hb_vector_t &bounds_vec) const
   {
     hb_blob_t *src_blob = hb_sanitize_context_t ().reference_table (c->plan->source, H::tableTag);
     hb_blob_t *dest_blob = hb_blob_copy_writable_or_fail (src_blob);
@@ -114,6 +114,7 @@
         HB_ADD_MVAR_VAR (HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET,   caretOffset);
       }
 
+      bool empty = true;
       int min_lsb = 0x7FFF;
       int min_rsb = 0x7FFF;
       int max_extent = -0x7FFF;
@@ -125,9 +126,10 @@
         int lsb = _.second.second;
         max_adv = hb_max (max_adv, adv);
 
-        if (bounds_map->has (gid))
+        if (bounds_vec[gid] != 0xFFFFFFFF)
         {
-          unsigned bound_width = bounds_map->get (gid);
+          empty = false;
+          unsigned bound_width = bounds_vec[gid];
           int rsb = adv - lsb - bound_width;
           int extent = lsb + bound_width;
           min_lsb = hb_min (min_lsb, lsb);
@@ -137,7 +139,7 @@
       }
 
       table->advanceMax = max_adv;
-      if (!bounds_map->is_empty ())
+      if (!empty)
       {
         table->minLeadingBearing = min_lsb;
         table->minTrailingBearing = min_rsb;
@@ -156,32 +158,32 @@
            hb_requires (hb_is_iterator (Iterator))>
   void serialize (hb_serialize_context_t *c,
                   Iterator it,
-                  unsigned num_long_metrics)
+                  const hb_vector_t new_to_old_gid_list,
+                  unsigned num_long_metrics,
+                  unsigned total_num_metrics)
   {
-    unsigned idx = 0;
-    for (auto _ : it)
+    LongMetric* long_metrics = c->allocate_size (num_long_metrics * LongMetric::static_size);
+    FWORD* short_metrics = c->allocate_size ((total_num_metrics - num_long_metrics) * FWORD::static_size);
+    if (!long_metrics || !short_metrics) return;
+
+    short_metrics -= num_long_metrics;
+
+    for (auto _ : new_to_old_gid_list)
     {
-      if (idx < num_long_metrics)
+      hb_codepoint_t gid = _.first;
+      auto mtx = *it++;
+
+      if (gid < num_long_metrics)
       {
-        LongMetric lm;
-        lm.advance = _.first;
-        lm.sb = _.second;
-        if (unlikely (!c->embed (&lm))) return;
-      }
-      else if (idx < 0x10000u)
-      {
-        FWORD *sb = c->allocate_size (FWORD::static_size);
-        if (unlikely (!sb)) return;
-        *sb = _.second;
-      }
+        LongMetric& lm = long_metrics[gid];
+        lm.advance = mtx.first;
+        lm.sb = mtx.second;
+      }
+      // TODO(beyond-64k): This assumes that maxp.numGlyphs is 0xFFFF.
+      else if (gid < 0x10000u)
+        short_metrics[gid] = mtx.second;
       else
-      {
-        // TODO: This does not do tail optimization.
-        UFWORD *adv = c->allocate_size (UFWORD::static_size);
-        if (unlikely (!adv)) return;
-        *adv = _.first;
-      }
-      idx++;
+        ((UFWORD*) short_metrics)[gid] = mtx.first;
     }
   }
 
@@ -189,8 +191,7 @@
   {
     TRACE_SUBSET (this);
 
-    T *table_prime = c->serializer->start_embed  ();
-    if (unlikely (!table_prime)) return_trace (false);
+    auto *table_prime = c->serializer->start_embed  ();
 
     accelerator_t _mtx (c->plan->source);
     unsigned num_long_metrics;
@@ -199,6 +200,8 @@
       /* Determine num_long_metrics to encode. */
       auto& plan = c->plan;
 
+      // TODO Don't consider retaingid holes here.
+
       num_long_metrics = hb_min (plan->num_output_glyphs (), 0xFFFFu);
       unsigned int last_advance = get_new_gid_advance_unscaled (plan, mtx_map, num_long_metrics - 1, _mtx);
       while (num_long_metrics > 1 &&
@@ -209,31 +212,36 @@
     }
 
     auto it =
-    + hb_range (c->plan->num_output_glyphs ())
-    | hb_map ([c, &_mtx, mtx_map] (unsigned _)
+    + hb_iter (c->plan->new_to_old_gid_list)
+    | hb_map ([c, &_mtx, mtx_map] (hb_codepoint_pair_t _)
               {
-                if (!mtx_map->has (_))
+                hb_codepoint_t new_gid = _.first;
+                hb_codepoint_t old_gid = _.second;
+
+                hb_pair_t *v = nullptr;
+                if (!mtx_map->has (new_gid, &v))
                 {
-                  hb_codepoint_t old_gid;
-                  if (!c->plan->old_gid_for_new_gid (_, &old_gid))
-                    return hb_pair (0u, 0);
                   int lsb = 0;
                   if (!_mtx.get_leading_bearing_without_var_unscaled (old_gid, &lsb))
                     (void) _glyf_get_leading_bearing_without_var_unscaled (c->plan->source, old_gid, !T::is_horizontal, &lsb);
                   return hb_pair (_mtx.get_advance_without_var_unscaled (old_gid), +lsb);
                 }
-                return mtx_map->get (_);
+                return *v;
               })
     ;
 
-    table_prime->serialize (c->serializer, it, num_long_metrics);
+    table_prime->serialize (c->serializer,
+                            it,
+                            c->plan->new_to_old_gid_list,
+                            num_long_metrics,
+                            c->plan->num_output_glyphs ());
 
     if (unlikely (c->serializer->in_error ()))
       return_trace (false);
 
     // Amend header num hmetrics
     if (unlikely (!subset_update_header (c, num_long_metrics, mtx_map,
-                                         T::is_horizontal ? &c->plan->bounds_width_map : &c->plan->bounds_height_map)))
+                                         T::is_horizontal ? c->plan->bounds_width_vec : c->plan->bounds_height_vec)))
       return_trace (false);
 
     return_trace (true);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -170,8 +170,8 @@
   {
     TRACE_SANITIZE (this);
     return_trace (likely (c->check_struct (this) &&
-                          minCoord.sanitize (c, this) &&
-                          maxCoord.sanitize (c, this)));
+                          minCoord.sanitize (c, base) &&
+                          maxCoord.sanitize (c, base)));
   }
 
   protected:
@@ -187,7 +187,6 @@
                                  * of MinMax table (may be NULL) */
   public:
   DEFINE_SIZE_STATIC (8);
-
 };
 
 struct MinMax
@@ -274,7 +273,7 @@
   {
     TRACE_SANITIZE (this);
     return_trace (likely (c->check_struct (this) &&
-                          minMax.sanitize (c, this)));
+                          minMax.sanitize (c, base)));
   }
 
   protected:
@@ -297,7 +296,8 @@
   const BaseCoord &get_base_coord (int baseline_tag_index) const
   { return (this+baseValues).get_base_coord (baseline_tag_index); }
 
-  bool has_data () const { return baseValues; }
+  bool has_values () const { return baseValues; }
+  bool has_min_max () const { return defaultMinMax; /* TODO What if only per-language is present? */ }
 
   bool sanitize (hb_sanitize_context_t *c) const
   {
@@ -383,7 +383,7 @@
                      const BaseCoord **coord) const
   {
     const BaseScript &base_script = (this+baseScriptList).get_base_script (script_tag);
-    if (!base_script.has_data ())
+    if (!base_script.has_values ())
     {
       *coord = nullptr;
       return false;
@@ -410,7 +410,7 @@
                     const BaseCoord **max_coord) const
   {
     const BaseScript &base_script = (this+baseScriptList).get_base_script (script_tag);
-    if (!base_script.has_data ())
+    if (!base_script.has_min_max ())
     {
       *min_coord = *max_coord = nullptr;
       return false;
@@ -425,8 +425,8 @@
   {
     TRACE_SANITIZE (this);
     return_trace (likely (c->check_struct (this) &&
-                          (this+baseTagList).sanitize (c) &&
-                          (this+baseScriptList).sanitize (c)));
+                          baseTagList.sanitize (c, this) &&
+                          baseScriptList.sanitize (c, this)));
   }
 
   protected:
@@ -473,14 +473,13 @@
     return true;
   }
 
-  /* TODO: Expose this separately sometime? */
   bool get_min_max (hb_font_t      *font,
                     hb_direction_t  direction,
                     hb_tag_t        script_tag,
                     hb_tag_t        language_tag,
                     hb_tag_t        feature_tag,
                     hb_position_t  *min,
-                    hb_position_t  *max)
+                    hb_position_t  *max) const
   {
     const BaseCoord *min_coord, *max_coord;
     if (!get_axis (direction).get_min_max (script_tag, language_tag, feature_tag,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -55,19 +55,22 @@
     hb_serialize_context_t *c,
     const hb_set_t &klasses,
     bool use_class_zero,
-    hb_sorted_vector_t> &glyph_and_klass, /* IN/OUT */
+    hb_sorted_vector_t &glyph_and_klass, /* IN/OUT */
     hb_map_t *klass_map /*IN/OUT*/);
 
 struct hb_collect_feature_substitutes_with_var_context_t
 {
   const hb_map_t *axes_index_tag_map;
-  const hb_hashmap_t *axes_location;
+  const hb_hashmap_t *axes_location;
   hb_hashmap_t> *record_cond_idx_map;
   hb_hashmap_t *feature_substitutes_map;
+  bool& insert_catch_all_feature_variation_record;
 
   // not stored in subset_plan
   hb_set_t *feature_indices;
   bool apply;
+  bool variation_applied;
+  bool universal;
   unsigned cur_record_idx;
   hb_hashmap_t, unsigned> *conditionset_map;
 };
@@ -188,27 +191,15 @@
   static return_t default_return_value () { return hb_empty_t (); }
 
   hb_set_t *layout_variation_indices;
-  hb_hashmap_t> *varidx_delta_map;
-  hb_font_t *font;
-  const VariationStore *var_store;
   const hb_set_t *glyph_set;
   const hb_map_t *gpos_lookups;
-  float *store_cache;
 
   hb_collect_variation_indices_context_t (hb_set_t *layout_variation_indices_,
-                                          hb_hashmap_t> *varidx_delta_map_,
-                                          hb_font_t *font_,
-                                          const VariationStore *var_store_,
                                           const hb_set_t *glyph_set_,
-                                          const hb_map_t *gpos_lookups_,
-                                          float *store_cache_) :
+                                          const hb_map_t *gpos_lookups_) :
                                         layout_variation_indices (layout_variation_indices_),
-                                        varidx_delta_map (varidx_delta_map_),
-                                        font (font_),
-                                        var_store (var_store_),
                                         glyph_set (glyph_set_),
-                                        gpos_lookups (gpos_lookups_),
-                                        store_cache (store_cache_) {}
+                                        gpos_lookups (gpos_lookups_) {}
 };
 
 template
@@ -807,7 +798,7 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     out->featureParams.serialize_subset (c, featureParams, this, tag);
 
@@ -981,7 +972,7 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     + hb_enumerate (*this)
     | hb_filter (l->feature_index_map, hb_first)
@@ -1078,7 +1069,7 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     const uint32_t *v;
     out->reqFeatureIndex = l->feature_index_map->has (reqFeatureIndex, &v) ? *v : 0xFFFFu;
@@ -1188,7 +1179,7 @@
       return false;
 
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     bool defaultLang = false;
     if (has_default_lang_sys ())
@@ -1247,7 +1238,7 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     for (auto _ : + hb_enumerate (*this))
     {
@@ -1367,7 +1358,7 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
     out->lookupType = lookupType;
     out->lookupFlag = lookupFlag;
 
@@ -1456,7 +1447,7 @@
   {
     TRACE_SUBSET (this);
     auto *out = c->serializer->start_embed (this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     + hb_enumerate (*this)
     | hb_filter (l->lookup_index_map, hb_first)
@@ -1482,7 +1473,7 @@
 static bool ClassDef_remap_and_serialize (hb_serialize_context_t *c,
                                           const hb_set_t &klasses,
                                           bool use_class_zero,
-                                          hb_sorted_vector_t> &glyph_and_klass, /* IN/OUT */
+                                          hb_sorted_vector_t &glyph_and_klass, /* IN/OUT */
                                           hb_map_t *klass_map /*IN/OUT*/)
 {
   if (!klass_map)
@@ -1573,7 +1564,7 @@
     TRACE_SUBSET (this);
     const hb_map_t &glyph_map = c->plan->glyph_map_gsub;
 
-    hb_sorted_vector_t> glyph_and_klass;
+    hb_sorted_vector_t glyph_and_klass;
     hb_set_t orig_klasses;
 
     hb_codepoint_t start = startGlyph;
@@ -1592,10 +1583,13 @@
       orig_klasses.add (klass);
     }
 
-    unsigned glyph_count = glyph_filter
-                           ? hb_len (hb_iter (glyph_map.keys()) | hb_filter (glyph_filter))
-                           : glyph_map.get_population ();
-    use_class_zero = use_class_zero && glyph_count <= glyph_and_klass.length;
+    if (use_class_zero)
+    {
+      unsigned glyph_count = glyph_filter
+                             ? hb_len (hb_iter (glyph_map.keys()) | hb_filter (glyph_filter))
+                             : glyph_map.get_population ();
+      use_class_zero = glyph_count <= glyph_and_klass.length;
+    }
     if (!ClassDef_remap_and_serialize (c->serializer,
                                        orig_klasses,
                                        use_class_zero,
@@ -1769,6 +1763,7 @@
       return_trace (true);
     }
 
+    unsigned unsorted = false;
     unsigned num_ranges = 1;
     hb_codepoint_t prev_gid = (*it).first;
     unsigned prev_klass = (*it).second;
@@ -1789,6 +1784,10 @@
       if (cur_gid != prev_gid + 1 ||
           cur_klass != prev_klass)
       {
+
+        if (unlikely (cur_gid < prev_gid))
+          unsorted = true;
+
         if (unlikely (!record)) break;
         record->last = prev_gid;
         num_ranges++;
@@ -1804,8 +1803,14 @@
       prev_gid = cur_gid;
     }
 
+    if (unlikely (c->in_error ())) return_trace (false);
+
     if (likely (record)) record->last = prev_gid;
     rangeRecord.len = num_ranges;
+
+    if (unlikely (unsorted))
+      rangeRecord.as_array ().qsort (RangeRecord::cmp_range);
+
     return_trace (true);
   }
 
@@ -1819,7 +1824,7 @@
     const hb_map_t &glyph_map = c->plan->glyph_map_gsub;
     const hb_set_t &glyph_set = *c->plan->glyphset_gsub ();
 
-    hb_sorted_vector_t> glyph_and_klass;
+    hb_sorted_vector_t glyph_and_klass;
     hb_set_t orig_klasses;
 
     if (glyph_set.get_population () * hb_bit_storage ((unsigned) rangeRecord.len) / 2
@@ -1905,7 +1910,7 @@
   {
     if (rangeRecord.len > glyphs->get_population () * hb_bit_storage ((unsigned) rangeRecord.len) / 2)
     {
-      for (hb_codepoint_t g = HB_SET_VALUE_INVALID; glyphs->next (&g);)
+      for (auto g : *glyphs)
         if (get_class (g))
           return true;
       return false;
@@ -1920,13 +1925,22 @@
     {
       /* Match if there's any glyph that is not listed! */
       hb_codepoint_t g = HB_SET_VALUE_INVALID;
-      for (auto &range : rangeRecord)
+      hb_codepoint_t last = HB_SET_VALUE_INVALID;
+      auto it = hb_iter (rangeRecord);
+      for (auto &range : it)
       {
+        if (it->first == last + 1)
+        {
+          it++;
+          continue;
+        }
+
         if (!glyphs->next (&g))
           break;
         if (g < range.first)
           return true;
         g = range.last;
+        last = g;
       }
       if (g != HB_SET_VALUE_INVALID && glyphs->next (&g))
         return true;
@@ -1965,8 +1979,7 @@
     unsigned count = rangeRecord.len;
     if (count > glyphs->get_population () * hb_bit_storage (count) * 8)
     {
-      for (hb_codepoint_t g = HB_SET_VALUE_INVALID;
-           glyphs->next (&g);)
+      for (auto g : *glyphs)
       {
         unsigned i;
         if (rangeRecord.as_array ().bfind (g, &i) &&
@@ -2097,8 +2110,15 @@
 
 #ifndef HB_NO_BEYOND_64K
     if (glyph_max > 0xFFFFu)
-      format += 2;
+      u.format += 2;
+    if (unlikely (glyph_max > 0xFFFFFFu))
+#else
+    if (unlikely (glyph_max > 0xFFFFu))
 #endif
+    {
+      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
+      return_trace (false);
+    }
 
     u.format = format;
 
@@ -2268,6 +2288,158 @@
  * Item Variation Store
  */
 
+/* ported from fonttools (class _Encoding) */
+struct delta_row_encoding_t
+{
+  /* each byte represents a region, value is one of 0/1/2/4, which means bytes
+   * needed for this region */
+  hb_vector_t chars;
+  unsigned width = 0;
+  hb_vector_t columns;
+  unsigned overhead = 0;
+  hb_vector_t*> items;
+
+  delta_row_encoding_t () = default;
+  delta_row_encoding_t (hb_vector_t&& chars_,
+                        const hb_vector_t* row = nullptr) :
+                        delta_row_encoding_t ()
+
+  {
+    chars = std::move (chars_);
+    width = get_width ();
+    columns = get_columns ();
+    overhead = get_chars_overhead (columns);
+    if (row) items.push (row);
+  }
+
+  bool is_empty () const
+  { return !items; }
+
+  static hb_vector_t get_row_chars (const hb_vector_t& row)
+  {
+    hb_vector_t ret;
+    if (!ret.alloc (row.length)) return ret;
+
+    bool long_words = false;
+
+    /* 0/1/2 byte encoding */
+    for (int i = row.length - 1; i >= 0; i--)
+    {
+      int v =  row.arrayZ[i];
+      if (v == 0)
+        ret.push (0);
+      else if (v > 32767 || v < -32768)
+      {
+        long_words = true;
+        break;
+      }
+      else if (v > 127 || v < -128)
+        ret.push (2);
+      else
+        ret.push (1);
+    }
+
+    if (!long_words)
+      return ret;
+
+    /* redo, 0/2/4 bytes encoding */
+    ret.reset ();
+    for (int i = row.length - 1; i >= 0; i--)
+    {
+      int v =  row.arrayZ[i];
+      if (v == 0)
+        ret.push (0);
+      else if (v > 32767 || v < -32768)
+        ret.push (4);
+      else
+        ret.push (2);
+    }
+    return ret;
+  }
+
+  inline unsigned get_width ()
+  {
+    unsigned ret = + hb_iter (chars)
+                   | hb_reduce (hb_add, 0u)
+                   ;
+    return ret;
+  }
+
+  hb_vector_t get_columns ()
+  {
+    hb_vector_t cols;
+    cols.alloc (chars.length);
+    for (auto v : chars)
+    {
+      uint8_t flag = v ? 1 : 0;
+      cols.push (flag);
+    }
+    return cols;
+  }
+
+  static inline unsigned get_chars_overhead (const hb_vector_t& cols)
+  {
+    unsigned c = 4 + 6; // 4 bytes for LOffset, 6 bytes for VarData header
+    unsigned cols_bit_count = 0;
+    for (auto v : cols)
+      if (v) cols_bit_count++;
+    return c + cols_bit_count * 2;
+  }
+
+  unsigned get_gain () const
+  {
+    int count = items.length;
+    return hb_max (0, (int) overhead - count);
+  }
+
+  int gain_from_merging (const delta_row_encoding_t& other_encoding) const
+  {
+    int combined_width = 0;
+    for (unsigned i = 0; i < chars.length; i++)
+      combined_width += hb_max (chars.arrayZ[i], other_encoding.chars.arrayZ[i]);
+
+    hb_vector_t combined_columns;
+    combined_columns.alloc (columns.length);
+    for (unsigned i = 0; i < columns.length; i++)
+      combined_columns.push (columns.arrayZ[i] | other_encoding.columns.arrayZ[i]);
+
+    int combined_overhead = get_chars_overhead (combined_columns);
+    int combined_gain = (int) overhead + (int) other_encoding.overhead - combined_overhead
+                        - (combined_width - (int) width) * items.length
+                        - (combined_width - (int) other_encoding.width) * other_encoding.items.length;
+
+    return combined_gain;
+  }
+
+  static int cmp (const void *pa, const void *pb)
+  {
+    const delta_row_encoding_t *a = (const delta_row_encoding_t *)pa;
+    const delta_row_encoding_t *b = (const delta_row_encoding_t *)pb;
+
+    int gain_a = a->get_gain ();
+    int gain_b = b->get_gain ();
+
+    if (gain_a != gain_b)
+      return gain_a - gain_b;
+
+    return (b->chars).as_array ().cmp ((a->chars).as_array ());
+  }
+
+  static int cmp_width (const void *pa, const void *pb)
+  {
+    const delta_row_encoding_t *a = (const delta_row_encoding_t *)pa;
+    const delta_row_encoding_t *b = (const delta_row_encoding_t *)pb;
+
+    if (a->width != b->width)
+      return (int) a->width - (int) b->width;
+
+    return (b->chars).as_array ().cmp ((a->chars).as_array ());
+  }
+
+  bool add_row (const hb_vector_t* row)
+  { return items.push (row); }
+};
+
 struct VarRegionAxis
 {
   float evaluate (int coord) const
@@ -2302,6 +2474,12 @@
      * have to do that at runtime. */
   }
 
+  bool serialize (hb_serialize_context_t *c) const
+  {
+    TRACE_SERIALIZE (this);
+    return_trace (c->embed (this));
+  }
+
   public:
   F2DOT14       startCoord;
   F2DOT14       peakCoord;
@@ -2359,7 +2537,48 @@
     return_trace (c->check_struct (this) && axesZ.sanitize (c, axisCount * regionCount));
   }
 
-  bool serialize (hb_serialize_context_t *c, const VarRegionList *src, const hb_bimap_t ®ion_map)
+  bool serialize (hb_serialize_context_t *c,
+                  const hb_vector_t& axis_tags,
+                  const hb_vector_t*>& regions)
+  {
+    TRACE_SERIALIZE (this);
+    unsigned axis_count = axis_tags.length;
+    unsigned region_count = regions.length;
+    if (!axis_count || !region_count) return_trace (false);
+    if (unlikely (hb_unsigned_mul_overflows (axis_count * region_count,
+                                             VarRegionAxis::static_size))) return_trace (false);
+    if (unlikely (!c->extend_min (this))) return_trace (false);
+    axisCount = axis_count;
+    regionCount = region_count;
+
+    for (unsigned r = 0; r < region_count; r++)
+    {
+      const auto& region = regions[r];
+      for (unsigned i = 0; i < axis_count; i++)
+      {
+        hb_tag_t tag = axis_tags.arrayZ[i];
+        VarRegionAxis var_region_rec;
+        Triple *coords;
+        if (region->has (tag, &coords))
+        {
+          var_region_rec.startCoord.set_float (coords->minimum);
+          var_region_rec.peakCoord.set_float (coords->middle);
+          var_region_rec.endCoord.set_float (coords->maximum);
+        }
+        else
+        {
+          var_region_rec.startCoord.set_int (0);
+          var_region_rec.peakCoord.set_int (0);
+          var_region_rec.endCoord.set_int (0);
+        }
+        if (!var_region_rec.serialize (c))
+          return_trace (false);
+      }
+    }
+    return_trace (true);
+  }
+
+  bool serialize (hb_serialize_context_t *c, const VarRegionList *src, const hb_inc_bimap_t ®ion_map)
   {
     TRACE_SERIALIZE (this);
     if (unlikely (!c->extend_min (this))) return_trace (false);
@@ -2379,6 +2598,45 @@
     return_trace (true);
   }
 
+  bool get_var_region (unsigned region_index,
+                       const hb_map_t& axes_old_index_tag_map,
+                       hb_hashmap_t& axis_tuples /* OUT */) const
+  {
+    if (region_index >= regionCount) return false;
+    const VarRegionAxis* axis_region = axesZ.arrayZ + (region_index * axisCount);
+    for (unsigned i = 0; i < axisCount; i++)
+    {
+      hb_tag_t *axis_tag;
+      if (!axes_old_index_tag_map.has (i, &axis_tag))
+        return false;
+
+      float min_val = axis_region->startCoord.to_float ();
+      float def_val = axis_region->peakCoord.to_float ();
+      float max_val = axis_region->endCoord.to_float ();
+
+      if (def_val != 0.f)
+        axis_tuples.set (*axis_tag, Triple (min_val, def_val, max_val));
+      axis_region++;
+    }
+    return !axis_tuples.in_error ();
+  }
+
+  bool get_var_regions (const hb_map_t& axes_old_index_tag_map,
+                        hb_vector_t>& regions /* OUT */) const
+  {
+    if (!regions.alloc (regionCount))
+      return false;
+
+    for (unsigned i = 0; i < regionCount; i++)
+    {
+      hb_hashmap_t axis_tuples;
+      if (!get_var_region (i, axes_old_index_tag_map, axis_tuples))
+        return false;
+      regions.push (std::move (axis_tuples));
+    }
+    return !regions.in_error ();
+  }
+
   unsigned int get_size () const { return min_size + VarRegionAxis::static_size * axisCount * regionCount; }
 
   public:
@@ -2399,6 +2657,9 @@
   unsigned int get_region_index_count () const
   { return regionIndices.len; }
 
+  unsigned get_region_index (unsigned i) const
+  { return i >= regionIndices.len ? -1 : regionIndices[i]; }
+
   unsigned int get_row_size () const
   { return (wordCount () + regionIndices.len) * (longWords () ? 2 : 1); }
 
@@ -2474,9 +2735,84 @@
   }
 
   bool serialize (hb_serialize_context_t *c,
+                  bool has_long,
+                  const hb_vector_t*>& rows)
+  {
+    TRACE_SERIALIZE (this);
+    if (unlikely (!c->extend_min (this))) return_trace (false);
+    unsigned row_count = rows.length;
+    itemCount = row_count;
+
+    int min_threshold = has_long ? -65536 : -128;
+    int max_threshold = has_long ? +65535 : +127;
+    enum delta_size_t { kZero=0, kNonWord, kWord };
+    hb_vector_t delta_sz;
+    unsigned num_regions = rows[0]->length;
+    if (!delta_sz.resize (num_regions))
+      return_trace (false);
+
+    unsigned word_count = 0;
+    for (unsigned r = 0; r < num_regions; r++)
+    {
+      for (unsigned i = 0; i < row_count; i++)
+      {
+        int delta = rows[i]->arrayZ[r];
+        if (delta < min_threshold || delta > max_threshold)
+        {
+          delta_sz[r] = kWord;
+          word_count++;
+          break;
+        }
+        else if (delta != 0)
+        {
+          delta_sz[r] = kNonWord;
+        }
+      }
+    }
+
+    /* reorder regions: words and then non-words*/
+    unsigned word_index = 0;
+    unsigned non_word_index = word_count;
+    hb_map_t ri_map;
+    for (unsigned r = 0; r < num_regions; r++)
+    {
+      if (!delta_sz[r]) continue;
+      unsigned new_r = (delta_sz[r] == kWord)? word_index++ : non_word_index++;
+      if (!ri_map.set (new_r, r))
+        return_trace (false);
+    }
+
+    wordSizeCount = word_count | (has_long ? 0x8000u /* LONG_WORDS */ : 0);
+
+    unsigned ri_count = ri_map.get_population ();
+    regionIndices.len = ri_count;
+    if (unlikely (!c->extend (this))) return_trace (false);
+
+    for (unsigned r = 0; r < ri_count; r++)
+    {
+      hb_codepoint_t *idx;
+      if (!ri_map.has (r, &idx))
+        return_trace (false);
+      regionIndices[r] = *idx;
+    }
+
+    HBUINT8 *delta_bytes = get_delta_bytes ();
+    unsigned row_size = get_row_size ();
+    for (unsigned int i = 0; i < row_count; i++)
+    {
+      for (unsigned int r = 0; r < ri_count; r++)
+      {
+        int delta = rows[i]->arrayZ[ri_map[r]];
+        set_item_delta_fast (i, r, delta, delta_bytes, row_size);
+      }
+    }
+    return_trace (true);
+  }
+
+  bool serialize (hb_serialize_context_t *c,
                   const VarData *src,
                   const hb_inc_bimap_t &inner_map,
-                  const hb_bimap_t ®ion_map)
+                  const hb_inc_bimap_t ®ion_map)
   {
     TRACE_SERIALIZE (this);
     if (unlikely (!c->extend_min (this))) return_trace (false);
@@ -2593,13 +2929,15 @@
     }
   }
 
-  protected:
+  public:
   const HBUINT8 *get_delta_bytes () const
   { return &StructAfter (regionIndices); }
 
+  protected:
   HBUINT8 *get_delta_bytes ()
   { return &StructAfter (regionIndices); }
 
+  public:
   int32_t get_item_delta_fast (unsigned int item, unsigned int region,
                                const HBUINT8 *delta_bytes, unsigned row_size) const
   {
@@ -2630,6 +2968,7 @@
                                  get_row_size ());
   }
 
+  protected:
   void set_item_delta_fast (unsigned int item, unsigned int region, int32_t delta,
                             HBUINT8 *delta_bytes, unsigned row_size)
   {
@@ -2672,6 +3011,7 @@
 
 struct VariationStore
 {
+  friend struct item_variations_t;
   using cache_t = VarRegionList::cache_t;
 
   cache_t *create_cache () const
@@ -2743,6 +3083,36 @@
   }
 
   bool serialize (hb_serialize_context_t *c,
+                  bool has_long,
+                  const hb_vector_t& axis_tags,
+                  const hb_vector_t*>& region_list,
+                  const hb_vector_t& vardata_encodings)
+  {
+    TRACE_SERIALIZE (this);
+#ifdef HB_NO_VAR
+    return_trace (false);
+#endif
+    if (unlikely (!c->extend_min (this))) return_trace (false);
+
+    format = 1;
+    if (!regions.serialize_serialize (c, axis_tags, region_list))
+      return_trace (false);
+
+    unsigned num_var_data = vardata_encodings.length;
+    if (!num_var_data) return_trace (false);
+    if (unlikely (!c->check_assign (dataSets.len, num_var_data,
+                                    HB_SERIALIZE_ERROR_INT_OVERFLOW)))
+      return_trace (false);
+
+    if (unlikely (!c->extend (dataSets))) return_trace (false);
+    for (unsigned i = 0; i < num_var_data; i++)
+      if (!dataSets[i].serialize_serialize (c, has_long, vardata_encodings[i].items))
+        return_trace (false);
+
+    return_trace (true);
+  }
+
+  bool serialize (hb_serialize_context_t *c,
                   const VariationStore *src,
                   const hb_array_t  &inner_maps)
   {
@@ -2871,6 +3241,22 @@
      return dataSets.len;
    }
 
+  const VarData& get_sub_table (unsigned i) const
+  {
+#ifdef HB_NO_VAR
+     return Null (VarData);
+#endif
+     return this+dataSets[i];
+  }
+
+  const VarRegionList& get_region_list () const
+  {
+#ifdef HB_NO_VAR
+     return Null (VarRegionList);
+#endif
+     return this+regions;
+  }
+
   protected:
   HBUINT16                              format;
   Offset32To             regions;
@@ -2887,9 +3273,9 @@
 enum Cond_with_Var_flag_t
 {
   KEEP_COND_WITH_VAR = 0,
-  DROP_COND_WITH_VAR = 1,
-  DROP_RECORD_WITH_VAR = 2,
-  MEM_ERR_WITH_VAR = 3,
+  KEEP_RECORD_WITH_VAR = 1,
+  DROP_COND_WITH_VAR = 2,
+  DROP_RECORD_WITH_VAR = 3,
 };
 
 struct ConditionFormat1
@@ -2905,9 +3291,29 @@
     const hb_map_t *index_map = &c->plan->axes_index_map;
     if (index_map->is_empty ()) return_trace (true);
 
-    if (!index_map->has (axisIndex))
+    const hb_map_t& axes_old_index_tag_map = c->plan->axes_old_index_tag_map;
+    hb_codepoint_t *axis_tag;
+    if (!axes_old_index_tag_map.has (axisIndex, &axis_tag) ||
+        !index_map->has (axisIndex))
       return_trace (false);
 
+    const hb_hashmap_t& normalized_axes_location = c->plan->axes_location;
+    Triple axis_limit{-1.f, 0.f, 1.f};
+    Triple *normalized_limit;
+    if (normalized_axes_location.has (*axis_tag, &normalized_limit))
+      axis_limit = *normalized_limit;
+
+    const hb_hashmap_t& axes_triple_distances = c->plan->axes_triple_distances;
+    TripleDistances axis_triple_distances{1.f, 1.f};
+    TripleDistances *triple_dists;
+    if (axes_triple_distances.has (*axis_tag, &triple_dists))
+      axis_triple_distances = *triple_dists;
+
+    float normalized_min = renormalizeValue (filterRangeMinValue.to_float (), axis_limit, axis_triple_distances, false);
+    float normalized_max = renormalizeValue (filterRangeMaxValue.to_float (), axis_limit, axis_triple_distances, false);
+    out->filterRangeMinValue.set_float (normalized_min);
+    out->filterRangeMaxValue.set_float (normalized_max);
+
     return_trace (c->serializer->check_assign (out->axisIndex, index_map->get (axisIndex),
                                                HB_SERIALIZE_ERROR_INT_OVERFLOW));
   }
@@ -2922,29 +3328,45 @@
 
     hb_tag_t axis_tag = c->axes_index_tag_map->get (axisIndex);
 
-    //axis not pinned, keep the condition
-    if (!c->axes_location->has (axis_tag))
+    Triple axis_range (-1.f, 0.f, 1.f);
+    Triple *axis_limit;
+    if (c->axes_location->has (axis_tag, &axis_limit))
+      axis_range = *axis_limit;
+
+    float axis_min_val = axis_range.minimum;
+    float axis_default_val = axis_range.middle;
+    float axis_max_val = axis_range.maximum;
+
+    float filter_min_val = filterRangeMinValue.to_float ();
+    float filter_max_val = filterRangeMaxValue.to_float ();
+
+    if (axis_default_val < filter_min_val ||
+        axis_default_val > filter_max_val)
+      c->apply = false;
+
+    //condition not met, drop the entire record
+    if (axis_min_val > filter_max_val || axis_max_val < filter_min_val ||
+        filter_min_val > filter_max_val)
+      return DROP_RECORD_WITH_VAR;
+
+    //condition met and axis pinned, drop the condition
+    if (c->axes_location->has (axis_tag) &&
+        c->axes_location->get (axis_tag).is_point ())
+      return DROP_COND_WITH_VAR;
+
+    if (filter_max_val != axis_max_val || filter_min_val != axis_min_val)
     {
       // add axisIndex->value into the hashmap so we can check if the record is
       // unique with variations
-      int16_t min_val = filterRangeMinValue.to_int ();
-      int16_t max_val = filterRangeMaxValue.to_int ();
-      hb_codepoint_t val = (max_val << 16) + min_val;
+      int16_t int_filter_max_val = filterRangeMaxValue.to_int ();
+      int16_t int_filter_min_val = filterRangeMinValue.to_int ();
+      hb_codepoint_t val = (int_filter_max_val << 16) + int_filter_min_val;
 
       condition_map->set (axisIndex, val);
       return KEEP_COND_WITH_VAR;
     }
 
-    //axis pinned, check if condition is met
-    //TODO: add check for axis Ranges
-    int v = c->axes_location->get (axis_tag);
-
-    //condition not met, drop the entire record
-    if (v < filterRangeMinValue.to_int () || v > filterRangeMaxValue.to_int ())
-      return DROP_RECORD_WITH_VAR;
-
-    //axis pinned and condition met, drop the condition
-    return DROP_COND_WITH_VAR;
+    return KEEP_RECORD_WITH_VAR;
   }
 
   bool evaluate (const int *coords, unsigned int coord_len) const
@@ -2983,7 +3405,7 @@
   {
     switch (u.format) {
     case 1: return u.format1.keep_with_variations (c, condition_map);
-    default:return KEEP_COND_WITH_VAR;
+    default: c->apply = false; return KEEP_COND_WITH_VAR;
     }
   }
 
@@ -3028,45 +3450,50 @@
     return true;
   }
 
-  Cond_with_Var_flag_t keep_with_variations (hb_collect_feature_substitutes_with_var_context_t *c) const
+  void keep_with_variations (hb_collect_feature_substitutes_with_var_context_t *c) const
   {
     hb_map_t *condition_map = hb_map_create ();
-    if (unlikely (!condition_map)) return MEM_ERR_WITH_VAR;
+    if (unlikely (!condition_map)) return;
     hb::shared_ptr p {condition_map};
 
     hb_set_t *cond_set = hb_set_create ();
-    if (unlikely (!cond_set)) return MEM_ERR_WITH_VAR;
+    if (unlikely (!cond_set)) return;
     hb::shared_ptr s {cond_set};
 
+    c->apply = true;
+    bool should_keep = false;
     unsigned num_kept_cond = 0, cond_idx = 0;
     for (const auto& offset : conditions)
     {
       Cond_with_Var_flag_t ret = (this+offset).keep_with_variations (c, condition_map);
-      // one condition is not met, drop the entire record
+      // condition is not met or condition out of range, drop the entire record
       if (ret == DROP_RECORD_WITH_VAR)
-        return DROP_RECORD_WITH_VAR;
+        return;
 
-      // axis not pinned, keep this condition
       if (ret == KEEP_COND_WITH_VAR)
       {
+        should_keep = true;
         cond_set->add (cond_idx);
         num_kept_cond++;
       }
+
+      if (ret == KEEP_RECORD_WITH_VAR)
+        should_keep = true;
+
       cond_idx++;
     }
 
-    // all conditions met
-    if (num_kept_cond == 0) return DROP_COND_WITH_VAR;
+    if (!should_keep) return;
 
     //check if condition_set is unique with variations
     if (c->conditionset_map->has (p))
       //duplicate found, drop the entire record
-      return DROP_RECORD_WITH_VAR;
+      return;
 
     c->conditionset_map->set (p, 1);
     c->record_cond_idx_map->set (c->cur_record_idx, s);
-
-    return KEEP_COND_WITH_VAR;
+    if (should_keep && num_kept_cond == 0)
+      c->universal = true;
   }
 
   bool subset (hb_subset_context_t *c,
@@ -3142,8 +3569,7 @@
     if (unlikely (!out)) return_trace (false);
 
     out->featureIndex = c->feature_index_map->get (featureIndex);
-    bool ret = out->feature.serialize_subset (c->subset_context, feature, base, c);
-    return_trace (ret);
+    return_trace (out->feature.serialize_subset (c->subset_context, feature, base, c));
   }
 
   bool sanitize (hb_sanitize_context_t *c, const void *base) const
@@ -3271,12 +3697,11 @@
   void collect_feature_substitutes_with_variations (hb_collect_feature_substitutes_with_var_context_t *c,
                                                     const void *base) const
   {
-    // ret == 1, all conditions met
-    if ((base+conditions).keep_with_variations (c) == DROP_COND_WITH_VAR &&
-        c->apply)
+    (base+conditions).keep_with_variations (c);
+    if (c->apply && !c->variation_applied)
     {
       (base+substitutions).collect_feature_substitutes_with_variations (c);
-      c->apply = false; // set variations only once
+      c->variation_applied = true; // set variations only once
     }
   }
 
@@ -3343,7 +3768,12 @@
     {
       c->cur_record_idx = i;
       varRecords[i].collect_feature_substitutes_with_variations (c, this);
+      if (c->universal)
+        break;
     }
+    if (c->variation_applied && !c->universal &&
+        !c->record_cond_idx_map->is_empty ())
+      c->insert_catch_all_feature_variation_record = true;
   }
 
   FeatureVariations* copy (hb_serialize_context_t *c) const
@@ -3538,22 +3968,13 @@
     auto *out = c->embed (this);
     if (unlikely (!out)) return_trace (nullptr);
 
-    unsigned new_idx = hb_first (*v);
-    out->varIdx = new_idx;
+    if (!c->check_assign (out->varIdx, hb_first (*v), HB_SERIALIZE_ERROR_INT_OVERFLOW))
+      return_trace (nullptr);
     return_trace (out);
   }
 
   void collect_variation_index (hb_collect_variation_indices_context_t *c) const
-  {
-    c->layout_variation_indices->add (varIdx);
-    int delta = 0;
-    if (c->font && c->var_store)
-      delta = roundf (get_delta (c->font, *c->var_store, c->store_cache));
-
-    /* set new varidx to HB_OT_LAYOUT_NO_VARIATIONS_INDEX here, will remap
-     * varidx later*/
-    c->varidx_delta_map->set (varIdx, hb_pair_t (HB_OT_LAYOUT_NO_VARIATIONS_INDEX, delta));
-  }
+  { c->layout_variation_indices->add (varIdx); }
 
   bool sanitize (hb_sanitize_context_t *c) const
   {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh	2024-04-08 05:38:38.000000000 +0000
@@ -143,9 +143,12 @@
     return active_glyphs_stack.tail ();
   }
 
-  hb_set_t& push_cur_active_glyphs ()
+  hb_set_t* push_cur_active_glyphs ()
   {
-    return *active_glyphs_stack.push ();
+    hb_set_t *s = active_glyphs_stack.push ();
+    if (unlikely (active_glyphs_stack.in_error ()))
+      return nullptr;
+    return s;
   }
 
   bool pop_cur_done_glyphs ()
@@ -399,16 +402,6 @@
 {
   struct matcher_t
   {
-    matcher_t () :
-             lookup_props (0),
-             mask (-1),
-             ignore_zwnj (false),
-             ignore_zwj (false),
-             per_syllable (false),
-             syllable {0},
-             match_func (nullptr),
-             match_data (nullptr) {}
-
     typedef bool (*match_func_t) (hb_glyph_info_t &info, unsigned value, const void *data);
 
     void set_ignore_zwnj (bool ignore_zwnj_) { ignore_zwnj = ignore_zwnj_; }
@@ -427,6 +420,9 @@
       MATCH_MAYBE
     };
 
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
     may_match_t may_match (hb_glyph_info_t &info,
                            hb_codepoint_t glyph_data) const
     {
@@ -446,6 +442,9 @@
       SKIP_MAYBE
     };
 
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
     may_skip_t may_skip (const hb_ot_apply_context_t *c,
                          const hb_glyph_info_t       &info) const
     {
@@ -461,14 +460,14 @@
     }
 
     protected:
-    unsigned int lookup_props;
-    hb_mask_t mask;
-    bool ignore_zwnj;
-    bool ignore_zwj;
-    bool per_syllable;
-    uint8_t syllable;
-    match_func_t match_func;
-    const void *match_data;
+    unsigned int lookup_props = 0;
+    hb_mask_t mask = -1;
+    bool ignore_zwnj = false;
+    bool ignore_zwj = false;
+    bool per_syllable = false;
+    uint8_t syllable = 0;
+    match_func_t match_func = nullptr;
+    const void *match_data = nullptr;
   };
 
   struct skipping_iterator_t
@@ -476,6 +475,7 @@
     void init (hb_ot_apply_context_t *c_, bool context_match = false)
     {
       c = c_;
+      end = c->buffer->len;
       match_glyph_data16 = nullptr;
 #ifndef HB_NO_BEYOND_64K
       match_glyph_data24 = nullptr;
@@ -489,6 +489,7 @@
       matcher.set_mask (context_match ? -1 : c->lookup_mask);
       /* Per syllable matching is only for GSUB. */
       matcher.set_per_syllable (c->table_index == 0 && c->per_syllable);
+      matcher.set_syllable (0);
     }
     void set_lookup_props (unsigned int lookup_props)
     {
@@ -514,22 +515,34 @@
     }
 #endif
 
-    void reset (unsigned int start_index_,
-                unsigned int num_items_)
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
+    void reset (unsigned int start_index_)
     {
       idx = start_index_;
-      num_items = num_items_;
       end = c->buffer->len;
       matcher.set_syllable (start_index_ == c->buffer->idx ? c->buffer->cur().syllable () : 0);
     }
 
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
+    void reset_fast (unsigned int start_index_)
+    {
+      // Doesn't set end or syllable. Used by GPOS which doesn't care / change.
+      idx = start_index_;
+    }
+
     void reject ()
     {
-      num_items++;
       backup_glyph_data ();
     }
 
     matcher_t::may_skip_t
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
     may_skip (const hb_glyph_info_t &info) const
     { return matcher.may_skip (c, info); }
 
@@ -539,6 +552,9 @@
       SKIP
     };
 
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
     match_t match (hb_glyph_info_t &info)
     {
       matcher_t::may_skip_t skip = matcher.may_skip (c, info);
@@ -557,14 +573,12 @@
       return SKIP;
   }
 
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
     bool next (unsigned *unsafe_to = nullptr)
     {
-      assert (num_items > 0);
-      /* The alternate condition below is faster at string boundaries,
-       * but produces subpar "unsafe-to-concat" values. */
-      signed stop = (signed) end - (signed) num_items;
-      if (c->buffer->flags & HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT)
-        stop = (signed) end - 1;
+      const signed stop = (signed) end - 1;
       while ((signed) idx < stop)
       {
         idx++;
@@ -572,7 +586,6 @@
         {
           case MATCH:
           {
-            num_items--;
             advance_glyph_data ();
             return true;
           }
@@ -590,14 +603,12 @@
         *unsafe_to = end;
       return false;
     }
+#ifndef HB_OPTIMIZE_SIZE
+    HB_ALWAYS_INLINE
+#endif
     bool prev (unsigned *unsafe_from = nullptr)
     {
-      assert (num_items > 0);
-      /* The alternate condition below is faster at string boundaries,
-       * but produces subpar "unsafe-to-concat" values. */
-      unsigned stop = num_items - 1;
-      if (c->buffer->flags & HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT)
-        stop = 1 - 1;
+      const unsigned stop = 0;
       while (idx > stop)
       {
         idx--;
@@ -605,7 +616,6 @@
         {
           case MATCH:
           {
-            num_items--;
             advance_glyph_data ();
             return true;
           }
@@ -624,6 +634,7 @@
       return false;
     }
 
+    HB_ALWAYS_INLINE
     hb_codepoint_t
     get_glyph_data ()
     {
@@ -634,6 +645,7 @@
 #endif
       return 0;
     }
+    HB_ALWAYS_INLINE
     void
     advance_glyph_data ()
     {
@@ -662,7 +674,6 @@
     const HBUINT24 *match_glyph_data24;
 #endif
 
-    unsigned int num_items;
     unsigned int end;
   };
 
@@ -693,8 +704,10 @@
   hb_font_t *font;
   hb_face_t *face;
   hb_buffer_t *buffer;
+  hb_sanitize_context_t sanitizer;
   recurse_func_t recurse_func = nullptr;
   const GDEF &gdef;
+  const GDEF::accelerator_t &gdef_accel;
   const VariationStore &var_store;
   VariationStore::cache_t *var_store_cache;
   hb_set_digest_t digest;
@@ -718,9 +731,11 @@
 
   hb_ot_apply_context_t (unsigned int table_index_,
                          hb_font_t *font_,
-                         hb_buffer_t *buffer_) :
+                         hb_buffer_t *buffer_,
+                         hb_blob_t *table_blob_) :
                         table_index (table_index_),
                         font (font_), face (font->face), buffer (buffer_),
+                        sanitizer (table_blob_),
                         gdef (
 #ifndef HB_NO_OT_LAYOUT
                               *face->table.GDEF->table
@@ -728,6 +743,13 @@
                               Null (GDEF)
 #endif
                              ),
+                        gdef_accel (
+#ifndef HB_NO_OT_LAYOUT
+                              *face->table.GDEF
+#else
+                              Null (GDEF::accelerator_t)
+#endif
+                             ),
                         var_store (gdef.get_var_store ()),
                         var_store_cache (
 #ifndef HB_NO_VAR
@@ -754,10 +776,10 @@
     iter_context.init (this, true);
   }
 
-  void set_lookup_mask (hb_mask_t mask) { lookup_mask = mask; last_base = -1; last_base_until = 0; init_iters (); }
-  void set_auto_zwj (bool auto_zwj_) { auto_zwj = auto_zwj_; init_iters (); }
-  void set_auto_zwnj (bool auto_zwnj_) { auto_zwnj = auto_zwnj_; init_iters (); }
-  void set_per_syllable (bool per_syllable_) { per_syllable = per_syllable_; init_iters (); }
+  void set_lookup_mask (hb_mask_t mask, bool init = true) { lookup_mask = mask; last_base = -1; last_base_until = 0; if (init) init_iters (); }
+  void set_auto_zwj (bool auto_zwj_, bool init = true) { auto_zwj = auto_zwj_; if (init) init_iters (); }
+  void set_auto_zwnj (bool auto_zwnj_, bool init = true) { auto_zwnj = auto_zwnj_; if (init) init_iters (); }
+  void set_per_syllable (bool per_syllable_, bool init = true) { per_syllable = per_syllable_; if (init) init_iters (); }
   void set_random (bool random_) { random = random_; }
   void set_recurse_func (recurse_func_t func) { recurse_func = func; }
   void set_lookup_index (unsigned int lookup_index_) { lookup_index = lookup_index_; }
@@ -778,7 +800,7 @@
      * match_props has the set index.
      */
     if (match_props & LookupFlag::UseMarkFilteringSet)
-      return gdef.mark_set_covers (match_props >> 16, glyph);
+      return gdef_accel.mark_set_covers (match_props >> 16, glyph);
 
     /* The second byte of match_props has the meaning
      * "ignore marks of attachment type different than
@@ -790,10 +812,12 @@
     return true;
   }
 
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   bool check_glyph_property (const hb_glyph_info_t *info,
                              unsigned int  match_props) const
   {
-    hb_codepoint_t glyph = info->codepoint;
     unsigned int glyph_props = _hb_glyph_info_get_glyph_props (info);
 
     /* Not covered, if, for example, glyph class is ligature and
@@ -803,7 +827,7 @@
       return false;
 
     if (unlikely (glyph_props & HB_OT_LAYOUT_GLYPH_PROPS_MARK))
-      return match_properties_mark (glyph, glyph_props, match_props);
+      return match_properties_mark (info->codepoint, glyph_props, match_props);
 
     return true;
   }
@@ -836,7 +860,7 @@
     if (likely (has_glyph_classes))
     {
       props &= HB_OT_LAYOUT_GLYPH_PROPS_PRESERVE;
-      _hb_glyph_info_set_glyph_props (&buffer->cur(), props | gdef.get_glyph_props (glyph_index));
+      _hb_glyph_info_set_glyph_props (&buffer->cur(), props | gdef_accel.get_glyph_props (glyph_index));
     }
     else if (class_guess)
     {
@@ -884,7 +908,7 @@
 
 #ifndef HB_NO_OT_LAYOUT_LOOKUP_CACHE
   template 
-  static inline auto apply_cached_ (const T *obj, hb_ot_apply_context_t *c, hb_priority<1>) HB_RETURN (bool, obj->apply (c, true) )
+  static inline auto apply_cached_ (const T *obj, hb_ot_apply_context_t *c, hb_priority<1>) HB_RETURN (bool, obj->apply_cached (c) )
   template 
   static inline auto apply_cached_ (const T *obj, hb_ot_apply_context_t *c, hb_priority<0>) HB_RETURN (bool, obj->apply (c) )
   template 
@@ -1148,6 +1172,10 @@
 }
 
 
+static inline bool match_always (hb_glyph_info_t &info HB_UNUSED, unsigned value HB_UNUSED, const void *data HB_UNUSED)
+{
+  return true;
+}
 static inline bool match_glyph (hb_glyph_info_t &info, unsigned value, const void *data HB_UNUSED)
 {
   return info.codepoint == value;
@@ -1168,6 +1196,28 @@
     info.syllable() = klass;
   return klass == value;
 }
+static inline bool match_class_cached1 (hb_glyph_info_t &info, unsigned value, const void *data)
+{
+  unsigned klass = info.syllable() & 0x0F;
+  if (klass < 15)
+    return klass == value;
+  const ClassDef &class_def = *reinterpret_cast(data);
+  klass = class_def.get_class (info.codepoint);
+  if (likely (klass < 15))
+    info.syllable() = (info.syllable() & 0xF0) | klass;
+  return klass == value;
+}
+static inline bool match_class_cached2 (hb_glyph_info_t &info, unsigned value, const void *data)
+{
+  unsigned klass = (info.syllable() & 0xF0) >> 4;
+  if (klass < 15)
+    return klass == value;
+  const ClassDef &class_def = *reinterpret_cast(data);
+  klass = class_def.get_class (info.codepoint);
+  if (likely (klass < 15))
+    info.syllable() = (info.syllable() & 0x0F) | (klass << 4);
+  return klass == value;
+}
 static inline bool match_coverage (hb_glyph_info_t &info, unsigned value, const void *data)
 {
   Offset16To coverage;
@@ -1196,14 +1246,17 @@
   return true;
 }
 template 
-static inline bool match_input (hb_ot_apply_context_t *c,
-                                unsigned int count, /* Including the first glyph (not matched) */
-                                const HBUINT input[], /* Array of input values--start with second glyph */
-                                match_func_t match_func,
-                                const void *match_data,
-                                unsigned int *end_position,
-                                unsigned int match_positions[HB_MAX_CONTEXT_LENGTH],
-                                unsigned int *p_total_component_count = nullptr)
+#ifndef HB_OPTIMIZE_SIZE
+HB_ALWAYS_INLINE
+#endif
+static bool match_input (hb_ot_apply_context_t *c,
+                         unsigned int count, /* Including the first glyph (not matched) */
+                         const HBUINT input[], /* Array of input values--start with second glyph */
+                         match_func_t match_func,
+                         const void *match_data,
+                         unsigned int *end_position,
+                         unsigned int match_positions[HB_MAX_CONTEXT_LENGTH],
+                         unsigned int *p_total_component_count = nullptr)
 {
   TRACE_APPLY (nullptr);
 
@@ -1212,7 +1265,7 @@
   hb_buffer_t *buffer = c->buffer;
 
   hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
-  skippy_iter.reset (buffer->idx, count - 1);
+  skippy_iter.reset (buffer->idx);
   skippy_iter.set_match_func (match_func, match_data);
   skippy_iter.set_glyph_data (input);
 
@@ -1241,7 +1294,6 @@
    */
 
   unsigned int total_component_count = 0;
-  total_component_count += _hb_glyph_info_get_lig_num_comps (&buffer->cur());
 
   unsigned int first_lig_id = _hb_glyph_info_get_lig_id (&buffer->cur());
   unsigned int first_lig_comp = _hb_glyph_info_get_lig_comp (&buffer->cur());
@@ -1252,7 +1304,6 @@
     LIGBASE_MAY_SKIP
   } ligbase = LIGBASE_NOT_CHECKED;
 
-  match_positions[0] = buffer->idx;
   for (unsigned int i = 1; i < count; i++)
   {
     unsigned unsafe_to;
@@ -1317,7 +1368,12 @@
   *end_position = skippy_iter.idx + 1;
 
   if (p_total_component_count)
+  {
+    total_component_count += _hb_glyph_info_get_lig_num_comps (&buffer->cur());
     *p_total_component_count = total_component_count;
+  }
+
+  match_positions[0] = buffer->idx;
 
   return_trace (true);
 }
@@ -1436,17 +1492,20 @@
 }
 
 template 
-static inline bool match_backtrack (hb_ot_apply_context_t *c,
-                                    unsigned int count,
-                                    const HBUINT backtrack[],
-                                    match_func_t match_func,
-                                    const void *match_data,
-                                    unsigned int *match_start)
+#ifndef HB_OPTIMIZE_SIZE
+HB_ALWAYS_INLINE
+#endif
+static bool match_backtrack (hb_ot_apply_context_t *c,
+                             unsigned int count,
+                             const HBUINT backtrack[],
+                             match_func_t match_func,
+                             const void *match_data,
+                             unsigned int *match_start)
 {
   TRACE_APPLY (nullptr);
 
   hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_context;
-  skippy_iter.reset (c->buffer->backtrack_len (), count);
+  skippy_iter.reset (c->buffer->backtrack_len ());
   skippy_iter.set_match_func (match_func, match_data);
   skippy_iter.set_glyph_data (backtrack);
 
@@ -1465,18 +1524,21 @@
 }
 
 template 
-static inline bool match_lookahead (hb_ot_apply_context_t *c,
-                                    unsigned int count,
-                                    const HBUINT lookahead[],
-                                    match_func_t match_func,
-                                    const void *match_data,
-                                    unsigned int start_index,
-                                    unsigned int *end_index)
+#ifndef HB_OPTIMIZE_SIZE
+HB_ALWAYS_INLINE
+#endif
+static bool match_lookahead (hb_ot_apply_context_t *c,
+                             unsigned int count,
+                             const HBUINT lookahead[],
+                             match_func_t match_func,
+                             const void *match_data,
+                             unsigned int start_index,
+                             unsigned int *end_index)
 {
   TRACE_APPLY (nullptr);
 
   hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_context;
-  skippy_iter.reset (start_index - 1, count);
+  skippy_iter.reset (start_index - 1);
   skippy_iter.set_match_func (match_func, match_data);
   skippy_iter.set_glyph_data (lookahead);
 
@@ -1595,10 +1657,13 @@
     }
 
     covered_seq_indicies.add (seqIndex);
+    hb_set_t *cur_active_glyphs = c->push_cur_active_glyphs ();
+    if (unlikely (!cur_active_glyphs))
+      return;
     if (has_pos_glyphs) {
-      c->push_cur_active_glyphs () = std::move (pos_glyphs);
+      *cur_active_glyphs = std::move (pos_glyphs);
     } else {
-      c->push_cur_active_glyphs ().set (*c->glyphs);
+      *cur_active_glyphs = *c->glyphs;
     }
 
     unsigned endIndex = inputCount;
@@ -1848,12 +1913,13 @@
 }
 
 template 
-static inline bool context_apply_lookup (hb_ot_apply_context_t *c,
-                                         unsigned int inputCount, /* Including the first glyph (not matched) */
-                                         const HBUINT input[], /* Array of input values--start with second glyph */
-                                         unsigned int lookupCount,
-                                         const LookupRecord lookupRecord[],
-                                         const ContextApplyLookupContext &lookup_context)
+HB_ALWAYS_INLINE
+static bool context_apply_lookup (hb_ot_apply_context_t *c,
+                                  unsigned int inputCount, /* Including the first glyph (not matched) */
+                                  const HBUINT input[], /* Array of input values--start with second glyph */
+                                  unsigned int lookupCount,
+                                  const LookupRecord lookupRecord[],
+                                  const ContextApplyLookupContext &lookup_context)
 {
   unsigned match_end = 0;
   unsigned match_positions[HB_MAX_CONTEXT_LENGTH];
@@ -1879,6 +1945,9 @@
 template 
 struct Rule
 {
+  template 
+  friend struct RuleSet;
+
   bool intersects (const hb_set_t *glyphs, ContextClosureLookupContext &lookup_context) const
   {
     return context_intersects (glyphs,
@@ -1981,8 +2050,7 @@
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
-    return_trace (inputCount.sanitize (c) &&
-                  lookupCount.sanitize (c) &&
+    return_trace (c->check_struct (this) &&
                   c->check_range (inputZ.arrayZ,
                                   inputZ.item_size * (inputCount ? inputCount - 1 : 0) +
                                   LookupRecord::static_size * lookupCount));
@@ -2066,13 +2134,105 @@
               const ContextApplyLookupContext &lookup_context) const
   {
     TRACE_APPLY (this);
-    return_trace (
-    + hb_iter (rule)
-    | hb_map (hb_add (this))
-    | hb_map ([&] (const Rule &_) { return _.apply (c, lookup_context); })
-    | hb_any
-    )
-    ;
+
+    unsigned num_rules = rule.len;
+
+#ifndef HB_NO_OT_RULESETS_FAST_PATH
+    if (HB_OPTIMIZE_SIZE_VAL || num_rules <= 4)
+#endif
+    {
+    slow:
+      return_trace (
+      + hb_iter (rule)
+      | hb_map (hb_add (this))
+      | hb_map ([&] (const Rule &_) { return _.apply (c, lookup_context); })
+      | hb_any
+      )
+      ;
+    }
+
+    /* This version is optimized for speed by matching the first & second
+     * components of the rule here, instead of calling into the matching code.
+     *
+     * Replicated from LigatureSet::apply(). */
+
+    hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
+    skippy_iter.reset (c->buffer->idx);
+    skippy_iter.set_match_func (match_always, nullptr);
+    skippy_iter.set_glyph_data ((HBUINT16 *) nullptr);
+    unsigned unsafe_to = (unsigned) -1, unsafe_to1 = 0, unsafe_to2 = 0;
+    hb_glyph_info_t *first = nullptr, *second = nullptr;
+    bool matched = skippy_iter.next ();
+    if (likely (matched))
+    {
+      first = &c->buffer->info[skippy_iter.idx];
+      unsafe_to = skippy_iter.idx + 1;
+
+      if (skippy_iter.may_skip (c->buffer->info[skippy_iter.idx]))
+      {
+        /* Can't use the fast path if eg. the next char is a default-ignorable
+         * or other skippable. */
+        goto slow;
+      }
+    }
+    else
+    {
+      /* Failed to match a next glyph. Only try applying rules that have
+       * no further input. */
+      return_trace (
+      + hb_iter (rule)
+      | hb_map (hb_add (this))
+      | hb_filter ([&] (const Rule &_) { return _.inputCount <= 1; })
+      | hb_map ([&] (const Rule &_) { return _.apply (c, lookup_context); })
+      | hb_any
+      )
+      ;
+    }
+    matched = skippy_iter.next ();
+    if (likely (matched && !skippy_iter.may_skip (c->buffer->info[skippy_iter.idx])))
+    {
+      second = &c->buffer->info[skippy_iter.idx];
+      unsafe_to2 = skippy_iter.idx + 1;
+    }
+
+    auto match_input = lookup_context.funcs.match;
+    auto *input_data = lookup_context.match_data;
+    for (unsigned int i = 0; i < num_rules; i++)
+    {
+      const auto &r = this+rule.arrayZ[i];
+
+      const auto &input = r.inputZ;
+
+      if (r.inputCount <= 1 ||
+          (!match_input ||
+           match_input (*first, input.arrayZ[0], input_data)))
+      {
+        if (!second ||
+            (r.inputCount <= 2 ||
+             (!match_input ||
+              match_input (*second, input.arrayZ[1], input_data)))
+           )
+        {
+          if (r.apply (c, lookup_context))
+          {
+            if (unsafe_to != (unsigned) -1)
+              c->buffer->unsafe_to_concat (c->buffer->idx, unsafe_to);
+            return_trace (true);
+          }
+        }
+        else
+          unsafe_to = unsafe_to2;
+      }
+      else
+      {
+        if (unsafe_to == (unsigned) -1)
+          unsafe_to = unsafe_to1;
+      }
+    }
+    if (likely (unsafe_to != (unsigned) -1))
+      c->buffer->unsafe_to_concat (c->buffer->idx, unsafe_to);
+
+    return_trace (false);
   }
 
   bool subset (hb_subset_context_t *c,
@@ -2148,8 +2308,9 @@
 
   void closure (hb_closure_context_t *c) const
   {
-    hb_set_t& cur_active_glyphs = c->push_cur_active_glyphs ();
-    get_coverage ().intersect_set (c->previous_parent_active_glyphs (), cur_active_glyphs);
+    hb_set_t* cur_active_glyphs = c->push_cur_active_glyphs ();
+    if (unlikely (!cur_active_glyphs)) return;
+    get_coverage ().intersect_set (c->previous_parent_active_glyphs (), *cur_active_glyphs);
 
     struct ContextClosureLookupContext lookup_context = {
       {intersects_glyph, intersected_glyph},
@@ -2318,9 +2479,10 @@
     if (!(this+coverage).intersects (c->glyphs))
       return;
 
-    hb_set_t& cur_active_glyphs = c->push_cur_active_glyphs ();
+    hb_set_t* cur_active_glyphs = c->push_cur_active_glyphs ();
+    if (unlikely (!cur_active_glyphs)) return;
     get_coverage ().intersect_set (c->previous_parent_active_glyphs (),
-                                                 cur_active_glyphs);
+                                   *cur_active_glyphs);
 
     const ClassDef &class_def = this+classDef;
 
@@ -2431,7 +2593,9 @@
     }
   }
 
-  bool apply (hb_ot_apply_context_t *c, bool cached = false) const
+  bool apply_cached (hb_ot_apply_context_t *c) const { return _apply (c, true); }
+  bool apply (hb_ot_apply_context_t *c) const { return _apply (c, false); }
+  bool _apply (hb_ot_apply_context_t *c, bool cached) const
   {
     TRACE_APPLY (this);
     unsigned int index = (this+coverage).get_coverage (c->buffer->cur().codepoint);
@@ -2447,11 +2611,7 @@
     if (cached && c->buffer->cur().syllable() < 255)
       index = c->buffer->cur().syllable ();
     else
-    {
       index = class_def.get_class (c->buffer->cur().codepoint);
-      if (cached && index < 255)
-        c->buffer->cur().syllable() = index;
-    }
     const RuleSet &rule_set = this+ruleSet[index];
     return_trace (rule_set.apply (c, lookup_context));
   }
@@ -2561,10 +2721,10 @@
     if (!(this+coverageZ[0]).intersects (c->glyphs))
       return;
 
-    hb_set_t& cur_active_glyphs = c->push_cur_active_glyphs ();
+    hb_set_t* cur_active_glyphs = c->push_cur_active_glyphs ();
+    if (unlikely (!cur_active_glyphs)) return;
     get_coverage ().intersect_set (c->previous_parent_active_glyphs (),
-                                                 cur_active_glyphs);
-
+                                   *cur_active_glyphs);
 
     const LookupRecord *lookupRecord = &StructAfter (coverageZ.as_array (glyphCount));
     struct ContextClosureLookupContext lookup_context = {
@@ -2665,14 +2825,14 @@
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
-    if (!c->check_struct (this)) return_trace (false);
+    if (unlikely (!c->check_struct (this))) return_trace (false);
     unsigned int count = glyphCount;
-    if (!count) return_trace (false); /* We want to access coverageZ[0] freely. */
-    if (!c->check_array (coverageZ.arrayZ, count)) return_trace (false);
+    if (unlikely (!count)) return_trace (false); /* We want to access coverageZ[0] freely. */
+    if (unlikely (!c->check_array (coverageZ.arrayZ, count))) return_trace (false);
     for (unsigned int i = 0; i < count; i++)
-      if (!coverageZ[i].sanitize (c, this)) return_trace (false);
+      if (unlikely (!coverageZ[i].sanitize (c, this))) return_trace (false);
     const LookupRecord *lookupRecord = &StructAfter (coverageZ.as_array (glyphCount));
-    return_trace (c->check_array (lookupRecord, lookupCount));
+    return_trace (likely (c->check_array (lookupRecord, lookupCount)));
   }
 
   protected:
@@ -2845,16 +3005,17 @@
 }
 
 template 
-static inline bool chain_context_apply_lookup (hb_ot_apply_context_t *c,
-                                               unsigned int backtrackCount,
-                                               const HBUINT backtrack[],
-                                               unsigned int inputCount, /* Including the first glyph (not matched) */
-                                               const HBUINT input[], /* Array of input values--start with second glyph */
-                                               unsigned int lookaheadCount,
-                                               const HBUINT lookahead[],
-                                               unsigned int lookupCount,
-                                               const LookupRecord lookupRecord[],
-                                               const ChainContextApplyLookupContext &lookup_context)
+HB_ALWAYS_INLINE
+static bool chain_context_apply_lookup (hb_ot_apply_context_t *c,
+                                        unsigned int backtrackCount,
+                                        const HBUINT backtrack[],
+                                        unsigned int inputCount, /* Including the first glyph (not matched) */
+                                        const HBUINT input[], /* Array of input values--start with second glyph */
+                                        unsigned int lookaheadCount,
+                                        const HBUINT lookahead[],
+                                        unsigned int lookupCount,
+                                        const LookupRecord lookupRecord[],
+                                        const ChainContextApplyLookupContext &lookup_context)
 {
   unsigned end_index = c->buffer->idx;
   unsigned match_end = 0;
@@ -2893,6 +3054,9 @@
 template 
 struct ChainRule
 {
+  template 
+  friend struct ChainRuleSet;
+
   bool intersects (const hb_set_t *glyphs, ChainContextClosureLookupContext &lookup_context) const
   {
     const auto &input = StructAfter (backtrack);
@@ -2992,8 +3156,6 @@
                   const hb_map_t *lookahead_map = nullptr) const
   {
     TRACE_SERIALIZE (this);
-    auto *out = c->start_embed (this);
-    if (unlikely (!out)) return_trace (false);
 
     const hb_map_t *mapping = backtrack_map;
     serialize_array (c, backtrack.len, + backtrack.iter ()
@@ -3055,13 +3217,14 @@
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
-    if (!backtrack.sanitize (c)) return_trace (false);
+    /* Hyper-optimized sanitized because this is really hot. */
+    if (unlikely (!backtrack.len.sanitize (c))) return_trace (false);
     const auto &input = StructAfter (backtrack);
-    if (!input.sanitize (c)) return_trace (false);
+    if (unlikely (!input.lenP1.sanitize (c))) return_trace (false);
     const auto &lookahead = StructAfter (input);
-    if (!lookahead.sanitize (c)) return_trace (false);
+    if (unlikely (!lookahead.len.sanitize (c))) return_trace (false);
     const auto &lookup = StructAfter (lookahead);
-    return_trace (lookup.sanitize (c));
+    return_trace (likely (lookup.sanitize (c)));
   }
 
   protected:
@@ -3069,7 +3232,7 @@
                 backtrack;              /* Array of backtracking values
                                          * (to be matched before the input
                                          * sequence) */
-  HeadlessArrayOf
+  HeadlessArray16Of
                 inputX;                 /* Array of input values (start with
                                          * second glyph) */
   Array16Of
@@ -3142,13 +3305,119 @@
               const ChainContextApplyLookupContext &lookup_context) const
   {
     TRACE_APPLY (this);
-    return_trace (
-    + hb_iter (rule)
-    | hb_map (hb_add (this))
-    | hb_map ([&] (const ChainRule &_) { return _.apply (c, lookup_context); })
-    | hb_any
-    )
-    ;
+
+    unsigned num_rules = rule.len;
+
+#ifndef HB_NO_OT_RULESETS_FAST_PATH
+    if (HB_OPTIMIZE_SIZE_VAL || num_rules <= 4)
+#endif
+    {
+    slow:
+      return_trace (
+      + hb_iter (rule)
+      | hb_map (hb_add (this))
+      | hb_map ([&] (const ChainRule &_) { return _.apply (c, lookup_context); })
+      | hb_any
+      )
+      ;
+    }
+
+    /* This version is optimized for speed by matching the first & second
+     * components of the rule here, instead of calling into the matching code.
+     *
+     * Replicated from LigatureSet::apply(). */
+
+    hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c->iter_input;
+    skippy_iter.reset (c->buffer->idx);
+    skippy_iter.set_match_func (match_always, nullptr);
+    skippy_iter.set_glyph_data ((HBUINT16 *) nullptr);
+    unsigned unsafe_to = (unsigned) -1, unsafe_to1 = 0, unsafe_to2 = 0;
+    hb_glyph_info_t *first = nullptr, *second = nullptr;
+    bool matched = skippy_iter.next ();
+    if (likely (matched))
+    {
+      first = &c->buffer->info[skippy_iter.idx];
+      unsafe_to1 = skippy_iter.idx + 1;
+
+      if (skippy_iter.may_skip (c->buffer->info[skippy_iter.idx]))
+      {
+        /* Can't use the fast path if eg. the next char is a default-ignorable
+         * or other skippable. */
+        goto slow;
+      }
+    }
+    else
+    {
+      /* Failed to match a next glyph. Only try applying rules that have
+       * no further input and lookahead. */
+      return_trace (
+      + hb_iter (rule)
+      | hb_map (hb_add (this))
+      | hb_filter ([&] (const ChainRule &_)
+                   {
+                     const auto &input = StructAfter (_.backtrack);
+                     const auto &lookahead = StructAfter (input);
+                     return input.lenP1 <= 1 && lookahead.len == 0;
+                   })
+      | hb_map ([&] (const ChainRule &_) { return _.apply (c, lookup_context); })
+      | hb_any
+      )
+      ;
+    }
+    matched = skippy_iter.next ();
+    if (likely (matched && !skippy_iter.may_skip (c->buffer->info[skippy_iter.idx])))
+     {
+      second = &c->buffer->info[skippy_iter.idx];
+      unsafe_to2 = skippy_iter.idx + 1;
+     }
+
+    auto match_input = lookup_context.funcs.match[1];
+    auto match_lookahead = lookup_context.funcs.match[2];
+    auto *input_data = lookup_context.match_data[1];
+    auto *lookahead_data = lookup_context.match_data[2];
+    for (unsigned int i = 0; i < num_rules; i++)
+    {
+      const auto &r = this+rule.arrayZ[i];
+
+      const auto &input = StructAfter (r.backtrack);
+      const auto &lookahead = StructAfter (input);
+
+      unsigned lenP1 = hb_max ((unsigned) input.lenP1, 1u);
+      if (lenP1 > 1 ?
+           (!match_input ||
+            match_input (*first, input.arrayZ[0], input_data))
+          :
+           (!lookahead.len || !match_lookahead ||
+            match_lookahead (*first, lookahead.arrayZ[0], lookahead_data)))
+      {
+        if (!second ||
+            (lenP1 > 2 ?
+             (!match_input ||
+              match_input (*second, input.arrayZ[1], input_data))
+             :
+             (lookahead.len <= 2 - lenP1 || !match_lookahead ||
+              match_lookahead (*second, lookahead.arrayZ[2 - lenP1], lookahead_data))))
+        {
+          if (r.apply (c, lookup_context))
+          {
+            if (unsafe_to != (unsigned) -1)
+              c->buffer->unsafe_to_concat (c->buffer->idx, unsafe_to);
+            return_trace (true);
+          }
+        }
+        else
+          unsafe_to = unsafe_to2;
+      }
+      else
+      {
+        if (unsafe_to == (unsigned) -1)
+          unsafe_to = unsafe_to1;
+      }
+    }
+    if (likely (unsafe_to != (unsigned) -1))
+      c->buffer->unsafe_to_concat (c->buffer->idx, unsafe_to);
+
+    return_trace (false);
   }
 
   bool subset (hb_subset_context_t *c,
@@ -3229,9 +3498,10 @@
 
   void closure (hb_closure_context_t *c) const
   {
-    hb_set_t& cur_active_glyphs = c->push_cur_active_glyphs ();
+    hb_set_t* cur_active_glyphs = c->push_cur_active_glyphs ();
+    if (unlikely (!cur_active_glyphs)) return;
     get_coverage ().intersect_set (c->previous_parent_active_glyphs (),
-                                                 cur_active_glyphs);
+                                   *cur_active_glyphs);
 
     struct ChainContextClosureLookupContext lookup_context = {
       {intersects_glyph, intersected_glyph},
@@ -3401,10 +3671,10 @@
     if (!(this+coverage).intersects (c->glyphs))
       return;
 
-    hb_set_t& cur_active_glyphs = c->push_cur_active_glyphs ();
+    hb_set_t* cur_active_glyphs = c->push_cur_active_glyphs ();
+    if (unlikely (!cur_active_glyphs)) return;
     get_coverage ().intersect_set (c->previous_parent_active_glyphs (),
-                                                 cur_active_glyphs);
-
+                                   *cur_active_glyphs);
 
     const ClassDef &backtrack_class_def = this+backtrackClassDef;
     const ClassDef &input_class_def = this+inputClassDef;
@@ -3534,7 +3804,9 @@
     }
   }
 
-  bool apply (hb_ot_apply_context_t *c, bool cached = false) const
+  bool apply_cached (hb_ot_apply_context_t *c) const { return _apply (c, true); }
+  bool apply (hb_ot_apply_context_t *c) const { return _apply (c, false); }
+  bool _apply (hb_ot_apply_context_t *c, bool cached) const
   {
     TRACE_APPLY (this);
     unsigned int index = (this+coverage).get_coverage (c->buffer->cur().codepoint);
@@ -3544,26 +3816,22 @@
     const ClassDef &input_class_def = this+inputClassDef;
     const ClassDef &lookahead_class_def = this+lookaheadClassDef;
 
-    /* For ChainContextFormat2_5 we cache the LookaheadClassDef instead of InputClassDef.
-     * The reason is that most heavy fonts want to identify a glyph in context and apply
-     * a lookup to it. In this scenario, the length of the input sequence is one, whereas
-     * the lookahead / backtrack are typically longer.  The one glyph in input sequence is
-     * looked-up below and no input glyph is looked up in individual rules, whereas the
-     * lookahead and backtrack glyphs are tried.  Since we match lookahead before backtrack,
-     * we should cache lookahead.  This decisions showed a 20% improvement in shaping of
-     * the Gulzar font.
-     */
-
+    /* match_class_caches1 is slightly faster. Use it for lookahead,
+     * which is typically longer. */
     struct ChainContextApplyLookupContext lookup_context = {
-      {{cached && &backtrack_class_def == &lookahead_class_def ? match_class_cached : match_class,
-        cached && &input_class_def == &lookahead_class_def ? match_class_cached : match_class,
-        cached ? match_class_cached : match_class}},
+      {{cached && &backtrack_class_def == &lookahead_class_def ? match_class_cached1 : match_class,
+        cached ? match_class_cached2 : match_class,
+        cached ? match_class_cached1 : match_class}},
       {&backtrack_class_def,
        &input_class_def,
        &lookahead_class_def}
     };
 
-    index = input_class_def.get_class (c->buffer->cur().codepoint);
+    // Note: Corresponds to match_class_cached2
+    if (cached && ((c->buffer->cur().syllable() & 0xF0) >> 4) < 15)
+      index = (c->buffer->cur().syllable () & 0xF0) >> 4;
+    else
+      index = input_class_def.get_class (c->buffer->cur().codepoint);
     const ChainRuleSet &rule_set = this+ruleSet[index];
     return_trace (rule_set.apply (c, lookup_context));
   }
@@ -3703,10 +3971,11 @@
     if (!(this+input[0]).intersects (c->glyphs))
       return;
 
-    hb_set_t& cur_active_glyphs = c->push_cur_active_glyphs ();
+    hb_set_t* cur_active_glyphs = c->push_cur_active_glyphs ();
+    if (unlikely (!cur_active_glyphs))
+      return;
     get_coverage ().intersect_set (c->previous_parent_active_glyphs (),
-                                                 cur_active_glyphs);
-
+                                   *cur_active_glyphs);
 
     const auto &lookahead = StructAfter (input);
     const auto &lookup = StructAfter (lookahead);
@@ -3825,8 +4094,6 @@
   {
     TRACE_SUBSET (this);
 
-    auto *out = c->serializer->start_embed (this);
-    if (unlikely (!out)) return_trace (false);
     if (unlikely (!c->serializer->embed (this->format))) return_trace (false);
 
     if (!serialize_coverage_offsets (c, backtrack.iter (), this))
@@ -3853,14 +4120,14 @@
   bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
-    if (!backtrack.sanitize (c, this)) return_trace (false);
+    if (unlikely (!backtrack.sanitize (c, this))) return_trace (false);
     const auto &input = StructAfter (backtrack);
-    if (!input.sanitize (c, this)) return_trace (false);
-    if (!input.len) return_trace (false); /* To be consistent with Context. */
+    if (unlikely (!input.sanitize (c, this))) return_trace (false);
+    if (unlikely (!input.len)) return_trace (false); /* To be consistent with Context. */
     const auto &lookahead = StructAfter (input);
-    if (!lookahead.sanitize (c, this)) return_trace (false);
+    if (unlikely (!lookahead.sanitize (c, this))) return_trace (false);
     const auto &lookup = StructAfter (lookahead);
-    return_trace (lookup.sanitize (c));
+    return_trace (likely (lookup.sanitize (c)));
   }
 
   protected:
@@ -3950,7 +4217,7 @@
     TRACE_SUBSET (this);
 
     auto *out = c->serializer->start_embed (this);
-    if (unlikely (!out || !c->serializer->extend_min (out))) return_trace (false);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
 
     out->format = format;
     out->extensionLookupType = extensionLookupType;
@@ -4068,6 +4335,9 @@
   bool may_have (hb_codepoint_t g) const
   { return digest.may_have (g); }
 
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   bool apply (hb_ot_apply_context_t *c, unsigned subtables_count, bool use_cache) const
   {
 #ifndef HB_NO_OT_LAYOUT_LOOKUP_CACHE
@@ -4479,7 +4749,10 @@
   {
     accelerator_t (hb_face_t *face)
     {
-      this->table = hb_sanitize_context_t ().reference_table (face);
+      hb_sanitize_context_t sc;
+      sc.lazy_some_gpos = true;
+      this->table = sc.reference_table (face);
+
       if (unlikely (this->table->is_blocklisted (this->table.get_blob (), face)))
       {
         hb_blob_destroy (this->table.get_blob ());
@@ -4504,6 +4777,8 @@
       this->table.destroy ();
     }
 
+    hb_blob_t *get_blob () const { return table.get_blob (); }
+
     hb_ot_layout_lookup_accelerator_t *get_accel (unsigned lookup_index) const
     {
       if (unlikely (lookup_index >= lookup_count)) return nullptr;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc	2024-04-08 05:38:38.000000000 +0000
@@ -64,8 +64,8 @@
  * @include: hb-ot.h
  *
  * Functions for querying OpenType Layout features in the font face.
- * See the OpenType
- * specification for details.
+ * See the [OpenType specification](http://www.microsoft.com/typography/otspec/)
+ * for details.
  **/
 
 
@@ -257,12 +257,13 @@
 {
   _hb_buffer_assert_gsubgpos_vars (buffer);
 
-  const OT::GDEF &gdef = *font->face->table.GDEF->table;
+  const auto &gdef = *font->face->table.GDEF;
   unsigned int count = buffer->len;
+  hb_glyph_info_t *info = buffer->info;
   for (unsigned int i = 0; i < count; i++)
   {
-    _hb_glyph_info_set_glyph_props (&buffer->info[i], gdef.get_glyph_props (buffer->info[i].codepoint));
-    _hb_glyph_info_clear_lig_props (&buffer->info[i]);
+    _hb_glyph_info_set_glyph_props (&info[i], gdef.get_glyph_props (info[i].codepoint));
+    _hb_glyph_info_clear_lig_props (&info[i]);
   }
 }
 
@@ -1240,7 +1241,7 @@
  *   terminated by %HB_TAG_NONE
  * @features: (nullable) (array zero-terminated=1): The array of features to collect,
  *   terminated by %HB_TAG_NONE
- * @feature_indexes: (out): The array of feature indexes found for the query
+ * @feature_indexes: (out): The set of feature indexes found for the query
  *
  * Fetches a list of all feature indexes in the specified face's GSUB table
  * or GPOS table, underneath the specified scripts, languages, and features.
@@ -1281,6 +1282,49 @@
   }
 }
 
+/**
+ * hb_ot_layout_collect_features_map:
+ * @face: #hb_face_t to work upon
+ * @table_tag: #HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS
+ * @script_index: The index of the requested script tag
+ * @language_index: The index of the requested language tag
+ * @feature_map: (out): The map of feature tag to feature index.
+ *
+ * Fetches the mapping from feature tags to feature indexes for
+ * the specified script and language.
+ *
+ * Since: 8.1.0
+ **/
+void
+hb_ot_layout_collect_features_map (hb_face_t      *face,
+                                   hb_tag_t        table_tag,
+                                   unsigned        script_index,
+                                   unsigned        language_index,
+                                   hb_map_t       *feature_map /* OUT */)
+{
+  const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
+  const OT::LangSys &l = g.get_script (script_index).get_lang_sys (language_index);
+
+  unsigned int count = l.get_feature_indexes (0, nullptr, nullptr);
+  feature_map->alloc (count);
+
+  /* Loop in reverse, such that earlier entries win. That emulates
+   * a linear search, which seems to be what other implementations do.
+   * We found that with arialuni_t.ttf, the "ur" language system has
+   * duplicate features, and the earlier ones work but not later ones.
+   */
+  for (unsigned int i = count; i; i--)
+  {
+    unsigned feature_index = 0;
+    unsigned feature_count = 1;
+    l.get_feature_indexes (i - 1, &feature_count, &feature_index);
+    if (!feature_count)
+      break;
+    hb_tag_t feature_tag = g.get_feature_tag (feature_index);
+    feature_map->set (feature_tag, feature_index);
+  }
+}
+
 
 /**
  * hb_ot_layout_collect_lookups:
@@ -1315,8 +1359,7 @@
   hb_set_t feature_indexes;
   hb_ot_layout_collect_features (face, table_tag, scripts, languages, features, &feature_indexes);
 
-  for (hb_codepoint_t feature_index = HB_SET_VALUE_INVALID;
-       hb_set_next (&feature_indexes, &feature_index);)
+  for (auto feature_index : feature_indexes)
     g.get_feature (feature_index).add_lookup_indexes_to (lookup_indexes);
 
   g.feature_variation_collect_lookups (&feature_indexes, nullptr, lookup_indexes);
@@ -1569,7 +1612,7 @@
     glyphs_length = glyphs->get_population ();
     if (lookups)
     {
-      for (hb_codepoint_t lookup_index = HB_SET_VALUE_INVALID; hb_set_next (lookups, &lookup_index);)
+      for (auto lookup_index : *lookups)
         gsub.get_lookup (lookup_index).closure (&c, lookup_index);
     }
     else
@@ -1895,7 +1938,7 @@
     if (accel.digest.may_have (buffer->cur().codepoint) &&
         (buffer->cur().mask & c->lookup_mask) &&
         c->check_glyph_property (&buffer->cur(), c->lookup_props))
-     ret |= accel.apply (c, subtable_count, false);
+      ret |= accel.apply (c, subtable_count, false);
 
     /* The reverse lookup doesn't "advance" cursor (for good reason). */
     buffer->idx--;
@@ -1952,7 +1995,7 @@
 {
   const unsigned int table_index = proxy.table_index;
   unsigned int i = 0;
-  OT::hb_ot_apply_context_t c (table_index, font, buffer);
+  OT::hb_ot_apply_context_t c (table_index, font, buffer, proxy.accel.get_blob ());
   c.set_recurse_func (Proxy::Lookup::template dispatch_recurse_func);
 
   for (unsigned int stage_index = 0; stage_index < stages[table_index].length; stage_index++)
@@ -1977,11 +2020,12 @@
       if (accel->digest.may_have (c.digest))
       {
         c.set_lookup_index (lookup_index);
-        c.set_lookup_mask (lookup.mask);
-        c.set_auto_zwj (lookup.auto_zwj);
-        c.set_auto_zwnj (lookup.auto_zwnj);
+        c.set_lookup_mask (lookup.mask, false);
+        c.set_auto_zwj (lookup.auto_zwj, false);
+        c.set_auto_zwnj (lookup.auto_zwnj, false);
         c.set_random (lookup.random);
-        c.set_per_syllable (lookup.per_syllable);
+        c.set_per_syllable (lookup.per_syllable, false);
+        /* apply_string's set_lookup_props initializes the iterators. */
 
         apply_string (&c,
                              proxy.accel.table->get_lookup (lookup_index),
@@ -2009,20 +2053,20 @@
 {
   GSUBProxy proxy (font->face);
   if (buffer->messaging () &&
-      !buffer->message (font, "start table GSUB")) return;
+      !buffer->message (font, "start table GSUB script tag '%c%c%c%c'", HB_UNTAG (chosen_script[0]))) return;
   apply (proxy, plan, font, buffer);
   if (buffer->messaging ())
-    (void) buffer->message (font, "end table GSUB");
+    (void) buffer->message (font, "end table GSUB script tag '%c%c%c%c'", HB_UNTAG (chosen_script[0]));
 }
 
 void hb_ot_map_t::position (const hb_ot_shape_plan_t *plan, hb_font_t *font, hb_buffer_t *buffer) const
 {
   GPOSProxy proxy (font->face);
   if (buffer->messaging () &&
-      !buffer->message (font, "start table GPOS")) return;
+      !buffer->message (font, "start table GPOS script tag '%c%c%c%c'", HB_UNTAG (chosen_script[1]))) return;
   apply (proxy, plan, font, buffer);
   if (buffer->messaging ())
-    (void) buffer->message (font, "end table GPOS");
+    (void) buffer->message (font, "end table GPOS script tag '%c%c%c%c'", HB_UNTAG (chosen_script[1]));
 }
 
 void
@@ -2034,6 +2078,112 @@
 }
 
 #ifndef HB_NO_BASE
+
+static void
+choose_base_tags (hb_script_t    script,
+                  hb_language_t  language,
+                  hb_tag_t      *script_tag,
+                  hb_tag_t      *language_tag)
+{
+  hb_tag_t script_tags[HB_OT_MAX_TAGS_PER_SCRIPT];
+  unsigned script_count = ARRAY_LENGTH (script_tags);
+
+  hb_tag_t language_tags[HB_OT_MAX_TAGS_PER_LANGUAGE];
+  unsigned language_count = ARRAY_LENGTH (language_tags);
+
+  hb_ot_tags_from_script_and_language (script, language,
+                                       &script_count, script_tags,
+                                       &language_count, language_tags);
+
+  *script_tag = script_count ? script_tags[script_count - 1] : HB_OT_TAG_DEFAULT_SCRIPT;
+  *language_tag = language_count ? language_tags[language_count - 1] : HB_OT_TAG_DEFAULT_LANGUAGE;
+}
+
+/**
+ * hb_ot_layout_get_font_extents:
+ * @font: a font
+ * @direction: text direction.
+ * @script_tag:  script tag.
+ * @language_tag: language tag.
+ * @extents: (out) (nullable): font extents if found.
+ *
+ * Fetches script/language-specific font extents.  These values are
+ * looked up in the `BASE` table's `MinMax` records.
+ *
+ * If no such extents are found, the default extents for the font are
+ * fetched. As such, the return value of this function can for the
+ * most part be ignored.  Note that the per-script/language extents
+ * do not have a line-gap value, and the line-gap is set to zero in
+ * that case.
+ *
+ * Return value: `true` if found script/language-specific font extents.
+ *
+ * Since: 8.0.0
+ **/
+hb_bool_t
+hb_ot_layout_get_font_extents (hb_font_t         *font,
+                               hb_direction_t     direction,
+                               hb_tag_t           script_tag,
+                               hb_tag_t           language_tag,
+                               hb_font_extents_t *extents)
+{
+  hb_position_t min, max;
+  if (font->face->table.BASE->get_min_max (font, direction, script_tag, language_tag, HB_TAG_NONE,
+                                           &min, &max))
+  {
+    if (extents)
+    {
+      extents->ascender  = max;
+      extents->descender = min;
+      extents->line_gap  = 0;
+    }
+    return true;
+  }
+
+  hb_font_get_extents_for_direction (font, direction, extents);
+  return false;
+}
+
+/**
+ * hb_ot_layout_get_font_extents2:
+ * @font: a font
+ * @direction: text direction.
+ * @script:  script.
+ * @language: (nullable): language.
+ * @extents: (out) (nullable): font extents if found.
+ *
+ * Fetches script/language-specific font extents.  These values are
+ * looked up in the `BASE` table's `MinMax` records.
+ *
+ * If no such extents are found, the default extents for the font are
+ * fetched. As such, the return value of this function can for the
+ * most part be ignored.  Note that the per-script/language extents
+ * do not have a line-gap value, and the line-gap is set to zero in
+ * that case.
+ *
+ * This function is like hb_ot_layout_get_font_extents() but takes
+ * #hb_script_t and #hb_language_t instead of OpenType #hb_tag_t.
+ *
+ * Return value: `true` if found script/language-specific font extents.
+ *
+ * Since: 8.0.0
+ **/
+hb_bool_t
+hb_ot_layout_get_font_extents2 (hb_font_t         *font,
+                                hb_direction_t     direction,
+                                hb_script_t        script,
+                                hb_language_t      language,
+                                hb_font_extents_t *extents)
+{
+  hb_tag_t script_tag, language_tag;
+  choose_base_tags (script, language, &script_tag, &language_tag);
+  return hb_ot_layout_get_font_extents (font,
+                                        direction,
+                                        script_tag,
+                                        language_tag,
+                                        extents);
+}
+
 /**
  * hb_ot_layout_get_horizontal_baseline_tag_for_script:
  * @script: a script tag.
@@ -2132,6 +2282,42 @@
 }
 
 /**
+ * hb_ot_layout_get_baseline2:
+ * @font: a font
+ * @baseline_tag: a baseline tag
+ * @direction: text direction.
+ * @script:  script.
+ * @language: (nullable): language, currently unused.
+ * @coord: (out) (nullable): baseline value if found.
+ *
+ * Fetches a baseline value from the face.
+ *
+ * This function is like hb_ot_layout_get_baseline() but takes
+ * #hb_script_t and #hb_language_t instead of OpenType #hb_tag_t.
+ *
+ * Return value: `true` if found baseline value in the font.
+ *
+ * Since: 8.0.0
+ **/
+hb_bool_t
+hb_ot_layout_get_baseline2 (hb_font_t                   *font,
+                            hb_ot_layout_baseline_tag_t  baseline_tag,
+                            hb_direction_t               direction,
+                            hb_script_t                  script,
+                            hb_language_t                language,
+                            hb_position_t               *coord        /* OUT.  May be NULL. */)
+{
+  hb_tag_t script_tag, language_tag;
+  choose_base_tags (script, language, &script_tag, &language_tag);
+  return hb_ot_layout_get_baseline (font,
+                                    baseline_tag,
+                                    direction,
+                                    script_tag,
+                                    language_tag,
+                                    coord);
+}
+
+/**
  * hb_ot_layout_get_baseline_with_fallback:
  * @font: a font
  * @baseline_tag: a baseline tag
@@ -2353,6 +2539,41 @@
   }
 }
 
+/**
+ * hb_ot_layout_get_baseline_with_fallback2:
+ * @font: a font
+ * @baseline_tag: a baseline tag
+ * @direction: text direction.
+ * @script:  script.
+ * @language: (nullable): language, currently unused.
+ * @coord: (out): baseline value if found.
+ *
+ * Fetches a baseline value from the face, and synthesizes
+ * it if the font does not have it.
+ *
+ * This function is like hb_ot_layout_get_baseline_with_fallback() but takes
+ * #hb_script_t and #hb_language_t instead of OpenType #hb_tag_t.
+ *
+ * Since: 8.0.0
+ **/
+void
+hb_ot_layout_get_baseline_with_fallback2 (hb_font_t                   *font,
+                                          hb_ot_layout_baseline_tag_t  baseline_tag,
+                                          hb_direction_t               direction,
+                                          hb_script_t                  script,
+                                          hb_language_t                language,
+                                          hb_position_t               *coord        /* OUT */)
+{
+  hb_tag_t script_tag, language_tag;
+  choose_base_tags (script, language, &script_tag, &language_tag);
+  hb_ot_layout_get_baseline_with_fallback (font,
+                                           baseline_tag,
+                                           direction,
+                                           script_tag,
+                                           language_tag,
+                                           coord);
+}
+
 #endif
 
 
@@ -2449,9 +2670,10 @@
                                        hb_codepoint_t  glyph)
 {
   const OT::PosLookup &lookup = font->face->table.GPOS->table->get_lookup (lookup_index);
+  hb_blob_t *blob = font->face->table.GPOS->get_blob ();
   hb_glyph_position_t pos = {0};
   hb_position_single_dispatch_t c;
-  lookup.dispatch (&c, font, direction, glyph, pos);
+  lookup.dispatch (&c, font, blob, direction, glyph, pos);
   hb_position_t ret = 0;
   switch (direction)
   {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h	2024-04-08 05:38:38.000000000 +0000
@@ -325,6 +325,13 @@
                                hb_set_t       *feature_indexes /* OUT */);
 
 HB_EXTERN void
+hb_ot_layout_collect_features_map (hb_face_t      *face,
+                                   hb_tag_t        table_tag,
+                                   unsigned        script_index,
+                                   unsigned        language_index,
+                                   hb_map_t       *feature_map /* OUT */);
+
+HB_EXTERN void
 hb_ot_layout_collect_lookups (hb_face_t      *face,
                               hb_tag_t        table_tag,
                               const hb_tag_t *scripts,
@@ -447,6 +454,20 @@
  * BASE
  */
 
+HB_EXTERN hb_bool_t
+hb_ot_layout_get_font_extents (hb_font_t         *font,
+                               hb_direction_t     direction,
+                               hb_tag_t           script_tag,
+                               hb_tag_t           language_tag,
+                               hb_font_extents_t *extents);
+
+HB_EXTERN hb_bool_t
+hb_ot_layout_get_font_extents2 (hb_font_t         *font,
+                                hb_direction_t     direction,
+                                hb_script_t        script,
+                                hb_language_t      language,
+                                hb_font_extents_t *extents);
+
 /**
  * hb_ot_layout_baseline_tag_t:
  * @HB_OT_LAYOUT_BASELINE_TAG_ROMAN: The baseline used by alphabetic scripts such as Latin, Cyrillic and Greek.
@@ -499,6 +520,14 @@
                            hb_tag_t                     language_tag,
                            hb_position_t               *coord        /* OUT.  May be NULL. */);
 
+HB_EXTERN hb_bool_t
+hb_ot_layout_get_baseline2 (hb_font_t                   *font,
+                            hb_ot_layout_baseline_tag_t  baseline_tag,
+                            hb_direction_t               direction,
+                            hb_script_t                  script,
+                            hb_language_t                language,
+                            hb_position_t               *coord        /* OUT.  May be NULL. */);
+
 HB_EXTERN void
 hb_ot_layout_get_baseline_with_fallback (hb_font_t                   *font,
                                          hb_ot_layout_baseline_tag_t  baseline_tag,
@@ -507,6 +536,14 @@
                                          hb_tag_t                     language_tag,
                                          hb_position_t               *coord        /* OUT */);
 
+HB_EXTERN void
+hb_ot_layout_get_baseline_with_fallback2 (hb_font_t                   *font,
+                                          hb_ot_layout_baseline_tag_t  baseline_tag,
+                                          hb_direction_t               direction,
+                                          hb_script_t                  script,
+                                          hb_language_t                language,
+                                          hb_position_t               *coord        /* OUT */);
+
 HB_END_DECLS
 
 #endif /* HB_OT_LAYOUT_H */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh	2024-04-08 05:38:38.000000000 +0000
@@ -448,7 +448,7 @@
 static inline bool
 _hb_glyph_info_ligated_internal (const hb_glyph_info_t *info)
 {
-  return !!(info->lig_props() & IS_LIG_BASE);
+  return info->lig_props() & IS_LIG_BASE;
 }
 
 static inline unsigned int
@@ -496,37 +496,37 @@
 static inline bool
 _hb_glyph_info_is_base_glyph (const hb_glyph_info_t *info)
 {
-  return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_BASE_GLYPH);
+  return info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_BASE_GLYPH;
 }
 
 static inline bool
 _hb_glyph_info_is_ligature (const hb_glyph_info_t *info)
 {
-  return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE);
+  return info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE;
 }
 
 static inline bool
 _hb_glyph_info_is_mark (const hb_glyph_info_t *info)
 {
-  return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK);
+  return info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK;
 }
 
 static inline bool
 _hb_glyph_info_substituted (const hb_glyph_info_t *info)
 {
-  return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED);
+  return info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED;
 }
 
 static inline bool
 _hb_glyph_info_ligated (const hb_glyph_info_t *info)
 {
-  return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATED);
+  return info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATED;
 }
 
 static inline bool
 _hb_glyph_info_multiplied (const hb_glyph_info_t *info)
 {
-  return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MULTIPLIED);
+  return info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MULTIPLIED;
 }
 
 static inline bool
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc	2024-04-08 05:38:38.000000000 +0000
@@ -213,7 +213,8 @@
   /* Sort features and merge duplicates */
   if (feature_infos.length)
   {
-    feature_infos.qsort ();
+    if (!is_simple)
+      feature_infos.qsort ();
     auto *f = feature_infos.arrayZ;
     unsigned int j = 0;
     unsigned count = feature_infos.length;
@@ -238,6 +239,13 @@
     feature_infos.shrink (j + 1);
   }
 
+  hb_map_t feature_indices[2];
+  for (unsigned int table_index = 0; table_index < 2; table_index++)
+    hb_ot_layout_collect_features_map (face,
+                                       table_tags[table_index],
+                                       script_index[table_index],
+                                       language_index[table_index],
+                                       &feature_indices[table_index]);
 
   /* Allocate bits now */
   static_assert ((!(HB_GLYPH_FLAG_DEFINED & (HB_GLYPH_FLAG_DEFINED + 1))), "");
@@ -260,7 +268,6 @@
     if (!info->max_value || next_bit + bits_needed >= global_bit_shift)
       continue; /* Feature disabled, or not enough bits. */
 
-
     bool found = false;
     unsigned int feature_index[2];
     for (unsigned int table_index = 0; table_index < 2; table_index++)
@@ -268,12 +275,14 @@
       if (required_feature_tag[table_index] == info->tag)
         required_feature_stage[table_index] = info->stage[table_index];
 
-      found |= (bool) hb_ot_layout_language_find_feature (face,
-                                                          table_tags[table_index],
-                                                          script_index[table_index],
-                                                          language_index[table_index],
-                                                          info->tag,
-                                                          &feature_index[table_index]);
+      hb_codepoint_t *index;
+      if (feature_indices[table_index].has (info->tag, &index))
+      {
+        feature_index[table_index] = *index;
+        found = true;
+      }
+      else
+        feature_index[table_index] = HB_OT_LAYOUT_NO_FEATURE_INDEX;
     }
     if (!found && (info->flags & F_GLOBAL_SEARCH))
     {
@@ -314,7 +323,8 @@
     map->needs_fallback = !found;
   }
   //feature_infos.shrink (0); /* Done with these */
-
+  if (is_simple)
+    m.features.qsort ();
 
   add_gsub_pause (nullptr);
   add_gpos_pause (nullptr);
@@ -350,7 +360,7 @@
       }
 
       /* Sort lookups and merge duplicates */
-      if (last_num_lookups < lookups.length)
+      if (last_num_lookups + 1 < lookups.length)
       {
         lookups.as_array ().sub_array (last_num_lookups, lookups.length - last_num_lookups).qsort ();
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh	2024-04-08 05:38:38.000000000 +0000
@@ -60,6 +60,13 @@
 
     int cmp (const hb_tag_t tag_) const
     { return tag_ < tag ? -1 : tag_ > tag ? 1 : 0; }
+
+    HB_INTERNAL static int cmp (const void *pa, const void *pb)
+    {
+      const feature_map_t *a = (const feature_map_t *) pa;
+      const feature_map_t *b = (const feature_map_t *) pb;
+      return a->tag < b->tag ? -1 : a->tag > b->tag ? 1 : 0;
+    }
   };
 
   struct lookup_map_t {
@@ -273,6 +280,7 @@
 
   hb_face_t *face;
   hb_segment_properties_t props;
+  bool is_simple;
 
   hb_tag_t chosen_script[2];
   bool found_script[2];
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -73,7 +73,6 @@
   {
     TRACE_SERIALIZE (this);
     auto *out = c->start_embed (this);
-    if (unlikely (!out)) return_trace (nullptr);
 
     HBINT16 *p = c->allocate_size (HBINT16::static_size * 2);
     if (unlikely (!p)) return_trace (nullptr);
@@ -310,7 +309,6 @@
   {
     TRACE_SERIALIZE (this);
     auto *out = c->start_embed (this);
-    if (unlikely (!out)) return_trace (nullptr);
 
     if (unlikely (!c->embed (heightCount))) return_trace (nullptr);
 
@@ -572,6 +570,7 @@
 
     auto it =
     + hb_iter (this+extendedShapeCoverage)
+    | hb_take (c->plan->source->get_num_glyphs ())
     | hb_filter (glyphset)
     | hb_map_retains_sorting (glyph_map)
     ;
@@ -757,8 +756,6 @@
   bool subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
-    auto *out = c->serializer->start_embed (*this);
-    if (unlikely (!out)) return_trace (false);
 
     if (!c->serializer->copy (italicsCorrection, this)) return_trace (false);
     if (!c->serializer->copy (partRecords.len)) return_trace (false);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc	2024-04-08 05:38:38.000000000 +0000
@@ -76,7 +76,7 @@
  *
  * However, if the requested constant is #HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN,
  * #HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN or
- * #HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN, then the return value is
+ * #HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT, then the return value is
  * an integer between 0 and 100 representing that percentage.
  *
  * Return value: the requested constant or zero
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc	2024-04-08 05:38:38.000000000 +0000
@@ -196,7 +196,7 @@
         *position *= mult;
 
         if (font->slant)
-          *position += _hb_roundf (mult * font->slant_xy * rise);
+          *position += roundf (mult * font->slant_xy * rise);
       }
 
       return ret;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -246,24 +246,19 @@
     }
 #endif
 
-    if (c->plan->user_axes_location.has (HB_TAG ('w','g','h','t')) &&
-        !c->plan->pinned_at_default)
+    Triple *axis_range;
+    if (c->plan->user_axes_location.has (HB_TAG ('w','g','h','t'), &axis_range))
     {
-      float weight_class = c->plan->user_axes_location.get (HB_TAG ('w','g','h','t'));
-      if (!c->serializer->check_assign (os2_prime->usWeightClass,
-                                        roundf (hb_clamp (weight_class, 1.0f, 1000.0f)),
-                                        HB_SERIALIZE_ERROR_INT_OVERFLOW))
-        return_trace (false);
+      unsigned weight_class = static_cast (roundf (hb_clamp (axis_range->middle, 1.0f, 1000.0f)));
+      if (os2_prime->usWeightClass != weight_class)
+        os2_prime->usWeightClass = weight_class;
     }
 
-    if (c->plan->user_axes_location.has (HB_TAG ('w','d','t','h')) &&
-        !c->plan->pinned_at_default)
+    if (c->plan->user_axes_location.has (HB_TAG ('w','d','t','h'), &axis_range))
     {
-      float width = c->plan->user_axes_location.get (HB_TAG ('w','d','t','h'));
-      if (!c->serializer->check_assign (os2_prime->usWidthClass,
-                                        roundf (map_wdth_to_widthclass (width)),
-                                        HB_SERIALIZE_ERROR_INT_OVERFLOW))
-        return_trace (false);
+      unsigned width_class = static_cast (roundf (map_wdth_to_widthclass (axis_range->middle)));
+      if (os2_prime->usWidthClass != width_class)
+        os2_prime->usWidthClass = width_class;
     }
 
     if (c->plan->flags & HB_SUBSET_FLAGS_NO_PRUNE_UNICODE_RANGES)
@@ -287,8 +282,7 @@
     /* This block doesn't show up in profiles. If it ever did,
      * we can rewrite it to iterate over OS/2 ranges and use
      * set iteration to check if the range matches. */
-    for (hb_codepoint_t cp = HB_SET_VALUE_INVALID;
-         codepoints->next (&cp);)
+    for (auto cp : *codepoints)
     {
       unsigned int bit = _hb_ot_os2_get_unicode_range_bit (cp);
       if (bit < 128)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh	2024-04-08 05:38:38.000000000 +0000
@@ -79,6 +79,11 @@
   post::accelerator_t _post (c->plan->source);
 
   hb_hashmap_t glyph_name_to_new_index;
+
+  old_new_index_map.alloc (num_glyphs);
+  old_gid_new_index_map.alloc (num_glyphs);
+  glyph_name_to_new_index.alloc (num_glyphs);
+
   for (hb_codepoint_t new_gid = 0; new_gid < num_glyphs; new_gid++)
   {
     hb_codepoint_t old_gid = reverse_glyph_map.get (new_gid);
@@ -86,11 +91,12 @@
 
     unsigned new_index;
     const uint32_t *new_index2;
-    if (old_index <= 257) new_index = old_index;
+    if (old_index <= 257)
+      new_index = old_index;
     else if (old_new_index_map.has (old_index, &new_index2))
-    {
       new_index = *new_index2;
-    } else {
+    else
+    {
       hb_bytes_t s = _post.find_glyph_name (old_gid);
       new_index = glyph_name_to_new_index.get (s);
       if (new_index == (unsigned)-1)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -96,8 +96,7 @@
   bool subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
-    post *post_prime = c->serializer->start_embed ();
-    if (unlikely (!post_prime)) return_trace (false);
+    auto *post_prime = c->serializer->start_embed ();
 
     bool glyph_names = c->plan->flags & HB_SUBSET_FLAGS_GLYPH_NAMES;
     if (!serialize (c->serializer, glyph_names))
@@ -114,12 +113,12 @@
     }
 #endif
 
-    if (c->plan->user_axes_location.has (HB_TAG ('s','l','n','t')) &&
-        !c->plan->pinned_at_default)
+    Triple *axis_range;
+    if (c->plan->user_axes_location.has (HB_TAG ('s','l','n','t'), &axis_range))
     {
-      float italic_angle = c->plan->user_axes_location.get (HB_TAG ('s','l','n','t'));
-      italic_angle = hb_max (-90.f, hb_min (italic_angle, 90.f));
-      post_prime->italicAngle.set_float (italic_angle);
+      float italic_angle = hb_max (-90.f, hb_min (axis_range->middle, 90.f));
+      if (post_prime->italicAngle.to_float () != italic_angle)
+        post_prime->italicAngle.set_float (italic_angle);
     }
 
     if (glyph_names && version.major == 2)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc	2024-04-08 05:38:38.000000000 +0000
@@ -383,14 +383,15 @@
   if (!all_simple && buffer->message(font, "start reorder"))
   {
     count = buffer->len;
+    hb_glyph_info_t *info = buffer->info;
     for (unsigned int i = 0; i < count; i++)
     {
-      if (_hb_glyph_info_get_modified_combining_class (&buffer->info[i]) == 0)
+      if (_hb_glyph_info_get_modified_combining_class (&info[i]) == 0)
         continue;
 
       unsigned int end;
       for (end = i + 1; end < count; end++)
-        if (_hb_glyph_info_get_modified_combining_class (&buffer->info[end]) == 0)
+        if (_hb_glyph_info_get_modified_combining_class (&info[end]) == 0)
           break;
 
       /* We are going to do a O(n^2).  Only do this if the sequence is short. */
@@ -414,11 +415,13 @@
      * If it did NOT, then make it skippable.
      * https://github.com/harfbuzz/harfbuzz/issues/554
      */
-    for (unsigned int i = 1; i + 1 < buffer->len; i++)
-      if (buffer->info[i].codepoint == 0x034Fu/*CGJ*/ &&
-          (info_cc(buffer->info[i+1]) == 0 || info_cc(buffer->info[i-1]) <= info_cc(buffer->info[i+1])))
+    unsigned count = buffer->len;
+    hb_glyph_info_t *info = buffer->info;
+    for (unsigned int i = 1; i + 1 < count; i++)
+      if (info[i].codepoint == 0x034Fu/*CGJ*/ &&
+          (info_cc(info[i+1]) == 0 || info_cc(info[i-1]) <= info_cc(info[i+1])))
       {
-        _hb_glyph_info_unhide (&buffer->info[i]);
+        _hb_glyph_info_unhide (&info[i]);
       }
   }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc	2024-04-08 05:38:38.000000000 +0000
@@ -313,6 +313,8 @@
 {
   hb_ot_map_builder_t *map = &planner->map;
 
+  map->is_simple = true;
+
   map->enable_feature (HB_TAG('r','v','r','n'));
   map->add_gsub_pause (nullptr);
 
@@ -354,7 +356,10 @@
   map->enable_feature (HB_TAG ('H','A','R','F')); /* Considered discretionary. */
 
   if (planner->shaper->collect_features)
+  {
+    map->is_simple = false;
     planner->shaper->collect_features (planner);
+  }
 
   map->enable_feature (HB_TAG ('B','u','z','z')); /* Considered required. */
   map->enable_feature (HB_TAG ('B','U','Z','Z')); /* Considered discretionary. */
@@ -378,6 +383,8 @@
     map->enable_feature (HB_TAG ('v','e','r','t'), F_GLOBAL_SEARCH);
   }
 
+  if (num_user_features)
+    map->is_simple = false;
   for (unsigned int i = 0; i < num_user_features; i++)
   {
     const hb_feature_t *feature = &user_features[i];
@@ -469,9 +476,18 @@
   {
     _hb_glyph_info_set_unicode_props (&info[i], buffer);
 
+    unsigned gen_cat = _hb_glyph_info_get_general_category (&info[i]);
+    if (FLAG_UNSAFE (gen_cat) &
+        (FLAG (HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER) |
+         FLAG (HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER) |
+         FLAG (HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER) |
+         FLAG (HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER) |
+         FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR)))
+      continue;
+
     /* Marks are already set as continuation by the above line.
      * Handle Emoji_Modifier and ZWJ-continuation. */
-    if (unlikely (_hb_glyph_info_get_general_category (&info[i]) == HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL &&
+    if (unlikely (gen_cat == HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL &&
                   hb_in_range (info[i].codepoint, 0x1F3FBu, 0x1F3FFu)))
     {
       _hb_glyph_info_set_continuation (&info[i]);
@@ -749,6 +765,14 @@
              _hb_glyph_info_get_general_category (&info[end]) ==
              HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER)
         end++;
+      if (start == i || end == i + 1)
+      {
+        if (start == i)
+          buffer->unsafe_to_concat (start, start + 1);
+        if (end == i + 1)
+          buffer->unsafe_to_concat (end - 1, end);
+        continue;
+      }
 
       buffer->unsafe_to_break (start, end);
 
@@ -1030,7 +1054,7 @@
    * direction is backward we don't shift and it will end up
    * hanging over the next glyph after the final reordering.
    *
-   * Note: If fallback positinoing happens, we don't care about
+   * Note: If fallback positioning happens, we don't care about
    * this as it will be overridden.
    */
   bool adjust_offsets_when_zeroing = c->plan->adjust_mark_positioning_when_zeroing &&
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh	2024-04-08 05:38:38.000000000 +0000
@@ -368,7 +368,7 @@
                             hb_font_t *font,
                             hb_buffer_t *buffer)
 {
-  OT::hb_ot_apply_context_t c (0, font, buffer);
+  OT::hb_ot_apply_context_t c (0, font, buffer, hb_blob_get_empty ());
   for (unsigned int i = 0; i < fallback_plan->num_lookups; i++)
     if (fallback_plan->lookup_array[i]) {
       c.set_lookup_mask (fallback_plan->mask_array[i]);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh	2024-04-08 05:38:38.000000000 +0000
@@ -6,10 +6,10 @@
  *
  * on files with these headers:
  *
- * # ArabicShaping-15.0.0.txt
- * # Date: 2022-02-14, 18:50:00 GMT [KW, RP]
- * # Scripts-15.0.0.txt
- * # Date: 2022-04-26, 23:15:02 GMT
+ * # ArabicShaping-15.1.0.txt
+ * # Date: 2023-01-05
+ * # Scripts-15.1.0.txt
+ * # Date: 2023-07-28, 16:01:07 GMT
  */
 
 #ifndef HB_OT_SHAPER_ARABIC_JOINING_LIST_HH
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -6,10 +6,10 @@
  *
  * on files with these headers:
  *
- * # ArabicShaping-15.0.0.txt
- * # Date: 2022-02-14, 18:50:00 GMT [KW, RP]
- * # Blocks-15.0.0.txt
- * # Date: 2022-01-28, 20:58:00 GMT [KW]
+ * # ArabicShaping-15.1.0.txt
+ * # Date: 2023-01-05
+ * # Blocks-15.1.0.txt
+ * # Date: 2023-07-28, 15:47:20 GMT
  * UnicodeData.txt does not have a header.
  */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc	2024-04-08 05:38:38.000000000 +0000
@@ -486,8 +486,10 @@
   if (likely (!(buffer->scratch_flags & HB_BUFFER_SCRATCH_FLAG_ARABIC_HAS_STCH)))
     return;
 
-  /* The Arabic shaper currently always processes in RTL mode, so we should
-   * stretch / position the stretched pieces to the left / preceding glyphs. */
+  bool rtl = buffer->props.direction == HB_DIRECTION_RTL;
+
+  if (!rtl)
+    buffer->reverse ();
 
   /* We do a two pass implementation:
    * First pass calculates the exact number of extra glyphs we need,
@@ -577,7 +579,10 @@
         ++n_copies;
         hb_position_t excess = (n_copies + 1) * sign * w_repeating - sign * w_remaining;
         if (excess > 0)
+        {
           extra_repeat_overlap = excess / (n_copies * n_repeating);
+          w_remaining = 0;
+        }
       }
 
       if (step == MEASURE)
@@ -588,7 +593,7 @@
       else
       {
         buffer->unsafe_to_break (context, end);
-        hb_position_t x_offset = 0;
+        hb_position_t x_offset = w_remaining / 2;
         for (unsigned int k = end; k > start; k--)
         {
           hb_position_t width = font->get_glyph_h_advance (info[k - 1].codepoint);
@@ -599,16 +604,27 @@
 
           DEBUG_MSG (ARABIC, nullptr, "appending %u copies of glyph %u; j=%u",
                      repeat, info[k - 1].codepoint, j);
+          pos[k - 1].x_advance = 0;
           for (unsigned int n = 0; n < repeat; n++)
           {
-            x_offset -= width;
-            if (n > 0)
-              x_offset += extra_repeat_overlap;
+            if (rtl)
+            {
+              x_offset -= width;
+              if (n > 0)
+                x_offset += extra_repeat_overlap;
+            }
             pos[k - 1].x_offset = x_offset;
             /* Append copy. */
             --j;
             info[j] = info[k - 1];
             pos[j] = pos[k - 1];
+
+            if (!rtl)
+            {
+              x_offset += width;
+              if (n > 0)
+                x_offset -= extra_repeat_overlap;
+            }
           }
         }
       }
@@ -625,6 +641,9 @@
       buffer->len = new_len;
     }
   }
+
+  if (!rtl)
+    buffer->reverse ();
 }
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh	2024-04-08 05:38:38.000000000 +0000
@@ -53,7 +53,7 @@
 };
 
 
-#line 54 "hb-ot-shaper-indic-machine.hh"
+#line 57 "hb-ot-shaper-indic-machine.hh"
 #define indic_syllable_machine_ex_A 9u
 #define indic_syllable_machine_ex_C 1u
 #define indic_syllable_machine_ex_CM 16u
@@ -76,7 +76,7 @@
 #define indic_syllable_machine_ex_ZWNJ 5u
 
 
-#line 75 "hb-ot-shaper-indic-machine.hh"
+#line 80 "hb-ot-shaper-indic-machine.hh"
 static const unsigned char _indic_syllable_machine_trans_keys[] = {
         8u, 8u, 4u, 13u, 5u, 13u, 5u, 13u, 13u, 13u, 4u, 13u, 4u, 13u, 4u, 13u,
         8u, 8u, 5u, 13u, 5u, 13u, 13u, 13u, 4u, 13u, 4u, 13u, 4u, 13u, 4u, 13u,
@@ -460,7 +460,7 @@
   int cs;
   hb_glyph_info_t *info = buffer->info;
 
-#line 453 "hb-ot-shaper-indic-machine.hh"
+#line 464 "hb-ot-shaper-indic-machine.hh"
         {
         cs = indic_syllable_machine_start;
         ts = 0;
@@ -476,7 +476,7 @@
 
   unsigned int syllable_serial = 1;
 
-#line 465 "hb-ot-shaper-indic-machine.hh"
+#line 480 "hb-ot-shaper-indic-machine.hh"
         {
         int _slen;
         int _trans;
@@ -490,7 +490,7 @@
 #line 1 "NONE"
         {ts = p;}
         break;
-#line 477 "hb-ot-shaper-indic-machine.hh"
+#line 494 "hb-ot-shaper-indic-machine.hh"
         }
 
         _keys = _indic_syllable_machine_trans_keys + (cs<<1);
@@ -593,7 +593,7 @@
 #line 114 "hb-ot-shaper-indic-machine.rl"
         {act = 6;}
         break;
-#line 559 "hb-ot-shaper-indic-machine.hh"
+#line 597 "hb-ot-shaper-indic-machine.hh"
         }
 
 _again:
@@ -602,7 +602,7 @@
 #line 1 "NONE"
         {ts = 0;}
         break;
-#line 566 "hb-ot-shaper-indic-machine.hh"
+#line 606 "hb-ot-shaper-indic-machine.hh"
         }
 
         if ( ++p != pe )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc	2024-04-08 05:38:38.000000000 +0000
@@ -6,12 +6,12 @@
  *
  * on files with these headers:
  *
- * # IndicSyllabicCategory-15.0.0.txt
- * # Date: 2022-05-26, 02:18:00 GMT [KW, RP]
- * # IndicPositionalCategory-15.0.0.txt
- * # Date: 2022-05-26, 02:18:00 GMT [KW, RP]
- * # Blocks-15.0.0.txt
- * # Date: 2022-01-28, 20:58:00 GMT [KW]
+ * # IndicSyllabicCategory-15.1.0.txt
+ * # Date: 2023-01-05
+ * # IndicPositionalCategory-15.1.0.txt
+ * # Date: 2023-01-05
+ * # Blocks-15.1.0.txt
+ * # Date: 2023-07-28, 15:47:20 GMT
  */
 
 #include "hb.hh"
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer-machine.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer-machine.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer-machine.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer-machine.hh	2024-04-08 05:38:38.000000000 +0000
@@ -48,7 +48,7 @@
 };
 
 
-#line 49 "hb-ot-shaper-khmer-machine.hh"
+#line 52 "hb-ot-shaper-khmer-machine.hh"
 #define khmer_syllable_machine_ex_C 1u
 #define khmer_syllable_machine_ex_DOTTEDCIRCLE 11u
 #define khmer_syllable_machine_ex_H 4u
@@ -66,7 +66,7 @@
 #define khmer_syllable_machine_ex_ZWNJ 5u
 
 
-#line 65 "hb-ot-shaper-khmer-machine.hh"
+#line 70 "hb-ot-shaper-khmer-machine.hh"
 static const unsigned char _khmer_syllable_machine_trans_keys[] = {
         5u, 26u, 5u, 26u, 1u, 15u, 5u, 26u, 5u, 26u, 5u, 26u, 5u, 26u, 5u, 26u,
         5u, 26u, 5u, 26u, 5u, 26u, 5u, 26u, 5u, 26u, 1u, 15u, 5u, 26u, 5u, 26u,
@@ -294,7 +294,7 @@
   int cs;
   hb_glyph_info_t *info = buffer->info;
 
-#line 287 "hb-ot-shaper-khmer-machine.hh"
+#line 298 "hb-ot-shaper-khmer-machine.hh"
         {
         cs = khmer_syllable_machine_start;
         ts = 0;
@@ -310,7 +310,7 @@
 
   unsigned int syllable_serial = 1;
 
-#line 299 "hb-ot-shaper-khmer-machine.hh"
+#line 314 "hb-ot-shaper-khmer-machine.hh"
         {
         int _slen;
         int _trans;
@@ -324,7 +324,7 @@
 #line 1 "NONE"
         {ts = p;}
         break;
-#line 311 "hb-ot-shaper-khmer-machine.hh"
+#line 328 "hb-ot-shaper-khmer-machine.hh"
         }
 
         _keys = _khmer_syllable_machine_trans_keys + (cs<<1);
@@ -394,7 +394,7 @@
 #line 98 "hb-ot-shaper-khmer-machine.rl"
         {act = 3;}
         break;
-#line 368 "hb-ot-shaper-khmer-machine.hh"
+#line 398 "hb-ot-shaper-khmer-machine.hh"
         }
 
 _again:
@@ -403,7 +403,7 @@
 #line 1 "NONE"
         {ts = 0;}
         break;
-#line 375 "hb-ot-shaper-khmer-machine.hh"
+#line 407 "hb-ot-shaper-khmer-machine.hh"
         }
 
         if ( ++p != pe )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh	2024-04-08 05:38:38.000000000 +0000
@@ -50,7 +50,7 @@
 };
 
 
-#line 51 "hb-ot-shaper-myanmar-machine.hh"
+#line 54 "hb-ot-shaper-myanmar-machine.hh"
 #define myanmar_syllable_machine_ex_A 9u
 #define myanmar_syllable_machine_ex_As 32u
 #define myanmar_syllable_machine_ex_C 1u
@@ -77,7 +77,7 @@
 #define myanmar_syllable_machine_ex_ZWNJ 5u
 
 
-#line 76 "hb-ot-shaper-myanmar-machine.hh"
+#line 81 "hb-ot-shaper-myanmar-machine.hh"
 static const unsigned char _myanmar_syllable_machine_trans_keys[] = {
         1u, 41u, 3u, 41u, 5u, 39u, 5u, 8u, 3u, 41u, 3u, 39u, 3u, 39u, 5u, 39u,
         5u, 39u, 3u, 39u, 3u, 39u, 3u, 41u, 5u, 39u, 1u, 15u, 3u, 39u, 3u, 39u,
@@ -443,7 +443,7 @@
   int cs;
   hb_glyph_info_t *info = buffer->info;
 
-#line 436 "hb-ot-shaper-myanmar-machine.hh"
+#line 447 "hb-ot-shaper-myanmar-machine.hh"
         {
         cs = myanmar_syllable_machine_start;
         ts = 0;
@@ -459,7 +459,7 @@
 
   unsigned int syllable_serial = 1;
 
-#line 448 "hb-ot-shaper-myanmar-machine.hh"
+#line 463 "hb-ot-shaper-myanmar-machine.hh"
         {
         int _slen;
         int _trans;
@@ -473,7 +473,7 @@
 #line 1 "NONE"
         {ts = p;}
         break;
-#line 460 "hb-ot-shaper-myanmar-machine.hh"
+#line 477 "hb-ot-shaper-myanmar-machine.hh"
         }
 
         _keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
@@ -519,7 +519,7 @@
 #line 113 "hb-ot-shaper-myanmar-machine.rl"
         {te = p;p--;{ found_syllable (myanmar_non_myanmar_cluster); }}
         break;
-#line 498 "hb-ot-shaper-myanmar-machine.hh"
+#line 523 "hb-ot-shaper-myanmar-machine.hh"
         }
 
 _again:
@@ -528,7 +528,7 @@
 #line 1 "NONE"
         {ts = 0;}
         break;
-#line 505 "hb-ot-shaper-myanmar-machine.hh"
+#line 532 "hb-ot-shaper-myanmar-machine.hh"
         }
 
         if ( ++p != pe )
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.cc	2024-04-08 05:38:38.000000000 +0000
@@ -40,6 +40,14 @@
   if (unlikely (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE))
     return false;
   if (likely (!(buffer->scratch_flags & HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE)))
+  {
+    if (buffer->messaging ())
+      (void) buffer->message (font, "skipped inserting dotted-circles because there is no broken syllables");
+    return false;
+  }
+
+  if (buffer->messaging () &&
+      !buffer->message (font, "start inserting dotted-circles"))
     return false;
 
   hb_codepoint_t dottedcircle_glyph;
@@ -84,6 +92,10 @@
       (void) buffer->next_glyph ();
   }
   buffer->sync ();
+
+  if (buffer->messaging ())
+    (void) buffer->message (font, "end inserting dotted-circles");
+
   return true;
 }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh	2024-04-08 05:38:38.000000000 +0000
@@ -53,7 +53,7 @@
 };
 
 
-#line 54 "hb-ot-shaper-use-machine.hh"
+#line 57 "hb-ot-shaper-use-machine.hh"
 #define use_syllable_machine_ex_B 1u
 #define use_syllable_machine_ex_CGJ 6u
 #define use_syllable_machine_ex_CMAbv 31u
@@ -68,7 +68,9 @@
 #define use_syllable_machine_ex_G 49u
 #define use_syllable_machine_ex_GB 5u
 #define use_syllable_machine_ex_H 12u
+#define use_syllable_machine_ex_HM 54u
 #define use_syllable_machine_ex_HN 13u
+#define use_syllable_machine_ex_HR 55u
 #define use_syllable_machine_ex_HVM 53u
 #define use_syllable_machine_ex_IS 44u
 #define use_syllable_machine_ex_J 50u
@@ -97,673 +99,662 @@
 #define use_syllable_machine_ex_ZWNJ 14u
 
 
-#line 96 "hb-ot-shaper-use-machine.hh"
+#line 103 "hb-ot-shaper-use-machine.hh"
 static const unsigned char _use_syllable_machine_trans_keys[] = {
-        0u, 53u, 11u, 53u, 11u, 53u, 1u, 53u, 14u, 48u, 14u, 47u, 14u, 47u, 14u, 47u,
-        14u, 46u, 14u, 46u, 14u, 14u, 14u, 48u, 14u, 48u, 14u, 48u, 1u, 14u, 14u, 48u,
-        14u, 53u, 14u, 53u, 14u, 53u, 14u, 53u, 12u, 53u, 14u, 53u, 12u, 53u, 12u, 53u,
-        12u, 53u, 11u, 53u, 1u, 14u, 1u, 48u, 11u, 53u, 14u, 42u, 14u, 42u, 11u, 53u,
+        49u, 51u, 0u, 53u, 11u, 53u, 11u, 53u, 1u, 53u, 14u, 48u, 14u, 47u, 14u, 47u,
+        14u, 47u, 14u, 46u, 14u, 46u, 14u, 14u, 14u, 48u, 14u, 48u, 14u, 48u, 1u, 14u,
+        14u, 48u, 14u, 53u, 14u, 53u, 14u, 53u, 14u, 53u, 12u, 53u, 14u, 53u, 12u, 53u,
+        12u, 53u, 12u, 53u, 11u, 53u, 1u, 14u, 1u, 48u, 14u, 42u, 14u, 42u, 11u, 53u,
+        1u, 53u, 14u, 48u, 14u, 47u, 14u, 47u, 14u, 47u, 14u, 46u, 14u, 46u, 14u, 14u,
+        14u, 48u, 14u, 48u, 14u, 48u, 1u, 14u, 14u, 48u, 14u, 53u, 14u, 53u, 14u, 53u,
+        14u, 53u, 12u, 53u, 14u, 53u, 12u, 53u, 12u, 53u, 12u, 53u, 11u, 53u, 1u, 14u,
+        1u, 14u, 1u, 48u, 13u, 14u, 4u, 14u, 11u, 53u, 11u, 53u, 1u, 53u, 14u, 48u,
+        14u, 47u, 14u, 47u, 14u, 47u, 14u, 46u, 14u, 46u, 14u, 14u, 14u, 48u, 14u, 48u,
+        14u, 48u, 1u, 14u, 14u, 48u, 14u, 53u, 14u, 53u, 14u, 53u, 14u, 53u, 12u, 53u,
+        14u, 53u, 12u, 53u, 12u, 53u, 12u, 53u, 11u, 53u, 1u, 14u, 1u, 14u, 1u, 48u,
         11u, 53u, 1u, 53u, 14u, 48u, 14u, 47u, 14u, 47u, 14u, 47u, 14u, 46u, 14u, 46u,
         14u, 14u, 14u, 48u, 14u, 48u, 14u, 48u, 1u, 14u, 14u, 48u, 14u, 53u, 14u, 53u,
         14u, 53u, 14u, 53u, 12u, 53u, 14u, 53u, 12u, 53u, 12u, 53u, 12u, 53u, 11u, 53u,
-        1u, 14u, 1u, 14u, 1u, 48u, 13u, 14u, 4u, 14u, 11u, 53u, 11u, 53u, 1u, 53u,
-        14u, 48u, 14u, 47u, 14u, 47u, 14u, 47u, 14u, 46u, 14u, 46u, 14u, 14u, 14u, 48u,
-        14u, 48u, 14u, 48u, 1u, 14u, 14u, 48u, 14u, 53u, 14u, 53u, 14u, 53u, 14u, 53u,
-        12u, 53u, 14u, 53u, 12u, 53u, 12u, 53u, 12u, 53u, 11u, 53u, 1u, 14u, 1u, 14u,
-        1u, 48u, 11u, 53u, 11u, 53u, 1u, 53u, 14u, 48u, 14u, 47u, 14u, 47u, 14u, 47u,
-        14u, 46u, 14u, 46u, 14u, 14u, 14u, 48u, 14u, 48u, 14u, 48u, 1u, 14u, 14u, 48u,
-        14u, 53u, 14u, 53u, 14u, 53u, 14u, 53u, 12u, 53u, 14u, 53u, 12u, 53u, 12u, 53u,
-        12u, 53u, 11u, 53u, 1u, 14u, 1u, 48u, 4u, 14u, 13u, 14u, 1u, 53u, 11u, 53u,
-        14u, 42u, 14u, 42u, 1u, 5u, 14u, 52u, 14u, 52u, 14u, 51u, 0
+        1u, 14u, 1u, 48u, 4u, 14u, 13u, 14u, 1u, 53u, 14u, 42u, 14u, 42u, 1u, 5u,
+        14u, 55u, 14u, 51u, 14u, 52u, 14u, 54u, 11u, 53u, 0
 };
 
 static const char _use_syllable_machine_key_spans[] = {
-        54, 43, 43, 53, 35, 34, 34, 34,
-        33, 33, 1, 35, 35, 35, 14, 35,
-        40, 40, 40, 40, 42, 40, 42, 42,
-        42, 43, 14, 48, 43, 29, 29, 43,
+        3, 54, 43, 43, 53, 35, 34, 34,
+        34, 33, 33, 1, 35, 35, 35, 14,
+        35, 40, 40, 40, 40, 42, 40, 42,
+        42, 42, 43, 14, 48, 29, 29, 43,
+        53, 35, 34, 34, 34, 33, 33, 1,
+        35, 35, 35, 14, 35, 40, 40, 40,
+        40, 42, 40, 42, 42, 42, 43, 14,
+        14, 48, 2, 11, 43, 43, 53, 35,
+        34, 34, 34, 33, 33, 1, 35, 35,
+        35, 14, 35, 40, 40, 40, 40, 42,
+        40, 42, 42, 42, 43, 14, 14, 48,
         43, 53, 35, 34, 34, 34, 33, 33,
         1, 35, 35, 35, 14, 35, 40, 40,
         40, 40, 42, 40, 42, 42, 42, 43,
-        14, 14, 48, 2, 11, 43, 43, 53,
-        35, 34, 34, 34, 33, 33, 1, 35,
-        35, 35, 14, 35, 40, 40, 40, 40,
-        42, 40, 42, 42, 42, 43, 14, 14,
-        48, 43, 43, 53, 35, 34, 34, 34,
-        33, 33, 1, 35, 35, 35, 14, 35,
-        40, 40, 40, 40, 42, 40, 42, 42,
-        42, 43, 14, 48, 11, 2, 53, 43,
-        29, 29, 5, 39, 39, 38
+        14, 48, 11, 2, 53, 29, 29, 5,
+        42, 38, 39, 41, 43
 };
 
 static const short _use_syllable_machine_index_offsets[] = {
-        0, 55, 99, 143, 197, 233, 268, 303,
-        338, 372, 406, 408, 444, 480, 516, 531,
-        567, 608, 649, 690, 731, 774, 815, 858,
-        901, 944, 988, 1003, 1052, 1096, 1126, 1156,
-        1200, 1244, 1298, 1334, 1369, 1404, 1439, 1473,
-        1507, 1509, 1545, 1581, 1617, 1632, 1668, 1709,
-        1750, 1791, 1832, 1875, 1916, 1959, 2002, 2045,
-        2089, 2104, 2119, 2168, 2171, 2183, 2227, 2271,
-        2325, 2361, 2396, 2431, 2466, 2500, 2534, 2536,
-        2572, 2608, 2644, 2659, 2695, 2736, 2777, 2818,
-        2859, 2902, 2943, 2986, 3029, 3072, 3116, 3131,
-        3146, 3195, 3239, 3283, 3337, 3373, 3408, 3443,
-        3478, 3512, 3546, 3548, 3584, 3620, 3656, 3671,
-        3707, 3748, 3789, 3830, 3871, 3914, 3955, 3998,
-        4041, 4084, 4128, 4143, 4192, 4204, 4207, 4261,
-        4305, 4335, 4365, 4371, 4411, 4451
+        0, 4, 59, 103, 147, 201, 237, 272,
+        307, 342, 376, 410, 412, 448, 484, 520,
+        535, 571, 612, 653, 694, 735, 778, 819,
+        862, 905, 948, 992, 1007, 1056, 1086, 1116,
+        1160, 1214, 1250, 1285, 1320, 1355, 1389, 1423,
+        1425, 1461, 1497, 1533, 1548, 1584, 1625, 1666,
+        1707, 1748, 1791, 1832, 1875, 1918, 1961, 2005,
+        2020, 2035, 2084, 2087, 2099, 2143, 2187, 2241,
+        2277, 2312, 2347, 2382, 2416, 2450, 2452, 2488,
+        2524, 2560, 2575, 2611, 2652, 2693, 2734, 2775,
+        2818, 2859, 2902, 2945, 2988, 3032, 3047, 3062,
+        3111, 3155, 3209, 3245, 3280, 3315, 3350, 3384,
+        3418, 3420, 3456, 3492, 3528, 3543, 3579, 3620,
+        3661, 3702, 3743, 3786, 3827, 3870, 3913, 3956,
+        4000, 4015, 4064, 4076, 4079, 4133, 4163, 4193,
+        4199, 4242, 4281, 4321, 4363
 };
 
 static const unsigned char _use_syllable_machine_indicies[] = {
-        0, 1, 2, 2, 3, 4, 2, 2,
-        2, 2, 2, 5, 6, 7, 8, 2,
-        2, 2, 9, 2, 2, 2, 10, 11,
-        12, 13, 14, 15, 16, 17, 18, 19,
-        20, 21, 22, 23, 2, 24, 25, 26,
-        2, 27, 28, 29, 30, 31, 32, 33,
-        30, 34, 2, 35, 2, 36, 2, 38,
-        39, 37, 40, 37, 37, 37, 37, 37,
-        37, 37, 41, 42, 43, 44, 45, 46,
-        47, 48, 49, 50, 51, 52, 53, 54,
-        37, 55, 56, 57, 37, 58, 59, 37,
-        60, 61, 62, 63, 60, 37, 37, 37,
-        37, 64, 37, 38, 39, 37, 40, 37,
-        37, 37, 37, 37, 37, 37, 41, 42,
-        43, 44, 45, 46, 47, 48, 49, 51,
-        51, 52, 53, 54, 37, 55, 56, 57,
-        37, 37, 37, 37, 60, 61, 62, 63,
-        60, 37, 37, 37, 37, 64, 37, 38,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 40, 37, 37, 37,
-        37, 37, 37, 37, 37, 42, 43, 44,
-        45, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 55, 56, 57, 37, 37,
-        37, 37, 37, 61, 62, 63, 65, 37,
-        37, 37, 37, 42, 37, 40, 37, 37,
-        37, 37, 37, 37, 37, 37, 42, 43,
-        44, 45, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 55, 56, 57, 37,
-        37, 37, 37, 37, 61, 62, 63, 65,
-        37, 40, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 43, 44, 45, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        61, 62, 63, 37, 40, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 44,
-        45, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 61, 62, 63, 37, 40,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 45, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 61, 62,
-        63, 37, 40, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 61, 62, 37, 40, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 62, 37, 40, 37,
-        40, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 43, 44, 45, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 55,
-        56, 57, 37, 37, 37, 37, 37, 61,
-        62, 63, 65, 37, 40, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 43, 44,
-        45, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 56, 57, 37, 37,
-        37, 37, 37, 61, 62, 63, 65, 37,
-        40, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 43, 44, 45, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 57, 37, 37, 37, 37, 37, 61,
-        62, 63, 65, 37, 66, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 40, 37, 40, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 43, 44, 45,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 61, 62, 63, 65, 37, 40,
-        37, 37, 37, 37, 37, 37, 37, 41,
-        42, 43, 44, 45, 37, 37, 37, 37,
-        37, 37, 52, 53, 54, 37, 55, 56,
-        57, 37, 37, 37, 37, 37, 61, 62,
-        63, 65, 37, 37, 37, 37, 42, 37,
-        40, 37, 37, 37, 37, 37, 37, 37,
-        37, 42, 43, 44, 45, 37, 37, 37,
-        37, 37, 37, 52, 53, 54, 37, 55,
-        56, 57, 37, 37, 37, 37, 37, 61,
-        62, 63, 65, 37, 37, 37, 37, 42,
-        37, 40, 37, 37, 37, 37, 37, 37,
-        37, 37, 42, 43, 44, 45, 37, 37,
-        37, 37, 37, 37, 37, 53, 54, 37,
-        55, 56, 57, 37, 37, 37, 37, 37,
-        61, 62, 63, 65, 37, 37, 37, 37,
-        42, 37, 40, 37, 37, 37, 37, 37,
-        37, 37, 37, 42, 43, 44, 45, 37,
-        37, 37, 37, 37, 37, 37, 37, 54,
-        37, 55, 56, 57, 37, 37, 37, 37,
-        37, 61, 62, 63, 65, 37, 37, 37,
-        37, 42, 37, 67, 37, 40, 37, 37,
-        37, 37, 37, 37, 37, 41, 42, 43,
-        44, 45, 37, 47, 48, 37, 37, 37,
-        52, 53, 54, 37, 55, 56, 57, 37,
-        37, 37, 37, 37, 61, 62, 63, 65,
-        37, 37, 37, 37, 42, 37, 40, 37,
-        37, 37, 37, 37, 37, 37, 37, 42,
-        43, 44, 45, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 55, 56, 57,
-        37, 37, 37, 37, 37, 61, 62, 63,
-        65, 37, 37, 37, 37, 42, 37, 67,
-        37, 40, 37, 37, 37, 37, 37, 37,
-        37, 41, 42, 43, 44, 45, 37, 37,
-        48, 37, 37, 37, 52, 53, 54, 37,
-        55, 56, 57, 37, 37, 37, 37, 37,
-        61, 62, 63, 65, 37, 37, 37, 37,
-        42, 37, 67, 37, 40, 37, 37, 37,
-        37, 37, 37, 37, 41, 42, 43, 44,
-        45, 37, 37, 37, 37, 37, 37, 52,
-        53, 54, 37, 55, 56, 57, 37, 37,
-        37, 37, 37, 61, 62, 63, 65, 37,
-        37, 37, 37, 42, 37, 67, 37, 40,
-        37, 37, 37, 37, 37, 37, 37, 41,
-        42, 43, 44, 45, 46, 47, 48, 37,
-        37, 37, 52, 53, 54, 37, 55, 56,
-        57, 37, 37, 37, 37, 37, 61, 62,
-        63, 65, 37, 37, 37, 37, 42, 37,
-        38, 39, 37, 40, 37, 37, 37, 37,
-        37, 37, 37, 41, 42, 43, 44, 45,
-        46, 47, 48, 49, 37, 51, 52, 53,
-        54, 37, 55, 56, 57, 37, 37, 37,
-        37, 60, 61, 62, 63, 60, 37, 37,
-        37, 37, 64, 37, 38, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 40, 37, 38, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        40, 37, 37, 37, 37, 37, 37, 37,
-        37, 42, 43, 44, 45, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 55,
-        56, 57, 37, 37, 37, 37, 37, 61,
-        62, 63, 65, 37, 38, 39, 37, 40,
-        37, 37, 37, 37, 37, 37, 37, 41,
-        42, 43, 44, 45, 46, 47, 48, 49,
-        50, 51, 52, 53, 54, 37, 55, 56,
-        57, 37, 37, 37, 37, 60, 61, 62,
-        63, 60, 37, 37, 37, 37, 64, 37,
-        40, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 58, 59, 37, 40, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 37, 37, 37, 37, 37, 37,
-        37, 37, 59, 37, 69, 70, 68, 71,
+        1, 0, 2, 0, 3, 4, 5, 5,
+        6, 7, 5, 5, 5, 5, 5, 8,
+        9, 10, 11, 5, 5, 5, 12, 5,
+        5, 5, 13, 14, 15, 16, 17, 18,
+        19, 20, 21, 8, 22, 23, 24, 25,
+        5, 26, 27, 28, 5, 29, 30, 31,
+        32, 33, 34, 35, 32, 1, 5, 36,
+        5, 37, 5, 39, 40, 38, 41, 38,
+        38, 38, 38, 38, 38, 38, 42, 43,
+        44, 45, 46, 47, 48, 49, 50, 39,
+        51, 52, 53, 54, 38, 55, 56, 57,
+        38, 58, 59, 38, 60, 61, 62, 63,
+        60, 38, 38, 38, 38, 64, 38, 39,
+        40, 38, 41, 38, 38, 38, 38, 38,
+        38, 38, 42, 43, 44, 45, 46, 47,
+        48, 49, 50, 39, 51, 52, 53, 54,
+        38, 55, 56, 57, 38, 38, 38, 38,
+        60, 61, 62, 63, 60, 38, 38, 38,
+        38, 64, 38, 39, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        41, 38, 38, 38, 38, 38, 38, 38,
+        38, 43, 44, 45, 46, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 55,
+        56, 57, 38, 38, 38, 38, 38, 61,
+        62, 63, 65, 38, 38, 38, 38, 43,
+        38, 41, 38, 38, 38, 38, 38, 38,
+        38, 38, 43, 44, 45, 46, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        55, 56, 57, 38, 38, 38, 38, 38,
+        61, 62, 63, 65, 38, 41, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 44,
+        45, 46, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 61, 62, 63, 38,
+        41, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 45, 46, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 61,
+        62, 63, 38, 41, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 46,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 61, 62, 63, 38, 41, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 61, 62, 38,
+        41, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        62, 38, 41, 38, 41, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 44, 45,
+        46, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 55, 56, 57, 38, 38,
+        38, 38, 38, 61, 62, 63, 65, 38,
+        41, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 44, 45, 46, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        56, 57, 38, 38, 38, 38, 38, 61,
+        62, 63, 65, 38, 41, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 44, 45,
+        46, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 57, 38, 38,
+        38, 38, 38, 61, 62, 63, 65, 38,
+        66, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 41, 38, 41,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 44, 45, 46, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 61, 62,
+        63, 65, 38, 41, 38, 38, 38, 38,
+        38, 38, 38, 42, 43, 44, 45, 46,
+        38, 38, 38, 38, 38, 38, 52, 53,
+        54, 38, 55, 56, 57, 38, 38, 38,
+        38, 38, 61, 62, 63, 65, 38, 38,
+        38, 38, 43, 38, 41, 38, 38, 38,
+        38, 38, 38, 38, 38, 43, 44, 45,
+        46, 38, 38, 38, 38, 38, 38, 52,
+        53, 54, 38, 55, 56, 57, 38, 38,
+        38, 38, 38, 61, 62, 63, 65, 38,
+        38, 38, 38, 43, 38, 41, 38, 38,
+        38, 38, 38, 38, 38, 38, 43, 44,
+        45, 46, 38, 38, 38, 38, 38, 38,
+        38, 53, 54, 38, 55, 56, 57, 38,
+        38, 38, 38, 38, 61, 62, 63, 65,
+        38, 38, 38, 38, 43, 38, 41, 38,
+        38, 38, 38, 38, 38, 38, 38, 43,
+        44, 45, 46, 38, 38, 38, 38, 38,
+        38, 38, 38, 54, 38, 55, 56, 57,
+        38, 38, 38, 38, 38, 61, 62, 63,
+        65, 38, 38, 38, 38, 43, 38, 67,
+        38, 41, 38, 38, 38, 38, 38, 38,
+        38, 42, 43, 44, 45, 46, 38, 48,
+        49, 38, 38, 38, 52, 53, 54, 38,
+        55, 56, 57, 38, 38, 38, 38, 38,
+        61, 62, 63, 65, 38, 38, 38, 38,
+        43, 38, 41, 38, 38, 38, 38, 38,
+        38, 38, 38, 43, 44, 45, 46, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 55, 56, 57, 38, 38, 38, 38,
+        38, 61, 62, 63, 65, 38, 38, 38,
+        38, 43, 38, 67, 38, 41, 38, 38,
+        38, 38, 38, 38, 38, 42, 43, 44,
+        45, 46, 38, 38, 49, 38, 38, 38,
+        52, 53, 54, 38, 55, 56, 57, 38,
+        38, 38, 38, 38, 61, 62, 63, 65,
+        38, 38, 38, 38, 43, 38, 67, 38,
+        41, 38, 38, 38, 38, 38, 38, 38,
+        42, 43, 44, 45, 46, 38, 38, 38,
+        38, 38, 38, 52, 53, 54, 38, 55,
+        56, 57, 38, 38, 38, 38, 38, 61,
+        62, 63, 65, 38, 38, 38, 38, 43,
+        38, 67, 38, 41, 38, 38, 38, 38,
+        38, 38, 38, 42, 43, 44, 45, 46,
+        47, 48, 49, 38, 38, 38, 52, 53,
+        54, 38, 55, 56, 57, 38, 38, 38,
+        38, 38, 61, 62, 63, 65, 38, 38,
+        38, 38, 43, 38, 39, 40, 38, 41,
+        38, 38, 38, 38, 38, 38, 38, 42,
+        43, 44, 45, 46, 47, 48, 49, 50,
+        38, 51, 52, 53, 54, 38, 55, 56,
+        57, 38, 38, 38, 38, 60, 61, 62,
+        63, 60, 38, 38, 38, 38, 64, 38,
+        39, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 41, 38, 39,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 41, 38, 38, 38,
+        38, 38, 38, 38, 38, 43, 44, 45,
+        46, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 55, 56, 57, 38, 38,
+        38, 38, 38, 61, 62, 63, 65, 38,
+        41, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 58, 59, 38, 41, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 38, 38, 38, 38, 38, 38,
+        38, 38, 59, 38, 4, 69, 68, 70,
+        68, 68, 68, 68, 68, 68, 68, 71,
+        72, 73, 74, 75, 76, 77, 78, 79,
+        4, 80, 81, 82, 83, 68, 84, 85,
+        86, 68, 68, 68, 68, 87, 88, 89,
+        90, 91, 68, 68, 68, 68, 92, 68,
+        4, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 70, 68, 68,
+        68, 68, 68, 68, 68, 68, 72, 73,
+        74, 75, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 84, 85, 86, 68,
+        68, 68, 68, 68, 88, 89, 90, 93,
+        68, 68, 68, 68, 72, 68, 70, 68,
         68, 68, 68, 68, 68, 68, 68, 72,
-        73, 74, 75, 76, 77, 78, 79, 80,
-        1, 81, 82, 83, 84, 68, 85, 86,
-        87, 68, 68, 68, 68, 88, 89, 90,
-        91, 92, 68, 68, 68, 68, 93, 68,
-        69, 70, 68, 71, 68, 68, 68, 68,
-        68, 68, 68, 72, 73, 74, 75, 76,
-        77, 78, 79, 80, 81, 81, 82, 83,
-        84, 68, 85, 86, 87, 68, 68, 68,
-        68, 88, 89, 90, 91, 92, 68, 68,
-        68, 68, 93, 68, 69, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        68, 71, 68, 68, 68, 68, 68, 68,
-        68, 68, 73, 74, 75, 76, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        85, 86, 87, 68, 68, 68, 68, 68,
-        89, 90, 91, 94, 68, 68, 68, 68,
-        73, 68, 71, 68, 68, 68, 68, 68,
-        68, 68, 68, 73, 74, 75, 76, 68,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        68, 85, 86, 87, 68, 68, 68, 68,
-        68, 89, 90, 91, 94, 68, 71, 68,
+        73, 74, 75, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 84, 85, 86,
+        68, 68, 68, 68, 68, 88, 89, 90,
+        93, 68, 70, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 73, 74, 75, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        74, 75, 76, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 89, 90, 91,
-        68, 71, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 75, 76, 68, 68,
+        68, 88, 89, 90, 68, 70, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
+        74, 75, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        89, 90, 91, 68, 71, 68, 68, 68,
+        68, 68, 68, 68, 88, 89, 90, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 75, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        76, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 88,
+        89, 90, 68, 70, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 89, 90, 91, 68, 71,
         68, 68, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 88, 89, 68, 70, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 89, 90,
-        68, 71, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 89, 68, 70,
+        68, 70, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 73, 74, 75, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 90, 68, 71, 68, 71, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 74,
-        75, 76, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 85, 86, 87, 68,
-        68, 68, 68, 68, 89, 90, 91, 94,
-        68, 71, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 74, 75, 76, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        68, 86, 87, 68, 68, 68, 68, 68,
-        89, 90, 91, 94, 68, 71, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 74,
-        75, 76, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 87, 68,
-        68, 68, 68, 68, 89, 90, 91, 94,
-        68, 96, 95, 95, 95, 95, 95, 95,
-        95, 95, 95, 95, 95, 95, 97, 95,
-        71, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 74, 75, 76, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 89,
-        90, 91, 94, 68, 71, 68, 68, 68,
-        68, 68, 68, 68, 72, 73, 74, 75,
-        76, 68, 68, 68, 68, 68, 68, 82,
-        83, 84, 68, 85, 86, 87, 68, 68,
-        68, 68, 68, 89, 90, 91, 94, 68,
-        68, 68, 68, 73, 68, 71, 68, 68,
-        68, 68, 68, 68, 68, 68, 73, 74,
-        75, 76, 68, 68, 68, 68, 68, 68,
-        82, 83, 84, 68, 85, 86, 87, 68,
-        68, 68, 68, 68, 89, 90, 91, 94,
-        68, 68, 68, 68, 73, 68, 71, 68,
+        84, 85, 86, 68, 68, 68, 68, 68,
+        88, 89, 90, 93, 68, 70, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 73,
-        74, 75, 76, 68, 68, 68, 68, 68,
-        68, 68, 83, 84, 68, 85, 86, 87,
-        68, 68, 68, 68, 68, 89, 90, 91,
-        94, 68, 68, 68, 68, 73, 68, 71,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        73, 74, 75, 76, 68, 68, 68, 68,
-        68, 68, 68, 68, 84, 68, 85, 86,
-        87, 68, 68, 68, 68, 68, 89, 90,
-        91, 94, 68, 68, 68, 68, 73, 68,
-        98, 68, 71, 68, 68, 68, 68, 68,
-        68, 68, 72, 73, 74, 75, 76, 68,
-        78, 79, 68, 68, 68, 82, 83, 84,
-        68, 85, 86, 87, 68, 68, 68, 68,
-        68, 89, 90, 91, 94, 68, 68, 68,
-        68, 73, 68, 71, 68, 68, 68, 68,
-        68, 68, 68, 68, 73, 74, 75, 76,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 85, 86, 87, 68, 68, 68,
-        68, 68, 89, 90, 91, 94, 68, 68,
-        68, 68, 73, 68, 98, 68, 71, 68,
-        68, 68, 68, 68, 68, 68, 72, 73,
-        74, 75, 76, 68, 68, 79, 68, 68,
-        68, 82, 83, 84, 68, 85, 86, 87,
-        68, 68, 68, 68, 68, 89, 90, 91,
-        94, 68, 68, 68, 68, 73, 68, 98,
-        68, 71, 68, 68, 68, 68, 68, 68,
-        68, 72, 73, 74, 75, 76, 68, 68,
-        68, 68, 68, 68, 82, 83, 84, 68,
-        85, 86, 87, 68, 68, 68, 68, 68,
-        89, 90, 91, 94, 68, 68, 68, 68,
-        73, 68, 98, 68, 71, 68, 68, 68,
-        68, 68, 68, 68, 72, 73, 74, 75,
-        76, 77, 78, 79, 68, 68, 68, 82,
-        83, 84, 68, 85, 86, 87, 68, 68,
-        68, 68, 68, 89, 90, 91, 94, 68,
-        68, 68, 68, 73, 68, 69, 70, 68,
-        71, 68, 68, 68, 68, 68, 68, 68,
-        72, 73, 74, 75, 76, 77, 78, 79,
-        80, 68, 81, 82, 83, 84, 68, 85,
-        86, 87, 68, 68, 68, 68, 88, 89,
-        90, 91, 92, 68, 68, 68, 68, 93,
-        68, 69, 99, 99, 99, 99, 99, 99,
-        99, 99, 99, 99, 99, 99, 100, 99,
-        69, 95, 95, 95, 95, 95, 95, 95,
-        95, 95, 95, 95, 95, 97, 95, 69,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 71, 68, 68, 68,
-        68, 68, 68, 68, 68, 73, 74, 75,
-        76, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 85, 86, 87, 68, 68,
-        68, 68, 68, 89, 90, 91, 94, 68,
-        102, 103, 101, 3, 104, 104, 104, 104,
-        104, 104, 104, 104, 104, 105, 104, 106,
-        107, 68, 71, 68, 68, 68, 68, 68,
-        68, 68, 108, 109, 110, 111, 112, 113,
-        114, 115, 116, 117, 118, 119, 120, 121,
-        68, 122, 123, 124, 68, 58, 59, 68,
-        125, 126, 127, 128, 129, 68, 68, 68,
-        68, 130, 68, 106, 107, 68, 71, 68,
-        68, 68, 68, 68, 68, 68, 108, 109,
-        110, 111, 112, 113, 114, 115, 116, 118,
-        118, 119, 120, 121, 68, 122, 123, 124,
-        68, 68, 68, 68, 125, 126, 127, 128,
-        129, 68, 68, 68, 68, 130, 68, 106,
-        68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 71, 68, 68, 68,
-        68, 68, 68, 68, 68, 109, 110, 111,
-        112, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 122, 123, 124, 68, 68,
-        68, 68, 68, 126, 127, 128, 131, 68,
-        68, 68, 68, 109, 68, 71, 68, 68,
-        68, 68, 68, 68, 68, 68, 109, 110,
-        111, 112, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 122, 123, 124, 68,
-        68, 68, 68, 68, 126, 127, 128, 131,
-        68, 71, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 110, 111, 112, 68, 68,
+        74, 75, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 85, 86, 68,
+        68, 68, 68, 68, 88, 89, 90, 93,
+        68, 70, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 73, 74, 75, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 86, 68, 68, 68, 68, 68,
+        88, 89, 90, 93, 68, 95, 94, 94,
+        94, 94, 94, 94, 94, 94, 94, 94,
+        94, 94, 96, 94, 70, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 73, 74,
+        75, 68, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 88, 89, 90, 93, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        71, 72, 73, 74, 75, 68, 68, 68,
+        68, 68, 68, 81, 82, 83, 68, 84,
+        85, 86, 68, 68, 68, 68, 68, 88,
+        89, 90, 93, 68, 68, 68, 68, 72,
+        68, 70, 68, 68, 68, 68, 68, 68,
+        68, 68, 72, 73, 74, 75, 68, 68,
+        68, 68, 68, 68, 81, 82, 83, 68,
+        84, 85, 86, 68, 68, 68, 68, 68,
+        88, 89, 90, 93, 68, 68, 68, 68,
+        72, 68, 70, 68, 68, 68, 68, 68,
+        68, 68, 68, 72, 73, 74, 75, 68,
+        68, 68, 68, 68, 68, 68, 82, 83,
+        68, 84, 85, 86, 68, 68, 68, 68,
+        68, 88, 89, 90, 93, 68, 68, 68,
+        68, 72, 68, 70, 68, 68, 68, 68,
+        68, 68, 68, 68, 72, 73, 74, 75,
         68, 68, 68, 68, 68, 68, 68, 68,
-        126, 127, 128, 68, 71, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 111,
-        112, 68, 68, 68, 68, 68, 68, 68,
+        83, 68, 84, 85, 86, 68, 68, 68,
+        68, 68, 88, 89, 90, 93, 68, 68,
+        68, 68, 72, 68, 97, 68, 70, 68,
+        68, 68, 68, 68, 68, 68, 71, 72,
+        73, 74, 75, 68, 77, 78, 68, 68,
+        68, 81, 82, 83, 68, 84, 85, 86,
+        68, 68, 68, 68, 68, 88, 89, 90,
+        93, 68, 68, 68, 68, 72, 68, 70,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        72, 73, 74, 75, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 84, 85,
+        86, 68, 68, 68, 68, 68, 88, 89,
+        90, 93, 68, 68, 68, 68, 72, 68,
+        97, 68, 70, 68, 68, 68, 68, 68,
+        68, 68, 71, 72, 73, 74, 75, 68,
+        68, 78, 68, 68, 68, 81, 82, 83,
+        68, 84, 85, 86, 68, 68, 68, 68,
+        68, 88, 89, 90, 93, 68, 68, 68,
+        68, 72, 68, 97, 68, 70, 68, 68,
+        68, 68, 68, 68, 68, 71, 72, 73,
+        74, 75, 68, 68, 68, 68, 68, 68,
+        81, 82, 83, 68, 84, 85, 86, 68,
+        68, 68, 68, 68, 88, 89, 90, 93,
+        68, 68, 68, 68, 72, 68, 97, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        71, 72, 73, 74, 75, 76, 77, 78,
+        68, 68, 68, 81, 82, 83, 68, 84,
+        85, 86, 68, 68, 68, 68, 68, 88,
+        89, 90, 93, 68, 68, 68, 68, 72,
+        68, 4, 69, 68, 70, 68, 68, 68,
+        68, 68, 68, 68, 71, 72, 73, 74,
+        75, 76, 77, 78, 79, 68, 80, 81,
+        82, 83, 68, 84, 85, 86, 68, 68,
+        68, 68, 87, 88, 89, 90, 91, 68,
+        68, 68, 68, 92, 68, 4, 98, 98,
+        98, 98, 98, 98, 98, 98, 98, 98,
+        98, 98, 99, 98, 4, 94, 94, 94,
+        94, 94, 94, 94, 94, 94, 94, 94,
+        94, 96, 94, 4, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        68, 72, 73, 74, 75, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 84,
+        85, 86, 68, 68, 68, 68, 68, 88,
+        89, 90, 93, 68, 101, 102, 100, 6,
+        103, 103, 103, 103, 103, 103, 103, 103,
+        103, 104, 103, 105, 106, 68, 70, 68,
+        68, 68, 68, 68, 68, 68, 107, 108,
+        109, 110, 111, 112, 113, 114, 115, 105,
+        116, 117, 118, 119, 68, 120, 121, 122,
+        68, 58, 59, 68, 123, 124, 125, 126,
+        127, 68, 68, 68, 68, 128, 68, 105,
+        106, 68, 70, 68, 68, 68, 68, 68,
+        68, 68, 107, 108, 109, 110, 111, 112,
+        113, 114, 115, 105, 116, 117, 118, 119,
+        68, 120, 121, 122, 68, 68, 68, 68,
+        123, 124, 125, 126, 127, 68, 68, 68,
+        68, 128, 68, 105, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        68, 108, 109, 110, 111, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 120,
+        121, 122, 68, 68, 68, 68, 68, 124,
+        125, 126, 129, 68, 68, 68, 68, 108,
+        68, 70, 68, 68, 68, 68, 68, 68,
+        68, 68, 108, 109, 110, 111, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 126, 127, 128, 68, 71,
+        120, 121, 122, 68, 68, 68, 68, 68,
+        124, 125, 126, 129, 68, 70, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 109,
+        110, 111, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 112, 68, 68, 68, 68,
+        68, 68, 68, 68, 124, 125, 126, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 110, 111, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 126, 127,
-        128, 68, 71, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 124,
+        125, 126, 68, 70, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 111,
         68, 68, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 124, 125, 126, 68, 70, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 126, 127, 68, 71, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 124, 125, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 127, 68, 71, 68,
-        71, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 110, 111, 112, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 122,
-        123, 124, 68, 68, 68, 68, 68, 126,
-        127, 128, 131, 68, 71, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 110, 111,
-        112, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 123, 124, 68, 68,
-        68, 68, 68, 126, 127, 128, 131, 68,
-        71, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 110, 111, 112, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 124, 68, 68, 68, 68, 68, 126,
-        127, 128, 131, 68, 132, 95, 95, 95,
-        95, 95, 95, 95, 95, 95, 95, 95,
-        95, 97, 95, 71, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 110, 111, 112,
         68, 68, 68, 68, 68, 68, 68, 68,
+        125, 68, 70, 68, 70, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 109, 110,
+        111, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 120, 121, 122, 68, 68,
+        68, 68, 68, 124, 125, 126, 129, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 109, 110, 111, 68, 68, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        68, 68, 126, 127, 128, 131, 68, 71,
-        68, 68, 68, 68, 68, 68, 68, 108,
-        109, 110, 111, 112, 68, 68, 68, 68,
-        68, 68, 119, 120, 121, 68, 122, 123,
-        124, 68, 68, 68, 68, 68, 126, 127,
-        128, 131, 68, 68, 68, 68, 109, 68,
-        71, 68, 68, 68, 68, 68, 68, 68,
-        68, 109, 110, 111, 112, 68, 68, 68,
-        68, 68, 68, 119, 120, 121, 68, 122,
-        123, 124, 68, 68, 68, 68, 68, 126,
-        127, 128, 131, 68, 68, 68, 68, 109,
-        68, 71, 68, 68, 68, 68, 68, 68,
-        68, 68, 109, 110, 111, 112, 68, 68,
-        68, 68, 68, 68, 68, 120, 121, 68,
-        122, 123, 124, 68, 68, 68, 68, 68,
-        126, 127, 128, 131, 68, 68, 68, 68,
-        109, 68, 71, 68, 68, 68, 68, 68,
-        68, 68, 68, 109, 110, 111, 112, 68,
-        68, 68, 68, 68, 68, 68, 68, 121,
-        68, 122, 123, 124, 68, 68, 68, 68,
-        68, 126, 127, 128, 131, 68, 68, 68,
-        68, 109, 68, 133, 68, 71, 68, 68,
+        121, 122, 68, 68, 68, 68, 68, 124,
+        125, 126, 129, 68, 70, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 109, 110,
+        111, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 122, 68, 68,
+        68, 68, 68, 124, 125, 126, 129, 68,
+        130, 94, 94, 94, 94, 94, 94, 94,
+        94, 94, 94, 94, 94, 96, 94, 70,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        68, 109, 110, 111, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 68, 68, 68, 68, 124, 125,
+        126, 129, 68, 70, 68, 68, 68, 68,
+        68, 68, 68, 107, 108, 109, 110, 111,
+        68, 68, 68, 68, 68, 68, 117, 118,
+        119, 68, 120, 121, 122, 68, 68, 68,
+        68, 68, 124, 125, 126, 129, 68, 68,
+        68, 68, 108, 68, 70, 68, 68, 68,
         68, 68, 68, 68, 68, 108, 109, 110,
-        111, 112, 68, 114, 115, 68, 68, 68,
-        119, 120, 121, 68, 122, 123, 124, 68,
-        68, 68, 68, 68, 126, 127, 128, 131,
-        68, 68, 68, 68, 109, 68, 71, 68,
-        68, 68, 68, 68, 68, 68, 68, 109,
-        110, 111, 112, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 122, 123, 124,
-        68, 68, 68, 68, 68, 126, 127, 128,
-        131, 68, 68, 68, 68, 109, 68, 133,
-        68, 71, 68, 68, 68, 68, 68, 68,
-        68, 108, 109, 110, 111, 112, 68, 68,
-        115, 68, 68, 68, 119, 120, 121, 68,
-        122, 123, 124, 68, 68, 68, 68, 68,
-        126, 127, 128, 131, 68, 68, 68, 68,
-        109, 68, 133, 68, 71, 68, 68, 68,
-        68, 68, 68, 68, 108, 109, 110, 111,
-        112, 68, 68, 68, 68, 68, 68, 119,
-        120, 121, 68, 122, 123, 124, 68, 68,
-        68, 68, 68, 126, 127, 128, 131, 68,
-        68, 68, 68, 109, 68, 133, 68, 71,
+        111, 68, 68, 68, 68, 68, 68, 117,
+        118, 119, 68, 120, 121, 122, 68, 68,
+        68, 68, 68, 124, 125, 126, 129, 68,
+        68, 68, 68, 108, 68, 70, 68, 68,
+        68, 68, 68, 68, 68, 68, 108, 109,
+        110, 111, 68, 68, 68, 68, 68, 68,
+        68, 118, 119, 68, 120, 121, 122, 68,
+        68, 68, 68, 68, 124, 125, 126, 129,
+        68, 68, 68, 68, 108, 68, 70, 68,
         68, 68, 68, 68, 68, 68, 68, 108,
-        109, 110, 111, 112, 113, 114, 115, 68,
-        68, 68, 119, 120, 121, 68, 122, 123,
-        124, 68, 68, 68, 68, 68, 126, 127,
-        128, 131, 68, 68, 68, 68, 109, 68,
-        106, 107, 68, 71, 68, 68, 68, 68,
-        68, 68, 68, 108, 109, 110, 111, 112,
-        113, 114, 115, 116, 68, 118, 119, 120,
-        121, 68, 122, 123, 124, 68, 68, 68,
-        68, 125, 126, 127, 128, 129, 68, 68,
-        68, 68, 130, 68, 106, 99, 99, 99,
-        99, 99, 99, 99, 99, 99, 99, 99,
-        99, 100, 99, 106, 95, 95, 95, 95,
-        95, 95, 95, 95, 95, 95, 95, 95,
-        97, 95, 106, 68, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 68, 71,
+        109, 110, 111, 68, 68, 68, 68, 68,
+        68, 68, 68, 119, 68, 120, 121, 122,
+        68, 68, 68, 68, 68, 124, 125, 126,
+        129, 68, 68, 68, 68, 108, 68, 131,
+        68, 70, 68, 68, 68, 68, 68, 68,
+        68, 107, 108, 109, 110, 111, 68, 113,
+        114, 68, 68, 68, 117, 118, 119, 68,
+        120, 121, 122, 68, 68, 68, 68, 68,
+        124, 125, 126, 129, 68, 68, 68, 68,
+        108, 68, 70, 68, 68, 68, 68, 68,
+        68, 68, 68, 108, 109, 110, 111, 68,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        68, 120, 121, 122, 68, 68, 68, 68,
+        68, 124, 125, 126, 129, 68, 68, 68,
+        68, 108, 68, 131, 68, 70, 68, 68,
+        68, 68, 68, 68, 68, 107, 108, 109,
+        110, 111, 68, 68, 114, 68, 68, 68,
+        117, 118, 119, 68, 120, 121, 122, 68,
+        68, 68, 68, 68, 124, 125, 126, 129,
+        68, 68, 68, 68, 108, 68, 131, 68,
+        70, 68, 68, 68, 68, 68, 68, 68,
+        107, 108, 109, 110, 111, 68, 68, 68,
+        68, 68, 68, 117, 118, 119, 68, 120,
+        121, 122, 68, 68, 68, 68, 68, 124,
+        125, 126, 129, 68, 68, 68, 68, 108,
+        68, 131, 68, 70, 68, 68, 68, 68,
+        68, 68, 68, 107, 108, 109, 110, 111,
+        112, 113, 114, 68, 68, 68, 117, 118,
+        119, 68, 120, 121, 122, 68, 68, 68,
+        68, 68, 124, 125, 126, 129, 68, 68,
+        68, 68, 108, 68, 105, 106, 68, 70,
+        68, 68, 68, 68, 68, 68, 68, 107,
+        108, 109, 110, 111, 112, 113, 114, 115,
+        68, 116, 117, 118, 119, 68, 120, 121,
+        122, 68, 68, 68, 68, 123, 124, 125,
+        126, 127, 68, 68, 68, 68, 128, 68,
+        105, 98, 98, 98, 98, 98, 98, 98,
+        98, 98, 98, 98, 98, 99, 98, 105,
+        94, 94, 94, 94, 94, 94, 94, 94,
+        94, 94, 94, 94, 96, 94, 105, 68,
         68, 68, 68, 68, 68, 68, 68, 68,
-        109, 110, 111, 112, 68, 68, 68, 68,
-        68, 68, 68, 68, 68, 68, 122, 123,
-        124, 68, 68, 68, 68, 68, 126, 127,
-        128, 131, 68, 106, 107, 68, 71, 68,
-        68, 68, 68, 68, 68, 68, 108, 109,
-        110, 111, 112, 113, 114, 115, 116, 117,
-        118, 119, 120, 121, 68, 122, 123, 124,
-        68, 68, 68, 68, 125, 126, 127, 128,
-        129, 68, 68, 68, 68, 130, 68, 5,
-        6, 134, 8, 134, 134, 134, 134, 134,
-        134, 134, 10, 11, 12, 13, 14, 15,
-        16, 17, 18, 20, 20, 21, 22, 23,
-        134, 24, 25, 26, 134, 134, 134, 134,
-        30, 31, 32, 33, 30, 134, 134, 134,
-        134, 36, 134, 5, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        8, 134, 134, 134, 134, 134, 134, 134,
-        134, 11, 12, 13, 14, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 24,
-        25, 26, 134, 134, 134, 134, 134, 31,
-        32, 33, 135, 134, 134, 134, 134, 11,
-        134, 8, 134, 134, 134, 134, 134, 134,
-        134, 134, 11, 12, 13, 14, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        24, 25, 26, 134, 134, 134, 134, 134,
-        31, 32, 33, 135, 134, 8, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 12,
-        13, 14, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 31, 32, 33, 134,
-        8, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 13, 14, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 31,
-        32, 33, 134, 8, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 14,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 31, 32, 33, 134, 8, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 31, 32, 134,
-        8, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        32, 134, 8, 134, 8, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 12, 13,
-        14, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 24, 25, 26, 134, 134,
-        134, 134, 134, 31, 32, 33, 135, 134,
-        8, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 12, 13, 14, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        25, 26, 134, 134, 134, 134, 134, 31,
-        32, 33, 135, 134, 8, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 12, 13,
-        14, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 26, 134, 134,
-        134, 134, 134, 31, 32, 33, 135, 134,
-        136, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 8, 134, 8,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 12, 13, 14, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 31, 32,
-        33, 135, 134, 8, 134, 134, 134, 134,
-        134, 134, 134, 10, 11, 12, 13, 14,
-        134, 134, 134, 134, 134, 134, 21, 22,
-        23, 134, 24, 25, 26, 134, 134, 134,
-        134, 134, 31, 32, 33, 135, 134, 134,
-        134, 134, 11, 134, 8, 134, 134, 134,
-        134, 134, 134, 134, 134, 11, 12, 13,
-        14, 134, 134, 134, 134, 134, 134, 21,
-        22, 23, 134, 24, 25, 26, 134, 134,
-        134, 134, 134, 31, 32, 33, 135, 134,
-        134, 134, 134, 11, 134, 8, 134, 134,
-        134, 134, 134, 134, 134, 134, 11, 12,
-        13, 14, 134, 134, 134, 134, 134, 134,
-        134, 22, 23, 134, 24, 25, 26, 134,
-        134, 134, 134, 134, 31, 32, 33, 135,
-        134, 134, 134, 134, 11, 134, 8, 134,
-        134, 134, 134, 134, 134, 134, 134, 11,
-        12, 13, 14, 134, 134, 134, 134, 134,
-        134, 134, 134, 23, 134, 24, 25, 26,
-        134, 134, 134, 134, 134, 31, 32, 33,
-        135, 134, 134, 134, 134, 11, 134, 137,
-        134, 8, 134, 134, 134, 134, 134, 134,
-        134, 10, 11, 12, 13, 14, 134, 16,
-        17, 134, 134, 134, 21, 22, 23, 134,
-        24, 25, 26, 134, 134, 134, 134, 134,
-        31, 32, 33, 135, 134, 134, 134, 134,
-        11, 134, 8, 134, 134, 134, 134, 134,
-        134, 134, 134, 11, 12, 13, 14, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 24, 25, 26, 134, 134, 134, 134,
-        134, 31, 32, 33, 135, 134, 134, 134,
-        134, 11, 134, 137, 134, 8, 134, 134,
-        134, 134, 134, 134, 134, 10, 11, 12,
-        13, 14, 134, 134, 17, 134, 134, 134,
-        21, 22, 23, 134, 24, 25, 26, 134,
-        134, 134, 134, 134, 31, 32, 33, 135,
-        134, 134, 134, 134, 11, 134, 137, 134,
-        8, 134, 134, 134, 134, 134, 134, 134,
-        10, 11, 12, 13, 14, 134, 134, 134,
-        134, 134, 134, 21, 22, 23, 134, 24,
-        25, 26, 134, 134, 134, 134, 134, 31,
-        32, 33, 135, 134, 134, 134, 134, 11,
-        134, 137, 134, 8, 134, 134, 134, 134,
-        134, 134, 134, 10, 11, 12, 13, 14,
-        15, 16, 17, 134, 134, 134, 21, 22,
-        23, 134, 24, 25, 26, 134, 134, 134,
-        134, 134, 31, 32, 33, 135, 134, 134,
-        134, 134, 11, 134, 5, 6, 134, 8,
-        134, 134, 134, 134, 134, 134, 134, 10,
-        11, 12, 13, 14, 15, 16, 17, 18,
-        134, 20, 21, 22, 23, 134, 24, 25,
-        26, 134, 134, 134, 134, 30, 31, 32,
-        33, 30, 134, 134, 134, 134, 36, 134,
-        5, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 8, 134, 5,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 8, 134, 134, 134,
-        134, 134, 134, 134, 134, 11, 12, 13,
-        14, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 24, 25, 26, 134, 134,
-        134, 134, 134, 31, 32, 33, 135, 134,
-        138, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 8, 134, 7, 8, 134, 1,
-        134, 134, 134, 1, 134, 134, 134, 134,
-        134, 5, 6, 7, 8, 134, 134, 134,
-        134, 134, 134, 134, 10, 11, 12, 13,
+        68, 68, 68, 70, 68, 68, 68, 68,
+        68, 68, 68, 68, 108, 109, 110, 111,
+        68, 68, 68, 68, 68, 68, 68, 68,
+        68, 68, 120, 121, 122, 68, 68, 68,
+        68, 68, 124, 125, 126, 129, 68, 8,
+        9, 132, 11, 132, 132, 132, 132, 132,
+        132, 132, 13, 14, 15, 16, 17, 18,
+        19, 20, 21, 8, 22, 23, 24, 25,
+        132, 26, 27, 28, 132, 132, 132, 132,
+        32, 33, 34, 35, 32, 132, 132, 132,
+        132, 37, 132, 8, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        11, 132, 132, 132, 132, 132, 132, 132,
+        132, 14, 15, 16, 17, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 26,
+        27, 28, 132, 132, 132, 132, 132, 33,
+        34, 35, 133, 132, 132, 132, 132, 14,
+        132, 11, 132, 132, 132, 132, 132, 132,
+        132, 132, 14, 15, 16, 17, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        26, 27, 28, 132, 132, 132, 132, 132,
+        33, 34, 35, 133, 132, 11, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 15,
+        16, 17, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 33, 34, 35, 132,
+        11, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 16, 17, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 33,
+        34, 35, 132, 11, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 17,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 33, 34, 35, 132, 11, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 33, 34, 132,
+        11, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        34, 132, 11, 132, 11, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 15, 16,
+        17, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 26, 27, 28, 132, 132,
+        132, 132, 132, 33, 34, 35, 133, 132,
+        11, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 15, 16, 17, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        27, 28, 132, 132, 132, 132, 132, 33,
+        34, 35, 133, 132, 11, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 15, 16,
+        17, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 28, 132, 132,
+        132, 132, 132, 33, 34, 35, 133, 132,
+        134, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 11, 132, 11,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 15, 16, 17, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 33, 34,
+        35, 133, 132, 11, 132, 132, 132, 132,
+        132, 132, 132, 13, 14, 15, 16, 17,
+        132, 132, 132, 132, 132, 132, 23, 24,
+        25, 132, 26, 27, 28, 132, 132, 132,
+        132, 132, 33, 34, 35, 133, 132, 132,
+        132, 132, 14, 132, 11, 132, 132, 132,
+        132, 132, 132, 132, 132, 14, 15, 16,
+        17, 132, 132, 132, 132, 132, 132, 23,
+        24, 25, 132, 26, 27, 28, 132, 132,
+        132, 132, 132, 33, 34, 35, 133, 132,
+        132, 132, 132, 14, 132, 11, 132, 132,
+        132, 132, 132, 132, 132, 132, 14, 15,
+        16, 17, 132, 132, 132, 132, 132, 132,
+        132, 24, 25, 132, 26, 27, 28, 132,
+        132, 132, 132, 132, 33, 34, 35, 133,
+        132, 132, 132, 132, 14, 132, 11, 132,
+        132, 132, 132, 132, 132, 132, 132, 14,
+        15, 16, 17, 132, 132, 132, 132, 132,
+        132, 132, 132, 25, 132, 26, 27, 28,
+        132, 132, 132, 132, 132, 33, 34, 35,
+        133, 132, 132, 132, 132, 14, 132, 135,
+        132, 11, 132, 132, 132, 132, 132, 132,
+        132, 13, 14, 15, 16, 17, 132, 19,
+        20, 132, 132, 132, 23, 24, 25, 132,
+        26, 27, 28, 132, 132, 132, 132, 132,
+        33, 34, 35, 133, 132, 132, 132, 132,
+        14, 132, 11, 132, 132, 132, 132, 132,
+        132, 132, 132, 14, 15, 16, 17, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 26, 27, 28, 132, 132, 132, 132,
+        132, 33, 34, 35, 133, 132, 132, 132,
+        132, 14, 132, 135, 132, 11, 132, 132,
+        132, 132, 132, 132, 132, 13, 14, 15,
+        16, 17, 132, 132, 20, 132, 132, 132,
+        23, 24, 25, 132, 26, 27, 28, 132,
+        132, 132, 132, 132, 33, 34, 35, 133,
+        132, 132, 132, 132, 14, 132, 135, 132,
+        11, 132, 132, 132, 132, 132, 132, 132,
+        13, 14, 15, 16, 17, 132, 132, 132,
+        132, 132, 132, 23, 24, 25, 132, 26,
+        27, 28, 132, 132, 132, 132, 132, 33,
+        34, 35, 133, 132, 132, 132, 132, 14,
+        132, 135, 132, 11, 132, 132, 132, 132,
+        132, 132, 132, 13, 14, 15, 16, 17,
+        18, 19, 20, 132, 132, 132, 23, 24,
+        25, 132, 26, 27, 28, 132, 132, 132,
+        132, 132, 33, 34, 35, 133, 132, 132,
+        132, 132, 14, 132, 8, 9, 132, 11,
+        132, 132, 132, 132, 132, 132, 132, 13,
         14, 15, 16, 17, 18, 19, 20, 21,
-        22, 23, 134, 24, 25, 26, 134, 27,
-        28, 134, 30, 31, 32, 33, 30, 134,
-        134, 134, 134, 36, 134, 5, 6, 134,
-        8, 134, 134, 134, 134, 134, 134, 134,
-        10, 11, 12, 13, 14, 15, 16, 17,
-        18, 19, 20, 21, 22, 23, 134, 24,
-        25, 26, 134, 134, 134, 134, 30, 31,
-        32, 33, 30, 134, 134, 134, 134, 36,
-        134, 8, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 27, 28, 134, 8,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 134, 134, 134, 134, 134,
-        134, 134, 134, 28, 134, 1, 139, 139,
-        139, 1, 139, 141, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 142,
-        140, 34, 140, 141, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 34, 142,
-        140, 142, 140, 141, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 140, 140,
-        140, 140, 140, 140, 140, 140, 34, 140,
-        35, 140, 0
+        132, 22, 23, 24, 25, 132, 26, 27,
+        28, 132, 132, 132, 132, 32, 33, 34,
+        35, 32, 132, 132, 132, 132, 37, 132,
+        8, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 11, 132, 8,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 11, 132, 132, 132,
+        132, 132, 132, 132, 132, 14, 15, 16,
+        17, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 26, 27, 28, 132, 132,
+        132, 132, 132, 33, 34, 35, 133, 132,
+        136, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 11, 132, 10, 11, 132, 4,
+        132, 132, 132, 4, 132, 132, 132, 132,
+        132, 8, 9, 10, 11, 132, 132, 132,
+        132, 132, 132, 132, 13, 14, 15, 16,
+        17, 18, 19, 20, 21, 8, 22, 23,
+        24, 25, 132, 26, 27, 28, 132, 29,
+        30, 132, 32, 33, 34, 35, 32, 132,
+        132, 132, 132, 37, 132, 11, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        29, 30, 132, 11, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 132,
+        132, 132, 132, 132, 132, 132, 132, 30,
+        132, 4, 137, 137, 137, 4, 137, 139,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 140, 138, 141, 138, 141,
+        142, 138, 139, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 1, 140, 140,
+        138, 139, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 140, 138, 141,
+        138, 139, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 138, 138, 138,
+        138, 138, 138, 138, 138, 140, 138, 141,
+        138, 141, 138, 39, 40, 38, 41, 38,
+        38, 38, 38, 38, 38, 38, 42, 43,
+        44, 45, 46, 47, 48, 49, 50, 39,
+        51, 52, 53, 54, 38, 55, 56, 57,
+        38, 58, 59, 38, 60, 61, 62, 63,
+        60, 1, 38, 2, 38, 64, 38, 0
 };
 
 static const char _use_syllable_machine_trans_targs[] = {
-        1, 31, 0, 59, 61, 90, 91, 116,
-        0, 118, 104, 92, 93, 94, 95, 108,
-        110, 111, 112, 119, 113, 105, 106, 107,
-        99, 100, 101, 120, 121, 122, 114, 96,
-        97, 98, 123, 125, 115, 0, 2, 3,
-        0, 16, 4, 5, 6, 7, 20, 22,
-        23, 24, 28, 25, 17, 18, 19, 11,
-        12, 13, 29, 30, 26, 8, 9, 10,
-        27, 14, 15, 21, 0, 32, 33, 0,
-        46, 34, 35, 36, 37, 50, 52, 53,
-        54, 55, 47, 48, 49, 41, 42, 43,
-        56, 38, 39, 40, 57, 58, 44, 0,
-        45, 0, 51, 0, 0, 0, 60, 0,
-        0, 0, 62, 63, 76, 64, 65, 66,
-        67, 80, 82, 83, 84, 89, 85, 77,
-        78, 79, 71, 72, 73, 86, 68, 69,
-        70, 87, 88, 74, 75, 81, 0, 102,
-        103, 109, 117, 0, 0, 0, 124
+        1, 120, 0, 2, 31, 1, 58, 60,
+        88, 89, 114, 1, 116, 102, 90, 91,
+        92, 93, 106, 108, 109, 110, 111, 103,
+        104, 105, 97, 98, 99, 117, 118, 119,
+        112, 94, 95, 96, 124, 113, 1, 3,
+        4, 1, 17, 5, 6, 7, 8, 21,
+        23, 24, 25, 26, 18, 19, 20, 12,
+        13, 14, 29, 30, 27, 9, 10, 11,
+        28, 15, 16, 22, 1, 32, 1, 45,
+        33, 34, 35, 36, 49, 51, 52, 53,
+        54, 46, 47, 48, 40, 41, 42, 55,
+        37, 38, 39, 56, 57, 43, 1, 44,
+        1, 50, 1, 1, 1, 59, 1, 1,
+        1, 61, 62, 75, 63, 64, 65, 66,
+        79, 81, 82, 83, 84, 76, 77, 78,
+        70, 71, 72, 85, 67, 68, 69, 86,
+        87, 73, 74, 80, 1, 100, 101, 107,
+        115, 1, 1, 1, 121, 122, 123
 };
 
 static const char _use_syllable_machine_trans_actions[] = {
-        0, 0, 3, 0, 0, 0, 0, 0,
-        4, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 4, 0, 0,
+        0, 0, 0, 5, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 5, 0, 0,
-        6, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 6, 0, 7, 0,
+        0, 8, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 7, 0, 0, 8,
+        0, 0, 0, 0, 9, 0, 10, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 9,
-        0, 10, 0, 11, 12, 13, 0, 14,
-        15, 16, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 11, 0,
+        12, 0, 13, 14, 15, 0, 16, 17,
+        18, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 17, 0,
-        0, 0, 0, 18, 19, 20, 0
+        0, 0, 0, 0, 19, 0, 0, 0,
+        0, 20, 21, 22, 0, 0, 0
 };
 
 static const char _use_syllable_machine_to_state_actions[] = {
-        1, 0, 0, 0, 0, 0, 0, 0,
+        0, 2, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
@@ -778,11 +769,11 @@
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0
+        0, 0, 0, 0, 0
 };
 
 static const char _use_syllable_machine_from_state_actions[] = {
-        2, 0, 0, 0, 0, 0, 0, 0,
+        0, 3, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
@@ -797,40 +788,40 @@
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0
+        0, 0, 0, 0, 0
 };
 
 static const short _use_syllable_machine_eof_trans[] = {
-        0, 38, 38, 38, 38, 38, 38, 38,
-        38, 38, 38, 38, 38, 38, 38, 38,
-        38, 38, 38, 38, 38, 38, 38, 38,
-        38, 38, 38, 38, 38, 38, 38, 69,
+        1, 0, 39, 39, 39, 39, 39, 39,
+        39, 39, 39, 39, 39, 39, 39, 39,
+        39, 39, 39, 39, 39, 39, 39, 39,
+        39, 39, 39, 39, 39, 39, 39, 69,
         69, 69, 69, 69, 69, 69, 69, 69,
-        69, 69, 69, 69, 96, 69, 69, 69,
+        69, 69, 69, 95, 69, 69, 69, 69,
+        69, 69, 69, 69, 69, 69, 69, 99,
+        95, 69, 101, 104, 69, 69, 69, 69,
         69, 69, 69, 69, 69, 69, 69, 69,
-        100, 96, 69, 102, 105, 69, 69, 69,
-        69, 69, 69, 69, 69, 69, 69, 69,
-        69, 69, 96, 69, 69, 69, 69, 69,
-        69, 69, 69, 69, 69, 69, 100, 96,
-        69, 69, 135, 135, 135, 135, 135, 135,
-        135, 135, 135, 135, 135, 135, 135, 135,
-        135, 135, 135, 135, 135, 135, 135, 135,
-        135, 135, 135, 135, 135, 135, 135, 135,
-        135, 135, 140, 141, 141, 141
+        69, 95, 69, 69, 69, 69, 69, 69,
+        69, 69, 69, 69, 69, 99, 95, 69,
+        133, 133, 133, 133, 133, 133, 133, 133,
+        133, 133, 133, 133, 133, 133, 133, 133,
+        133, 133, 133, 133, 133, 133, 133, 133,
+        133, 133, 133, 133, 133, 133, 133, 138,
+        139, 139, 139, 139, 39
 };
 
-static const int use_syllable_machine_start = 0;
-static const int use_syllable_machine_first_final = 0;
+static const int use_syllable_machine_start = 1;
+static const int use_syllable_machine_first_final = 1;
 static const int use_syllable_machine_error = -1;
 
-static const int use_syllable_machine_en_main = 0;
+static const int use_syllable_machine_en_main = 1;
 
 
 #line 58 "hb-ot-shaper-use-machine.rl"
 
 
 
-#line 182 "hb-ot-shaper-use-machine.rl"
+#line 184 "hb-ot-shaper-use-machine.rl"
 
 
 #define found_syllable(syllable_type) \
@@ -929,7 +920,7 @@
   unsigned int act HB_UNUSED;
   int cs;
 
-#line 922 "hb-ot-shaper-use-machine.hh"
+#line 924 "hb-ot-shaper-use-machine.hh"
         {
         cs = use_syllable_machine_start;
         ts = 0;
@@ -937,12 +928,12 @@
         act = 0;
         }
 
-#line 282 "hb-ot-shaper-use-machine.rl"
+#line 284 "hb-ot-shaper-use-machine.rl"
 
 
   unsigned int syllable_serial = 1;
 
-#line 931 "hb-ot-shaper-use-machine.hh"
+#line 937 "hb-ot-shaper-use-machine.hh"
         {
         int _slen;
         int _trans;
@@ -952,11 +943,11 @@
                 goto _test_eof;
 _resume:
         switch ( _use_syllable_machine_from_state_actions[cs] ) {
-        case 2:
+        case 3:
 #line 1 "NONE"
         {ts = p;}
         break;
-#line 943 "hb-ot-shaper-use-machine.hh"
+#line 951 "hb-ot-shaper-use-machine.hh"
         }
 
         _keys = _use_syllable_machine_trans_keys + (cs<<1);
@@ -974,88 +965,96 @@
                 goto _again;
 
         switch ( _use_syllable_machine_trans_actions[_trans] ) {
-        case 12:
-#line 170 "hb-ot-shaper-use-machine.rl"
+        case 6:
+#line 1 "NONE"
+        {te = p+1;}
+        break;
+        case 14:
+#line 172 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_virama_terminated_cluster); }}
         break;
-        case 10:
-#line 171 "hb-ot-shaper-use-machine.rl"
+        case 12:
+#line 173 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_sakot_terminated_cluster); }}
         break;
-        case 8:
-#line 172 "hb-ot-shaper-use-machine.rl"
+        case 10:
+#line 174 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_standard_cluster); }}
         break;
-        case 16:
-#line 173 "hb-ot-shaper-use-machine.rl"
+        case 18:
+#line 175 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_number_joiner_terminated_cluster); }}
         break;
-        case 14:
-#line 174 "hb-ot-shaper-use-machine.rl"
+        case 16:
+#line 176 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_numeral_cluster); }}
         break;
-        case 6:
-#line 175 "hb-ot-shaper-use-machine.rl"
+        case 8:
+#line 177 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_symbol_cluster); }}
         break;
-        case 20:
-#line 176 "hb-ot-shaper-use-machine.rl"
+        case 22:
+#line 178 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_hieroglyph_cluster); }}
         break;
-        case 4:
-#line 177 "hb-ot-shaper-use-machine.rl"
+        case 5:
+#line 179 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }}
         break;
-        case 3:
-#line 178 "hb-ot-shaper-use-machine.rl"
+        case 4:
+#line 180 "hb-ot-shaper-use-machine.rl"
         {te = p+1;{ found_syllable (use_non_cluster); }}
         break;
-        case 11:
-#line 170 "hb-ot-shaper-use-machine.rl"
+        case 13:
+#line 172 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_virama_terminated_cluster); }}
         break;
-        case 9:
-#line 171 "hb-ot-shaper-use-machine.rl"
+        case 11:
+#line 173 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_sakot_terminated_cluster); }}
         break;
-        case 7:
-#line 172 "hb-ot-shaper-use-machine.rl"
+        case 9:
+#line 174 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_standard_cluster); }}
         break;
-        case 15:
-#line 173 "hb-ot-shaper-use-machine.rl"
+        case 17:
+#line 175 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_number_joiner_terminated_cluster); }}
         break;
-        case 13:
-#line 174 "hb-ot-shaper-use-machine.rl"
+        case 15:
+#line 176 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_numeral_cluster); }}
         break;
-        case 5:
-#line 175 "hb-ot-shaper-use-machine.rl"
+        case 7:
+#line 177 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_symbol_cluster); }}
         break;
-        case 19:
-#line 176 "hb-ot-shaper-use-machine.rl"
+        case 21:
+#line 178 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_hieroglyph_cluster); }}
         break;
-        case 17:
-#line 177 "hb-ot-shaper-use-machine.rl"
+        case 19:
+#line 179 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }}
         break;
-        case 18:
-#line 178 "hb-ot-shaper-use-machine.rl"
+        case 20:
+#line 180 "hb-ot-shaper-use-machine.rl"
         {te = p;p--;{ found_syllable (use_non_cluster); }}
         break;
-#line 1014 "hb-ot-shaper-use-machine.hh"
+        case 1:
+#line 177 "hb-ot-shaper-use-machine.rl"
+        {{p = ((te))-1;}{ found_syllable (use_symbol_cluster); }}
+        break;
+#line 1049 "hb-ot-shaper-use-machine.hh"
         }
 
 _again:
         switch ( _use_syllable_machine_to_state_actions[cs] ) {
-        case 1:
+        case 2:
 #line 1 "NONE"
         {ts = 0;}
         break;
-#line 1021 "hb-ot-shaper-use-machine.hh"
+#line 1058 "hb-ot-shaper-use-machine.hh"
         }
 
         if ( ++p != pe )
@@ -1071,7 +1070,7 @@
 
         }
 
-#line 287 "hb-ot-shaper-use-machine.rl"
+#line 289 "hb-ot-shaper-use-machine.rl"
 
 }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -6,18 +6,18 @@
  *
  * on files with these headers:
  *
- * # IndicSyllabicCategory-15.0.0.txt
- * # Date: 2022-05-26, 02:18:00 GMT [KW, RP]
- * # IndicPositionalCategory-15.0.0.txt
- * # Date: 2022-05-26, 02:18:00 GMT [KW, RP]
- * # ArabicShaping-15.0.0.txt
- * # Date: 2022-02-14, 18:50:00 GMT [KW, RP]
- * # DerivedCoreProperties-15.0.0.txt
- * # Date: 2022-08-05, 22:17:05 GMT
- * # Blocks-15.0.0.txt
- * # Date: 2022-01-28, 20:58:00 GMT [KW]
- * # Scripts-15.0.0.txt
- * # Date: 2022-04-26, 23:15:02 GMT
+ * # IndicSyllabicCategory-15.1.0.txt
+ * # Date: 2023-01-05
+ * # IndicPositionalCategory-15.1.0.txt
+ * # Date: 2023-01-05
+ * # ArabicShaping-15.1.0.txt
+ * # Date: 2023-01-05
+ * # DerivedCoreProperties-15.1.0.txt
+ * # Date: 2023-08-07, 15:21:24 GMT
+ * # Blocks-15.1.0.txt
+ * # Date: 2023-07-28, 15:47:20 GMT
+ * # Scripts-15.1.0.txt
+ * # Date: 2023-07-28, 16:01:07 GMT
  * # Override values For Indic_Syllabic_Category
  * # Not derivable
  * # Initial version based on Unicode 7.0 by Andrew Glass 2014-03-17
@@ -26,6 +26,7 @@
  * # Updated for Unicode 13.0 by Andrew Glass 2020-07-28
  * # Updated for Unicode 14.0 by Andrew Glass 2021-09-25
  * # Updated for Unicode 15.0 by Andrew Glass 2022-09-16
+ * # Updated for Unicode 15.1 by Andrew Glass 2023-09-14
  * # Override values For Indic_Positional_Category
  * # Not derivable
  * # Initial version based on Unicode 7.0 by Andrew Glass 2014-03-17
@@ -36,6 +37,7 @@
  * # Updated for Unicode 13.0 by Andrew Glass 2020-07-28
  * # Updated for Unicode 14.0 by Andrew Glass 2021-09-28
  * # Updated for Unicode 15.0 by Andrew Glass 2022-09-16
+ * # Updated for Unicode 15.1 by Andrew Glass 2023-09-14
  * UnicodeData.txt does not have a header.
  */
 
@@ -54,7 +56,9 @@
 #define G       USE(G)  /* HIEROGLYPH */
 #define GB      USE(GB) /* BASE_OTHER */
 #define H       USE(H)  /* HALANT */
+#define HM      USE(HM) /* HIEROGLYPH_MOD */
 #define HN      USE(HN) /* HALANT_NUM */
+#define HR      USE(HR) /* HIEROGLYPH_MIRROR */
 #define HVM     USE(HVM)        /* HALANT_OR_VOWEL_MODIFIER */
 #define IS      USE(IS) /* INVISIBLE_STACKER */
 #define J       USE(J)  /* HIEROGLYPH_JOINER */
@@ -95,7 +99,7 @@
 #ifndef HB_OPTIMIZE_SIZE
 
 static const uint8_t
-hb_use_u8[3141] =
+hb_use_u8[3187] =
 {
      16,   50,   51,   51,   51,   52,   51,   83,  118,  131,   51,   57,   58,  179,  195,   61,
      51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
@@ -109,244 +113,249 @@
      18,   19,   20,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   21,
      22,   23,   24,   25,   26,   27,   28,   29,   30,   31,   32,    2,   33,    2,    2,    2,
       2,   34,   35,    2,    2,    2,    2,    2,    2,    2,    2,    2,   36,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   37,    2,    2,    2,    2,
+     37,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   38,    2,   39,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,   38,   39,   40,   41,   42,   43,    2,   44,    2,    2,    2,    2,    2,    2,    2,
+      2,   40,   41,   42,   43,   44,   45,    2,   46,    2,    2,    2,    2,    2,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   45,   46,    2,
-     47,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   48,   49,    2,    2,    2,
-      2,    2,    2,    2,    2,   50,   51,    2,   52,    2,    2,   53,    2,    2,   54,   55,
-     56,   57,   58,   59,   60,   61,   62,   63,    2,   64,   65,    2,   66,   67,   68,   69,
-      2,   70,    2,   71,   72,   73,   74,    2,    2,   75,   76,   77,   78,    2,   79,   80,
-      2,   81,   81,   81,   81,   81,   81,   81,   81,   82,    2,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   47,   48,    2,
+     49,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   50,   51,    2,    2,    2,
+      2,    2,    2,    2,    2,   52,   53,    2,   54,    2,    2,   55,    2,    2,   56,   57,
+     58,   59,   60,   61,   62,   63,   64,   65,    2,   66,   67,    2,   68,   69,   70,   71,
+      2,   72,    2,   73,   74,   75,   76,    2,    2,   77,   78,   79,   80,    2,   81,   82,
+      2,   83,   83,   83,   83,   83,   83,   83,   83,   84,    2,    2,    2,    2,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,   83,   84,    2,    2,    2,    2,    2,    2,    2,   85,
-     86,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,   81,   81,   81,   87,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,   85,   86,    2,    2,    2,    2,    2,    2,    2,   87,
+     88,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,    2,   89,   89,   89,   90,    2,    2,    2,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,    2,    2,   88,   89,    2,    2,    2,    2,    2,
-      2,    2,    2,   90,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,    2,    2,    2,   91,   92,    2,    2,    2,    2,    2,
+      2,    2,    2,   93,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
       2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,   91,    2,    2,   92,    2,    2,    2,   93,    2,    2,    2,    2,    2,
-      2,    2,    2,   94,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,   95,   95,   96,   97,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-     95,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-     95,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,
-      0,    2,    2,    2,    2,    2,    0,    0,    0,    3,    0,    0,    0,    0,    0,    4,
-      0,    0,    5,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,    0,    0,    6,    7,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    8,    9,    9,    9,    9,    0,    0,    0,    7,   10,
-      0,    2,    2,    2,    2,   11,   12,    0,    0,    9,   13,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,   14,   15,   16,   17,   18,   19,   20,   14,   21,   22,
-     23,   10,   24,   25,   18,    2,    2,    2,    2,    2,   18,    0,    2,    2,    2,    2,
-      2,    0,    2,    2,    2,    2,    2,    2,    2,   26,   27,   28,    2,    2,    2,    7,
-     28,    7,   28,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    7,    2,    2,
-      2,    7,    7,    0,    2,    2,    0,   15,   16,   17,   18,   29,   30,   31,   30,   32,
-      0,    0,    0,    0,   33,    0,    0,    2,   28,    2,    0,    0,    0,    0,    0,    7,
-     34,   10,   13,   28,    2,    2,    7,    0,   28,    7,    2,   28,    7,    2,    0,   35,
-     16,   17,   29,    0,   25,   36,   25,   37,    0,   38,    0,    0,    0,   28,    2,    7,
-      7,    0,    0,    0,    2,    2,    2,    2,    2,   39,   40,   41,    0,    0,    0,    0,
-      0,   10,   13,   28,    2,    2,    2,    2,   28,    2,   28,    2,    2,    2,    2,    2,
-      2,    7,    2,   28,    2,    2,    0,   15,   16,   17,   18,   19,   25,   20,   33,   22,
-      0,    0,    0,    0,    0,   28,   39,   39,   42,   10,   27,   28,    2,    2,    2,    7,
-     28,    7,    2,   28,    2,    2,    0,   15,   43,    0,    0,   25,   20,    0,    0,    2,
-     28,   28,    0,    0,    0,    0,    0,    0,    0,    0,   44,   28,    2,    2,    7,    0,
-      2,    7,    2,    2,    0,   28,    7,    7,    2,    0,   28,    7,    0,    2,    7,    0,
-      2,    2,    2,    2,    2,    2,    0,    0,   21,   14,   45,    0,   46,   31,   46,   32,
-      0,    0,    0,    0,   33,    0,    0,    0,    0,   13,   27,   47,    2,    2,    2,    7,
-      2,    7,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    0,   15,
-     20,   14,   21,   45,   20,   36,   20,   37,    0,    0,    0,   25,   29,    2,    7,    0,
-      0,    8,   27,   28,    2,    2,    2,    7,    2,    2,    2,   28,    2,    2,    0,   15,
-     43,    0,    0,   33,   45,    0,    0,    0,    7,   48,   49,    0,    0,    0,    0,    0,
-      0,    9,   27,    2,    2,    2,    2,    7,    2,    2,    2,    2,    2,    2,   50,   51,
-     21,   21,   17,   29,   46,   31,   46,   32,   52,    0,    0,    0,   33,    0,    0,    0,
-     28,   10,   27,   28,    2,    2,    2,    2,    2,    2,    2,    2,    7,    0,    2,    2,
-      2,    2,   28,    2,    2,    2,    2,   28,    0,    2,    2,    2,    7,    0,   53,    0,
-     33,   21,   20,   29,   29,   16,   46,   46,   23,    0,   21,    0,    0,    0,    0,    0,
-      0,    2,    0,    2,    7,    0,    0,    0,    0,    0,    0,    0,    0,   18,    0,    0,
-      0,    2,    2,   54,   54,   55,    0,    0,   16,    2,    2,    2,    2,   28,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,    7,    0,   56,   19,   57,   20,   20,   18,   18,
-     44,   19,    9,   29,    9,    2,    2,   58,   59,   59,   59,   59,   59,   60,   59,   59,
-     59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   61,
-      0,    0,    0,    0,   62,    0,    0,    0,    0,    2,    2,    2,    2,    2,   63,   43,
-     57,   64,   20,   20,   65,   66,   67,   68,   69,    2,    2,    2,    2,    2,    1,    0,
-      3,    2,    2,    2,   21,   18,    2,    2,   70,   69,   71,   72,   63,   71,   27,   27,
-      2,   50,   20,   51,    2,    2,    2,    2,    2,    2,   73,   74,   75,   27,   27,   76,
-     77,    2,    2,    2,    2,    2,   27,   43,    0,    2,   57,   78,    0,    0,    0,    0,
-     28,    2,   57,   45,    0,    0,    0,    0,    0,    2,   57,    0,    0,    0,    0,    0,
-      0,    2,    2,    2,    2,    2,    2,    7,    2,    7,   57,    0,    0,    0,    0,    0,
-      0,    2,    2,   79,   43,   20,   57,   18,   46,   46,   46,   46,   13,   80,   81,   82,
-     83,   84,   85,    0,    0,    0,    0,   86,    0,    7,    0,    0,   28,    0,   87,   79,
-     88,    2,    2,    2,    2,    7,    0,    0,    0,   40,   40,   89,   90,    2,    2,    2,
-      2,    2,    2,    2,    2,   11,    7,    0,    0,   91,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,    2,    7,   20,   78,   43,   20,   92,   59,    0,
-      0,   93,   94,   93,   93,   95,   96,    0,    0,    2,    2,    2,    2,    2,    2,    2,
-      0,    2,    2,    7,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    0,
-      0,    2,    2,    2,    2,   27,    0,    0,    0,    2,    2,    2,    2,    2,    7,    0,
-      0,    2,    2,    2,   50,   97,   43,    0,    0,    2,    2,   98,   99,  100,  101,   59,
-     61,  102,   14,   43,   20,   57,   19,   78,   46,   46,   74,    9,    9,    9,  103,   44,
-     38,    9,  104,   72,    2,    2,    2,    2,    2,    2,    2,  105,   20,   18,   18,   20,
-     46,   46,   20,  106,    2,    2,    2,    7,    0,    0,    0,    0,    0,    0,  107,  108,
-    109,  109,  109,    0,    0,    0,    0,    0,    0,  104,   72,    2,    2,    2,    2,    2,
-      2,   58,   59,   57,   23,   20,  110,   59,    2,    2,    2,    2,  105,   20,   21,   43,
-     43,  100,   12,    0,    0,    0,    0,    0,    0,    2,    2,   59,   16,   46,   21,  111,
-    100,  100,  100,  112,  113,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,   28,
-      2,    9,   44,  114,  114,  114,    9,  114,  114,   13,  114,  114,  114,   24,    0,   38,
-      0,    0,    0,  115,   49,    9,    3,    0,    0,    0,    0,    0,    0,    0,  116,    0,
-      0,    0,    0,    0,    0,    0,    4,  117,  118,   40,   40,    3,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,  118,  118,  119,  118,  118,  118,  118,  118,  118,  118,
-    118,    0,    0,  120,    0,    0,    0,    0,    0,    0,    5,  120,    0,    0,    0,    0,
-      0,   44,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    7,
-      0,    2,    2,    2,    2,    0,    0,    0,   28,    0,    0,    0,    0,    0,    0,    0,
-    121,    2,   51,    2,  106,    2,    8,    2,    2,    2,   63,   17,   14,    0,    0,   29,
-      0,    2,    2,    0,    0,    0,    0,    0,    0,   27,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,  122,   21,   21,   21,   21,   21,   21,   21,  123,    0,    0,    0,    0,
-      0,    9,    9,    9,    9,    9,    9,    9,    9,    9,    2,    0,    0,    0,    0,    0,
-     50,    2,    2,    2,   20,   20,  124,  114,    0,    2,    2,    2,  125,   18,   57,   18,
-    111,  100,  126,    0,    0,    0,    0,    0,    0,    9,  127,    2,    2,    2,    2,    2,
-      2,    2,  128,   21,   20,   18,   46,  129,  130,  131,    0,    0,    0,    0,    0,    0,
-      0,    2,    2,   50,   28,    2,    2,    2,    2,    2,    2,    2,    2,    8,   20,   57,
-     97,   74,  132,  133,  134,    0,    0,    0,    0,    2,  135,    2,    2,    2,    2,  136,
-      0,   28,    2,   40,    3,    0,   77,   13,    2,   51,   20,  137,   50,   51,    2,    2,
-    103,    8,    7,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,  138,   19,
-     23,    0,    0,  139,  140,    0,    0,    0,    0,    2,   63,   43,   21,   78,   45,  141,
-      0,   79,   79,   79,   79,   79,   79,   79,   79,    0,    0,    0,    0,    0,    0,    0,
-      4,  118,  118,  118,  118,  119,    0,    0,    0,    2,    2,    2,    2,    2,    7,    2,
-      2,    2,    7,    2,   28,    2,    2,    2,    2,    2,   28,    2,    2,    2,   28,    7,
-      0,  125,   18,   25,   29,    0,    0,  142,  143,    2,    2,   28,    2,   28,    2,    2,
-      2,    2,    2,    2,    0,   12,   35,    0,  144,    2,    2,   11,   35,    0,   28,    2,
-      2,    2,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   28,    2,    2,
-      7,    2,    2,    9,   39,    0,    0,    0,    0,    2,    2,    2,    2,    2,   25,   36,
-      0,    2,    2,    2,  114,  114,  114,  114,  114,  145,    2,    7,    0,    0,    0,    0,
-      0,    2,   12,   12,    0,    0,    0,    0,    0,    7,    2,    2,    7,    2,    2,    2,
-      2,   28,    2,    7,    0,   28,    2,    0,    0,  146,  147,  148,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,   20,   20,   18,   18,   18,   20,   20,  131,    0,    0,    0,
-      0,    0,  149,  149,  149,  149,  149,  149,  149,  149,  149,  149,    2,    2,    2,    2,
-      2,   51,   50,   51,    0,    0,    0,    0,  150,    9,   72,    2,    2,    2,    2,    2,
-      2,   16,   17,   19,   14,   22,   35,    0,    0,    0,   29,    0,    0,    0,    0,    0,
-      0,    9,   47,    2,    2,    2,    2,    2,    2,    2,    2,    2,  125,   18,   20,  151,
-     20,   19,  152,  153,    2,    2,    2,    2,    2,    0,    0,   63,  154,    0,    0,    0,
-      0,    2,   11,    0,    0,    0,    0,    0,    0,    2,   63,   23,   18,   18,   18,   20,
-     20,  106,  155,    0,    0,   54,  156,   29,  157,   28,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,   21,   17,   20,   20,  158,   42,    0,    0,    0,
-     47,  125,    0,    0,    0,    0,    0,    0,    0,    2,    2,    2,    7,    7,    2,    2,
-     28,    2,    2,    2,    2,    2,    2,    2,   28,    2,    2,    2,    2,    2,    2,    2,
-      8,   16,   17,   19,   20,  159,   29,    0,    0,    9,    9,   28,    2,    2,    2,    7,
-     28,    7,    2,   28,    2,    2,   56,   15,   21,   14,   21,   45,   30,   31,   30,   32,
-      0,    0,    0,    0,   33,    0,    0,    0,    2,    2,   21,    0,    9,    9,    9,   44,
-      0,    9,    9,   44,    0,    0,    0,    0,    0,    2,    2,   63,   23,   18,   18,   18,
-     20,   21,  123,   13,   15,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,    0,
-    160,  161,    0,    0,    0,    0,    0,    0,    0,   16,   17,   18,   18,   64,   97,   23,
-    157,    9,  162,    7,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    2,
-     63,   23,   18,   18,    0,   46,   46,    9,  163,   35,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    2,    2,   18,    0,   21,   17,   18,   18,   19,   14,   80,
-    163,   36,    0,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    8,  164,
-     23,   18,   20,   20,  162,    7,    0,    0,    0,    2,    2,    2,    2,    2,    7,   41,
-    133,   21,   20,   18,   74,   19,   20,    0,    0,    2,    2,    2,    7,    0,    0,    0,
-      0,    2,    2,    2,    2,    2,    2,   16,   17,   18,   19,   20,  103,  163,   35,    0,
-      0,    2,    2,    2,    7,   28,    0,    2,    2,    2,    2,   28,    7,    2,    2,    2,
-      2,   21,   21,   16,   30,   31,   10,  165,  166,  167,  168,    0,    0,    0,    0,    0,
-      0,    2,    2,    2,    2,    0,    2,    2,    2,   63,   23,   18,   18,    0,   20,   21,
-     27,  106,    0,   31,    0,    0,    0,    0,    0,   50,   18,   20,   20,   20,  137,    2,
-      2,    2,  169,  170,    9,   13,  171,   70,  172,    0,    0,    1,  144,    0,    0,    0,
-      0,   50,   18,   20,   14,   17,   18,    2,    2,    2,    2,  155,  155,  155,  173,  173,
-    173,  173,  173,  173,   13,  174,    0,   28,    0,   20,   18,   18,   29,   20,   20,    9,
-    163,    0,   59,   59,   59,   59,   59,   59,   59,   64,   19,   80,   44,    0,    0,    0,
-      0,    2,    2,    2,    7,    2,   28,    2,    2,   50,   20,   20,   29,    0,   36,   20,
-     25,    9,  156,  175,  171,    0,    0,    0,    0,    2,    2,    2,   28,    7,    2,    2,
-      2,    2,    2,    2,    2,    2,   21,   21,   45,   20,   33,   80,   66,    0,    0,    0,
-      0,    2,  176,   64,   45,    0,    0,    0,    0,    9,  177,    2,    2,    2,    2,    2,
-      2,    2,    2,   21,   20,   18,   29,    0,   46,   14,  140,    0,    0,    0,    0,    0,
-      0,  178,  178,  178,  106,  179,  178,    0,    0,  145,    2,    2,  180,  114,  114,  114,
-    114,  114,  114,  114,    0,    0,    0,    0,    0,    9,    9,    9,   44,    0,    0,    0,
-      0,    2,    2,    2,    2,    2,    7,    0,   56,  181,   18,   18,   18,   18,   18,   18,
-     18,   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,    0,    0,    0,
-     38,  114,   24,    0,    0,    0,    0,    0,    0,    0,    0,    7,    0,    0,    0,    0,
-      0,    2,    2,    2,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,   56,
-     35,    0,    4,  118,  118,  118,  119,    0,    0,    9,    9,    9,   47,    2,    2,    2,
+      2,    2,    2,   94,    2,    2,   95,    2,    2,    2,   96,    2,    2,    2,    2,    2,
+      2,    2,    2,   97,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
+      2,   98,   98,   99,  100,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+     98,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+     98,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,
+      0,    2,    2,    2,    2,    2,    0,    0,    0,    0,    0,    0,    0,    0,    3,    4,
+      0,    5,    0,    0,    0,    0,    0,    6,    0,    0,    7,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+      8,    9,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    2,    2,
+      2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   10,   11,
+     11,   11,   11,    0,    0,    0,    9,   12,    0,    2,    2,    2,    2,   13,   14,    0,
+      0,   11,   15,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   16,   17,
+     18,   19,   20,   21,   22,   16,   23,   24,   25,   12,   26,   27,   20,    2,    2,    2,
+      2,    2,   20,    0,    2,    2,    2,    2,    2,    0,    2,    2,    2,    2,    2,    2,
+      2,   28,   29,   30,    2,    2,    2,    9,   30,    9,   30,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    9,    2,    2,    2,    9,    9,    0,    2,    2,    0,   17,
+     18,   19,   20,   31,   32,   33,   32,   34,    0,    0,    0,    0,   35,    0,    0,    2,
+     30,    2,    0,    0,    0,    0,    0,    9,   36,   12,   15,   30,    2,    2,    9,    0,
+     30,    9,    2,   30,    9,    2,    0,   37,   18,   19,   31,    0,   27,   38,   27,   39,
+      0,   40,    0,    0,    0,   30,    2,    9,    9,    0,    0,    0,    2,    2,    2,    2,
+      2,   41,   42,   43,    0,    0,    0,    0,    0,   12,   15,   30,    2,    2,    2,    2,
+     30,    2,   30,    2,    2,    2,    2,    2,    2,    9,    2,   30,    2,    2,    0,   17,
+     18,   19,   20,   21,   27,   22,   35,   24,    0,    0,    0,    0,    0,   30,   41,   41,
+     44,   12,   29,   30,    2,    2,    2,    9,   30,    9,    2,   30,    2,    2,    0,   17,
+     45,    0,    0,   27,   22,    0,    0,    2,   30,   30,    0,    0,    0,    0,    0,    0,
+      0,    0,   46,   30,    2,    2,    9,    0,    2,    9,    2,    2,    0,   30,    9,    9,
+      2,    0,   30,    9,    0,    2,    9,    0,    2,    2,    2,    2,    2,    2,    0,    0,
+     23,   16,   47,    0,   48,   33,   48,   34,    0,    0,    0,    0,   35,    0,    0,    0,
+      0,   15,   29,   49,    2,    2,    2,    9,    2,    9,    2,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,    0,   17,   22,   16,   23,   47,   22,   38,   22,   39,
+      0,    0,    0,   27,   31,    2,    9,    0,    0,   10,   29,   30,    2,    2,    2,    9,
+      2,    2,    2,   30,    2,    2,    0,   17,   45,    0,    0,   35,   47,    0,    0,    0,
+      9,   50,   51,    0,    0,    0,    0,    0,    0,   11,   29,    2,    2,    2,    2,    9,
+      2,    2,    2,    2,    2,    2,   52,   53,   23,   23,   19,   31,   48,   33,   48,   34,
+     54,    0,    0,    0,   35,    0,    0,    0,   30,   12,   29,   30,    2,    2,    2,    2,
+      2,    2,    2,    2,    9,    0,    2,    2,    2,    2,   30,    2,    2,    2,    2,   30,
+      0,    2,    2,    2,    9,    0,   55,    0,   35,   23,   22,   31,   31,   18,   48,   48,
+     25,    0,   23,    0,    0,    0,    0,    0,    0,    2,    0,    2,    9,    0,    0,    0,
+      0,    0,    0,    0,    0,   20,    0,    0,    0,    2,    2,   56,   56,   57,    0,    0,
+     18,    2,    2,    2,    2,   30,    2,    2,    2,    2,    2,    2,    2,    2,    2,    9,
+      0,   58,   21,   59,   22,   22,   20,   20,   46,   21,   11,   31,   11,    2,    2,   60,
+     61,   61,   61,   61,   61,   62,   61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
+     61,   61,   61,   61,   61,   61,   61,   63,    0,    0,    0,    0,   64,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,   65,   45,   59,   66,   22,   22,   67,   68,   69,   70,
+     71,    2,    2,    2,    2,    2,    1,    0,    5,    2,    2,    2,   23,   20,    2,    2,
+     72,   71,   73,   74,   65,   73,   29,   29,    2,   52,   22,   53,    2,    2,    2,    2,
+      2,    2,   75,   76,   77,   29,   29,   78,   79,    2,    2,    2,    2,    2,   29,   45,
+      0,    2,   59,   80,    0,    0,    0,    0,   30,    2,   59,   47,    0,    0,    0,    0,
+      0,    2,   59,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    9,
+      2,    9,   59,    0,    0,    0,    0,    0,    0,    2,    2,   81,   45,   22,   59,   20,
+     48,   48,   48,   48,   15,   82,   83,   84,   85,   86,   87,    0,    0,    0,    0,   88,
+      0,    9,    0,    0,   30,    0,   89,   81,   90,    2,    2,    2,    2,    9,    0,    0,
+      0,   42,   42,   91,   92,    2,    2,    2,    2,    2,    2,    2,    2,   13,    9,    0,
+      0,   93,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
+      9,   22,   80,   45,   22,   94,   61,    0,    0,   95,   96,   95,   95,   97,   98,    0,
+      0,    2,    2,    2,    2,    2,    2,    2,    0,    2,    2,    9,    0,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    2,    0,    0,    2,    2,    2,    2,   29,    0,    0,
+      0,    2,    2,    2,    2,    2,    9,    0,    0,    2,    2,    2,   52,   99,   45,    0,
+      0,    2,    2,  100,  101,  102,  103,   61,   63,  104,   16,   45,   22,   59,   21,   80,
+     48,   48,   76,   11,   11,   11,  105,   46,   40,   11,  106,   74,    2,    2,    2,    2,
+      2,    2,    2,  107,   22,   20,   20,   22,   48,   48,   22,  108,    2,    2,    2,    9,
+      0,    0,    0,    0,    0,    0,  109,  110,  111,  111,  111,    0,    0,    0,    0,    0,
+      0,  106,   74,    2,    2,    2,    2,    2,    2,   60,   61,   59,   25,   22,  112,   61,
+      2,    2,    2,    2,  107,   22,   23,   45,   45,  102,   14,    0,    0,    0,    0,    0,
+      0,    2,    2,   61,   18,   48,   23,  113,  102,  102,  102,  114,  115,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    0,   30,    2,   11,   46,  116,  116,  116,   11,  116,
+    116,   15,  116,  116,  116,   26,    0,   40,    0,    0,    0,  117,   51,   11,    5,    0,
+      0,    0,    0,    0,    0,    0,  118,    0,    0,    0,    0,    0,    0,    0,    6,  119,
+    120,   42,   42,    5,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,  120,  120,
+    121,  120,  120,  120,  120,  120,  120,  120,  120,    0,    0,  122,    0,    0,    0,    0,
+      0,    0,    7,  122,    0,    0,    0,    0,    0,   46,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,    0,    9,    0,    0,    0,    0,  123,  123,    0,    0,
+      0,    2,    2,    2,    2,    0,    0,    0,   30,    0,    0,    0,    0,    0,    0,    0,
+    124,    0,  123,  123,    0,    0,    0,    0,    0,    2,   53,    2,  108,    2,   10,    2,
+      2,    2,   65,   19,   16,    0,    0,   31,    0,    2,    2,    0,    0,    0,    0,    0,
+      0,   29,    2,    2,    2,    2,    2,    2,    2,    2,    2,  125,   23,   23,   23,   23,
+     23,   23,   23,  126,    0,    0,    0,    0,    0,   11,   11,   11,   11,   11,   11,   11,
+     11,   11,    2,    0,    0,    0,    0,    0,   52,    2,    2,    2,   22,   22,  127,  116,
+      0,    2,    2,    2,  128,   20,   59,   20,  113,  102,  129,    0,    0,    0,    0,    0,
+      0,   11,  130,    2,    2,    2,    2,    2,    2,    2,  131,   23,   22,   20,   48,  132,
+    133,  134,    0,    0,    0,    0,    0,    0,    0,    2,    2,   52,   30,    2,    2,    2,
+      2,    2,    2,    2,    2,   10,   22,   59,   99,   76,  135,  136,  137,    0,    0,    0,
+      0,    2,  138,    2,    2,    2,    2,  139,    0,   30,    2,   42,    5,    0,   79,   15,
+      2,   53,   22,  140,   52,   53,    2,    2,  105,   10,    9,    0,    0,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,  141,   21,   25,    0,    0,  142,  143,    0,    0,    0,
+      0,    2,   65,   45,   23,   80,   47,  144,    0,   81,   81,   81,   81,   81,   81,   81,
+     81,    0,    0,    0,    0,    0,    0,    0,    6,  120,  120,  120,  120,  121,    0,    0,
+      0,    2,    2,    2,    2,    2,    9,    2,    2,    2,    9,    2,   30,    2,    2,    2,
+      2,    2,   30,    2,    2,    2,   30,    9,    0,  128,   20,   27,   31,    0,    0,  145,
+    146,    2,    2,   30,    2,   30,    2,    2,    2,    2,    2,    2,    0,   14,   37,    0,
+    147,    2,    2,   13,   37,    0,   30,    2,    2,    2,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,   30,    2,    2,    9,    2,    2,   11,   41,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,   27,   38,    0,    2,    2,    2,  116,  116,  116,  116,
+    116,  148,    2,    9,    0,    0,    0,    0,    0,    2,   14,   14,    0,    0,    0,    0,
+      0,    9,    2,    2,    9,    2,    2,    2,    2,   30,    2,    9,    0,   30,    2,    0,
+      0,  149,  150,  151,    2,    2,    2,    2,    2,    2,    2,    2,    2,   22,   22,   20,
+     20,   20,   22,   22,  134,    0,    0,    0,    0,    0,  152,  152,  152,  152,  152,  152,
+    152,  152,  152,  152,    2,    2,    2,    2,    2,   53,   52,   53,    0,    0,    0,    0,
+    153,   11,   74,    2,    2,    2,    2,    2,    2,   18,   19,   21,   16,   24,   37,    0,
+      0,    0,   31,    0,    0,    0,    0,    0,    0,   11,   49,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,  128,   20,   22,  154,   22,   21,  155,  156,    2,    2,    2,    2,
+      2,    0,    0,   65,  157,    0,    0,    0,    0,    2,   13,    0,    0,    0,    0,    0,
+      0,    2,   65,   25,   20,   20,   20,   22,   22,  108,  158,    0,    0,   56,  159,   31,
+    160,   30,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,   23,
+     19,   22,   22,  161,   44,    0,    0,    0,   49,  128,    0,    0,    0,    0,    0,    0,
+      0,    2,    2,    2,    9,    9,    2,    2,   30,    2,    2,    2,    2,    2,    2,    2,
+     30,    2,    2,    2,    2,    2,    2,    2,   10,   18,   19,   21,   22,  162,   31,    0,
+      0,   11,   11,   30,    2,    2,    2,    9,   30,    9,    2,   30,    2,    2,   58,   17,
+     23,   16,   23,   47,   32,   33,   32,   34,    0,    0,    0,    0,   35,    0,    0,    0,
+      2,    2,   23,    0,   11,   11,   11,   46,    0,   11,   11,   46,    0,    0,    0,    0,
+      0,    2,    2,   65,   25,   20,   20,   20,   22,   23,  126,   15,   17,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    0,    0,  163,  164,    0,    0,    0,    0,    0,    0,
+      0,   18,   19,   20,   20,   66,   99,   25,  160,   11,  165,    9,    0,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    2,    2,   65,   25,   20,   20,    0,   48,   48,   11,
+    166,   37,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    2,    2,   20,
+      0,   23,   19,   20,   20,   21,   16,   82,  166,   38,    0,    0,    0,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,   10,  167,   25,   20,   22,   22,  165,    9,    0,    0,
+      0,    2,    2,    2,    2,    2,    9,   43,  136,   23,   22,   20,   76,   21,   22,    0,
+      0,    2,    2,    2,    9,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,   18,
+     19,   20,   21,   22,  105,  166,   37,    0,    0,    2,    2,    2,    9,   30,    0,    2,
+      2,    2,    2,   30,    9,    2,    2,    2,    2,   23,   23,   18,   32,   33,   12,  168,
+    169,  170,  171,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    0,    2,    2,
+      2,   65,   25,   20,   20,    0,   22,   23,   29,  108,    0,   33,    0,    0,    0,    0,
+      0,   52,   20,   22,   22,   22,  140,    2,    2,    2,  172,  173,   11,   15,  174,   72,
+    175,    0,    0,    1,  147,    0,    0,    0,    0,   52,   20,   22,   16,   19,   20,    2,
+      2,    2,    2,  158,  158,  158,  176,  176,  176,  176,  176,  176,   15,  177,    0,   30,
+      0,   22,   20,   20,   31,   22,   22,   11,  166,    0,   61,   61,   61,   61,   61,   61,
+     61,   66,   21,   82,   46,    0,    0,    0,    0,    2,    2,    2,    9,    2,   30,    2,
+      2,   52,   22,   22,   31,    0,   38,   22,   27,   11,  159,  178,  174,    0,    0,    0,
+      0,    2,    2,    2,   30,    9,    2,    2,    2,    2,    2,    2,    2,    2,   23,   23,
+     47,   22,   35,   82,   68,    0,    0,    0,    0,    2,  179,   66,   47,    0,    0,    0,
+      0,   11,  180,    2,    2,    2,    2,    2,    2,    2,    2,   23,   22,   20,   31,    0,
+     48,   16,  143,    0,    0,    0,    0,    0,    0,  181,  181,  181,  181,  181,  181,  181,
+    181,  182,  182,  182,  183,  184,  182,  181,  181,  185,  181,  181,  186,  187,  187,  187,
+    187,  187,  187,  187,    0,    0,    0,    0,    0,   11,   11,   11,   46,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    9,    0,   58,  188,   20,   20,   20,   20,   20,   20,
+     20,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,    0,    0,    0,
+     40,  116,   26,    0,    0,    0,    0,    0,    0,    0,    0,    9,    0,    0,    0,    0,
+      0,    2,    2,    2,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,   58,
+     37,    0,    6,  120,  120,  120,  121,    0,    0,   11,   11,   11,   49,    2,    2,    2,
       0,    2,    2,    2,    2,    2,    0,    0,    2,    2,    2,    2,    2,    2,    2,    2,
-     44,    2,    2,    2,    2,    2,    2,    9,    9,    2,    2,    2,    2,    2,    2,   20,
-     20,    2,    2,   42,   42,   42,   90,    0,    0,    O,    O,    O,   GB,    B,    B,   GB,
-      O,    O,   WJ,FMPst,FMPst,    O,  CGJ,    B,    O,    B,VMAbv,VMAbv,VMAbv,    O,VMAbv,    B,
-  CMBlw,CMBlw,CMBlw,VMAbv,VMPst, VAbv, VPst,CMBlw,    B, VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw,
-   VAbv, VAbv, VAbv, VPst, VPst, VPst,    H, VPre, VPst,VMBlw,    O,    O, VAbv,   GB,VMAbv,VMPst,
-  VMPst,    O,    B, VBlw,    O,    O, VPre, VPre,    O, VPre,    H,    O, VPst,FMAbv,    O,CMBlw,
-      O, VAbv,    O, VAbv,    H,    O,VMBlw,VMAbv,CMAbv,   GB,   GB,    O, MBlw,CMAbv,CMAbv, VPst,
-   VAbv,VMAbv,    O, VPst,    O, VPre, VPre,VMAbv,    B,    O,   CS,   CS,VMPst,    B, VAbv, VAbv,
-      B,    R,    O,  HVM,    O,    O,FMBlw,    O,CMAbv,    O,CMBlw, VAbv, VBlw,    B,  SUB,  SUB,
-    SUB,    O,  SUB,  SUB,    O,FMBlw,    O,    B, VPst, VBlw, VPre,VMAbv,VMBlw,VMPst,   IS, VAbv,
-   MPst, MPre, MBlw, MBlw,    B, MBlw, MBlw, VPst,VMPst,VMPst,    B, MBlw, VPst, VPre, VAbv, VAbv,
-  VMPst,VMPst,VMBlw,    B,VMPst, VBlw, VPst,  CGJ,  CGJ, VPst,VMAbv,VMAbv,FMAbv, FAbv,CMAbv,FMAbv,
-  VMAbv,FMAbv, VAbv,   IS,FMAbv,    B,FMAbv,    B,  CGJ,   WJ,  CGJ,   GB,CMAbv,CMAbv,    B,   GB,
-      B, VAbv,  SUB, FPst, FPst,VMBlw, FPst, FPst, FBlw,VMAbv,FMBlw, VAbv, VPre,    B, MPre, MBlw,
-    SUB, FAbv, FAbv, MAbv,  SUB,   Sk, VPst, VAbv,VMAbv,VMAbv, FAbv,CMAbv, VPst,    H,    B,    O,
-  SMAbv,SMBlw,SMAbv,SMAbv,SMAbv, VPst,   IS, VBlw, FAbv,VMPre,VMPre,FMAbv,CMBlw,VMBlw,VMBlw,VMAbv,
-     CS,    O,FMAbv, ZWNJ,  CGJ,   WJ,   WJ,   WJ,    O,FMPst,    O,    O,    H, MPst, VPst,    H,
-  VMAbv, VAbv,VMBlw,    B, VBlw, FPst, VPst, FAbv,VMPst,    B,CMAbv, VAbv, MBlw, MPst, MBlw,    H,
-      O, VBlw, MPst, MPre, MAbv, MBlw,    O,    B, FAbv, FAbv, FPst, VBlw,    B,    B, VPre,    O,
-  VMPst,   IS,    O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv,    O,   IS,VMBlw,    B,VMPst,VMAbv,VMPst,
-     CS,   CS,    B,    N,    N,    O,   HN, VPre, VBlw, VAbv,   IS,CMAbv,    O, VPst,    B,    R,
-      R,CMBlw, VAbv, VPre,VMAbv,VMAbv,    H, VAbv,CMBlw,FMAbv,    B,   CS,   CS,    H,CMBlw,VMPst,
-      H,VMPst, VAbv,VMAbv, VPst,   IS,    R, MPst,    R, MPst,CMBlw,    B,FMBlw, VBlw,VMAbv,    R,
-   MBlw, MBlw,   GB, FBlw, FBlw,CMAbv,   IS, VBlw,   IS,   GB, VAbv,    R,VMPst,    H,    H,    B,
-      H,    B,VMBlw,    O, VBlw,
+     46,    2,    2,    2,    2,    2,    2,   11,   11,    2,    2,    2,    2,    2,    2,   22,
+     22,    2,    2,   44,   44,   44,   92,    0,    0,    O,    O,    O,   GB,    B,    B,    O,
+     SB,    O,   SE,   GB,    O,    O,   WJ,FMPst,FMPst,    O,  CGJ,    B,    O,    B,VMAbv,VMAbv,
+  VMAbv,    O,VMAbv,    B,CMBlw,CMBlw,CMBlw,VMAbv,VMPst, VAbv, VPst,CMBlw,    B, VPst, VPre, VPst,
+   VBlw, VBlw, VBlw, VBlw, VAbv, VAbv, VAbv, VPst, VPst, VPst,    H, VPre, VPst,VMBlw,    O,    O,
+   VAbv,   GB,VMAbv,VMPst,VMPst,    O,    B, VBlw,    O,    O, VPre, VPre,    O, VPre,    H,    O,
+   VPst,FMAbv,    O,CMBlw,    O, VAbv,    O, VAbv,    H,    O,VMBlw,VMAbv,CMAbv,   GB,   GB,    O,
+   MBlw,CMAbv,CMAbv, VPst, VAbv,VMAbv,    O, VPst,    O, VPre, VPre,VMAbv,    B,    O,   CS,   CS,
+  VMPst,    B, VAbv, VAbv,    B,    R,    O,  HVM,    O,    O,FMBlw,    O,CMAbv,    O,CMBlw, VAbv,
+   VBlw,    B,  SUB,  SUB,  SUB,    O,  SUB,  SUB,    O,FMBlw,    O,    B, VPst, VBlw, VPre,VMAbv,
+  VMBlw,VMPst,   IS, VAbv, MPst, MPre, MBlw, MBlw,    B, MBlw, MBlw, VPst,VMPst,VMPst,    B, MBlw,
+   VPst, VPre, VAbv, VAbv,VMPst,VMPst,VMBlw,    B,VMPst, VBlw, VPst,  CGJ,  CGJ, VPst,VMAbv,VMAbv,
+  FMAbv, FAbv,CMAbv,FMAbv,VMAbv,FMAbv, VAbv,   IS,FMAbv,    B,FMAbv,    B,  CGJ,   WJ,  CGJ,   GB,
+  CMAbv,CMAbv,    B,   GB,    B, VAbv,  SUB, FPst, FPst,VMBlw, FPst, FPst, FBlw,VMAbv,FMBlw, VAbv,
+   VPre,    B, MPre, MBlw,  SUB, FAbv, FAbv, MAbv,  SUB,   Sk, VPst, VAbv,VMAbv,VMAbv, FAbv,CMAbv,
+   VPst,    H,    B,    O,SMAbv,SMBlw,SMAbv,SMAbv,SMAbv, VPst,   IS, VBlw, FAbv,VMPre,VMPre,FMAbv,
+  CMBlw,VMBlw,VMBlw,VMAbv,   CS,    O,FMAbv, ZWNJ,  CGJ,   WJ,   WJ,   WJ,    O,FMPst,    O,   SB,
+     SE,    O,    H, MPst, VPst,    H,VMAbv, VAbv,VMBlw,    B, VBlw, FPst, VPst, FAbv,VMPst,    B,
+  CMAbv, VAbv, MBlw, MPst, MBlw,    H,    O, VBlw, MPst, MPre, MAbv, MBlw,    O,    B, FAbv, FAbv,
+   FPst, VBlw,    B,    B, VPre,    O,VMPst,   IS,    O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv,    O,
+     IS,VMBlw,    B,VMPst,VMAbv,VMPst,   CS,   CS,    B,    N,    N,    O,   HN, VPre, VBlw, VAbv,
+     IS,CMAbv,    O, VPst,    B,    R,    R,CMBlw, VAbv, VPre,VMAbv,VMAbv,    H, VAbv,CMBlw,FMAbv,
+      B,   CS,   CS,    H,CMBlw,VMPst,    H,VMPst, VAbv,VMAbv, VPst,   IS,    R, MPst,    R, MPst,
+  CMBlw,    B,FMBlw, VBlw,VMAbv,    R, MBlw, MBlw,   GB, FBlw, FBlw,CMAbv,   IS, VBlw,   IS,   GB,
+   VAbv,    R,VMPst,    G,    G,    J,    J,    J,   SB,   SE,    J,   HR,    G,    G,   HM,   HM,
+     HM,    O, VBlw,
 };
 static const uint16_t
-hb_use_u16[784] =
+hb_use_u16[808] =
 {
-    0,  0,  1,  2,  0,  0,  0,  0,  0,  0,  3,  4,  0,  5,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,
-    0,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,  0,  8,  9, 10, 11,
-    0,  0,  0,  0,  9, 12,  0,  0, 13,  9,  9, 14, 15, 16, 17, 18,
-   19, 20, 21, 22, 23, 24, 17, 25, 26, 20, 21, 27, 28, 29, 30, 31,
-   32, 33, 21, 34, 35,  0, 17, 36, 37, 20, 21, 38, 23, 39, 17, 40,
-   41, 42, 43, 44, 45, 46, 30,  0, 47, 48, 21, 49, 50, 51, 17,  0,
-   52, 48, 21, 53, 50, 54, 17, 55, 56, 48,  9, 57, 58, 59, 17,  0,
-   60, 61,  9, 62, 63, 64, 30, 65, 66, 67,  9, 68, 69,  9, 70, 71,
-   72, 73, 74, 75, 76,  0,  0,  0,  9,  9, 77, 78, 79, 80, 81, 82,
-   83, 84,  0,  0,  0,  0,  0,  0,  9, 85,  9, 86,  9, 87, 88, 89,
-    9,  9,  9, 90, 91, 92,  2,  0, 93,  0,  9,  9,  9,  9,  9, 94,
-   95,  9, 96,  0,  0,  0,  0,  0, 97, 98, 99,100, 30,  9,101,102,
-    9,  9,103,  9,104,105,  0,  0,  9,106,  9,  9,  9,107,108,109,
-    2,  2,  0,  0,  0,  0,  0,  0,110,  9,  9,111,112,  2,113,114,
-  115,  9,116,  9,  9,  9,117,118,  9,  9,119,120,121,  0,  0,  0,
-    0,  0,  0,  0,  0,122,123,124,  0,  0,  0,  0,  0,  0,  0,125,
-  126,127,128,  0,  0,  0,129,130,131,  0,  0,  0,  0,  0,  0,132,
-    0,  0,  0,  0,133,  0,  0,  0,  0,  0,  0,  9,  9,  9,134,135,
-  136,  9,137,  0,  9,  9,  9,138,139,  9,  9,140,141,  2,142,143,
-    9,  9,144,  9,145,146,  0,  0,147,  9,  9,148,149,  2,150, 98,
-    9,  9,151,152,153,  2,  9,154,  9,  9,  9,155,156,  0,157,158,
-    0,  0,  0,  0,  9,  9,159,  2,160,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,161,  0,  0,  0,  0,  0,  0,  0,162,
-    0,  0,  0,  0,  0,  0,  0,163,163,164, 33,165,  0,  0,  0,  0,
-  166,167,  9,168, 94,  0,  0,  0,  0,  0,  0,  0, 69,  9,169,  0,
-    9,170,171,  0,  0,  0,  0,  0,  9,  9,172,  2,  0,  0,  0,  0,
-    9,  9,173,170,  0,  0,  0,  0,  0,  0,  0,  9,174,175,  0,  9,
-  176,  0,  0,177,178,  0,  0,  0,179,  9,  9,180,181,182,183,184,
-  185,  9,  9,186,187,  0,  0,  0,188,  9,189,190,191,  9,  9,192,
-  185,  9,  9,193,194,105,195,102,  9, 33,196,197,198,  0,  0,  0,
-  199,200, 94,  9,  9,201,202,  2,203, 20, 21,204,205,206,207,208,
-    9,  9,  9,209,210,211,212,  0,195,  9,  9,213,214,  2,  0,  0,
-    9,  9,215,216,217,218,  0,  0,  9,  9,  9,219,220,  2,  0,  0,
-    9,  9,221,222,  2,  0,  0,  0,  9,223,224,103,225,  0,  0,  0,
-    9,  9,226,227,  0,  0,  0,  0,228,229,  9,230,231,  2,  0,  0,
-    0,  0,232,  9,  9,233,234,  0,235,  9,  9,236,237,238,  9,  9,
-  239,240,  0,  0,  0,  0,  0,  0, 21,  9,215,241,  7,  9, 70, 18,
-    9,242, 73,243,  0,  0,  0,  0,244,  9,  9,245,246,  2,247,  9,
-  248,249,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  9,250,
-  251, 48,  9,252,253,  2,  0,  0,  9,  9,  9,  9,  9,  9,  9,  9,
-    9,  9,  9,254,255,256,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,
-    9,  9,  9,257,  0,  0,  0,  0,  9,  9,  9,  9,258,259,260,260,
-  261,262,  0,  0,  0,  0,263,  0,  9,  9,  9,  9,  9,264,  0,  0,
-    9,  9,  9,  9,  9,  9,105, 70, 94,265,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,266,  9,  9, 70,267,268,  0,  0,  0,
-    0,  9,269,  0,  9,  9,270,  2,  0,  0,  0,  0,  0,  9,271,  2,
-    9,  9,  9,  9,272,  2,  0,  0,129,129,129,129,129,129,129,129,
-  160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,129,
+    0,  0,  1,  2,  0,  3,  0,  3,  0,  0,  4,  5,  0,  6,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  7,  0,  0,  0,
+    0,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  0,  9, 10, 11, 12,
+    0,  0,  0,  0, 10, 13,  0,  0, 14, 10, 10, 15, 16, 17, 18, 19,
+   20, 21, 22, 23, 24, 25, 18, 26, 27, 21, 22, 28, 29, 30, 31, 32,
+   33, 34, 22, 35, 36,  0, 18, 37, 38, 21, 22, 39, 24, 40, 18, 41,
+   42, 43, 44, 45, 46, 47, 31,  0, 48, 49, 22, 50, 51, 52, 18,  0,
+   53, 49, 22, 54, 51, 55, 18, 56, 57, 49, 10, 58, 59, 60, 18,  0,
+   61, 62, 10, 63, 64, 65, 31, 66, 67, 68, 10, 69, 70, 10, 71, 72,
+   73, 74, 75, 76, 77,  0,  0,  0, 10, 10, 78, 79, 80, 81, 82, 83,
+   84, 85,  0,  0,  0,  0,  0,  0, 10, 86, 10, 87, 10, 88, 89, 90,
+   10, 10, 10, 91, 92, 93,  2,  0, 94,  0, 10, 10, 10, 10, 10, 95,
+   96, 10, 97,  0,  0,  0,  0,  0, 98, 99,100,101, 31, 10,102,103,
+   10, 10,104, 10,105,106,  0,  0, 10,107, 10, 10, 10,108,109,110,
+    2,  2,  0,  0,  0,  0,  0,  0,111, 10, 10,112,113,  2,114,115,
+  116, 10,117, 10, 10, 10,118,119, 10, 10,120,121,122,  0,  0,  0,
+    0,  0,  0,  0,  0,123,124,125,  0,  0,  0,  0,  0,  0,  0,126,
+  127,128,129,  0,  0,  0,130,131,132,  0,  0,  0,  0,  0,  0,133,
+    0,  0,  0,  0,134,  0,  0,  0,  0,  0,  0,  0,  0,  0,135,  0,
+    0,  0,  0, 10, 10, 10,136,137,  0,  0,138,  0,  0,  0,  0,  0,
+  139, 10,140,  0, 10, 10, 10,141,142, 10, 10,143,144,  2,145,146,
+   10, 10,147, 10,148,149,  0,  0,150, 10, 10,151,152,  2,153, 99,
+   10, 10,154,155,156,  2, 10,157, 10, 10, 10,158,159,  0,160,161,
+    0,  0,  0,  0, 10, 10,162,  2,163,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,164,  0,  0,  0,  0,  0,  0,  0,165,
+    0,  0,  0,  0,  0,  0,  0,166,166,167, 34,168,  0,  0,  0,  0,
+  169,170, 10,171, 95,  0,  0,  0,  0,  0,  0,  0, 70, 10,172,  0,
+   10,173,174,  0,  0,  0,  0,  0, 10, 10,175,  2,  0,  0,  0,  0,
+   10, 10,176,173,  0,  0,  0,  0,  0,  0,  0, 10,177,178,  0, 10,
+  179,  0,  0,180,181,  0,  0,  0,182, 10, 10,183,184,185,186,187,
+  188, 10, 10,189,190,  0,  0,  0,191, 10,192,193,194, 10, 10,195,
+  188, 10, 10,196,197,106,198,103, 10, 34,199,200,201,  0,  0,  0,
+  202,203, 95, 10, 10,204,205,  2,206, 21, 22,207,208,209,210,211,
+   10, 10, 10,212,213,214,215,  0,198, 10, 10,216,217,  2,  0,  0,
+   10, 10,218,219,220,221,  0,  0, 10, 10, 10,222,223,  2,  0,  0,
+   10, 10,224,225,  2,  0,  0,  0, 10,226,227,104,228,  0,  0,  0,
+   10, 10,229,230,  0,  0,  0,  0,231,232, 10,233,234,  2,  0,  0,
+    0,  0,235, 10, 10,236,237,  0,238, 10, 10,239,240,241, 10, 10,
+  242,243,  0,  0,  0,  0,  0,  0, 22, 10,218,244,  8, 10, 71, 19,
+   10,245, 74,246,  0,  0,  0,  0,247, 10, 10,248,249,  2,250, 10,
+  251,252,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 10,253,
+  254, 49, 10,255,256,  2,  0,  0,257,257,257,257,257,257,257,257,
+  257,257,257,258,259,260,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,
+   10, 10, 10,261,  0,  0,  0,  0, 10, 10, 10, 10,262,263,264,264,
+  265,266,  0,  0,  0,  0,267,  0, 10, 10, 10, 10, 10, 10, 10, 10,
+   10, 10, 10, 10, 10,268,  0,  0, 10, 10, 10, 10, 10, 10,106, 71,
+   95,269,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,270,
+   10, 10, 71,271,272,  0,  0,  0,  0, 10,273,  0, 10, 10,274,  2,
+    0,  0,  0,  0,  0, 10,275,  2, 10, 10, 10, 10,276,  2,  0,  0,
+  130,130,130,130,130,130,130,130,163,163,163,163,163,163,163,163,
+  163,163,163,163,163,163,163,130,
 };
 
 static inline unsigned
@@ -357,14 +366,14 @@
 static inline uint_fast8_t
 hb_use_get_category (unsigned u)
 {
-  return u<921600u?hb_use_u8[2777+(((hb_use_u8[593+(((hb_use_u16[((hb_use_u8[113+(((hb_use_b4(hb_use_u8,u>>1>>3>>3>>5))<<5)+((u>>1>>3>>3)&31u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:O;
+  return u<921600u?hb_use_u8[2809+(((hb_use_u8[593+(((hb_use_u16[((hb_use_u8[113+(((hb_use_b4(hb_use_u8,u>>1>>3>>3>>5))<<5)+((u>>1>>3>>3)&31u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:O;
 }
 
 
 #else
 
 static const uint8_t
-hb_use_u8[3413] =
+hb_use_u8[3483] =
 {
      16,   50,   51,   51,   51,   52,   51,   83,  118,  131,   51,   57,   58,  179,  195,   61,
      51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
@@ -375,243 +384,248 @@
      51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
      14,    0,    1,    1,    2,    1,    1,    3,    4,    5,    6,    7,    8,    9,   10,    1,
      11,   12,    1,    1,    1,    1,    1,    1,   13,   14,   15,   16,   17,   18,   19,    1,
-      1,   20,    1,    1,    1,    1,   21,    1,    1,    1,    1,    1,    1,    1,   22,    1,
+      1,   20,    1,    1,    1,    1,   21,    1,   22,    1,    1,    1,    1,    1,   23,   24,
       1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-      1,    1,    1,    1,    1,    1,    1,    1,    1,   23,   24,   25,   26,    1,    1,    1,
-      1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   27,
-     28,    1,    1,    1,    1,    1,   29,    1,    1,    1,    1,   30,   31,    1,   32,   33,
-     34,   35,   36,   37,   38,   39,   40,   41,   42,   43,   44,   45,    1,   46,   47,   48,
-     49,   50,   50,   50,   50,   51,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-      1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   52,   53,    1,    1,    1,
-     54,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   50,   55,    1,    1,
-      1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   56,    1,    1,
-      1,    1,   57,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-      1,    1,   58,   59,    1,   60,    1,    1,    1,    1,   61,    1,    1,    1,    1,    1,
-      1,   62,   63,   62,   62,   62,   62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
-     62,    0,    1,    0,    0,    0,    2,    3,    0,    0,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    4,    0,    0,    0,    0,    0,    0,    0,    5,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,    0,    6,    7,    0,    0,    8,    0,    0,    0,    0,
-      0,    9,   10,   11,   12,   13,   14,   15,   16,   17,   18,   19,   20,   21,   22,   23,
-     24,   25,   26,   27,   28,   29,   30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
-     40,   41,   42,   43,   36,   44,   45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
-      0,   55,   56,   57,   58,   59,    0,    0,    0,   60,   61,   62,   63,   55,   64,   65,
-     66,   67,   55,   55,   68,   69,   70,    0,    0,   71,   72,   73,   74,   55,   75,   76,
-      0,   77,   55,   78,   79,   80,    0,    0,    0,   81,   82,   83,   84,   85,   86,   55,
-     87,   55,   88,   89,    0,    0,    0,   90,   91,    0,    0,    0,    0,    0,    0,    0,
-     92,   93,   94,    0,   95,   96,    0,    0,   97,    0,    0,    0,    0,    0,    0,   98,
-      0,    0,   99,   55,  100,    0,    0,    0,    0,  101,  102,   55,  103,  104,  105,  106,
-    107,   55,  108,  109,    0,  110,  111,  112,  113,   55,  114,  115,  116,   55,  117,  118,
-    119,    0,    0,    0,    0,    0,    0,   55,  120,  121,    0,    0,    0,    0,    0,    0,
-    122,    0,    0,    0,    0,    0,    0,    0,  123,    0,    0,    0,  124,  125,  126,    0,
-      0,  127,  128,  129,    0,    0,    0,   50,  130,    0,    0,    0,    0,  131,  132,    0,
-      0,   55,  133,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   55,  134,    0,
-      0,    0,   99,  135,   99,  136,  137,  138,    0,  139,  140,  141,  142,  143,  144,  145,
-      0,  146,  147,  148,  149,  143,  150,  151,  152,  153,  154,  155,    0,  156,  157,  158,
-    159,  160,  161,  162,  163,    0,    0,    0,    0,   55,  164,  165,  166,  167,  168,  169,
-      0,    0,    0,    0,    0,   55,  170,  171,    0,   55,  172,  173,    0,   55,  174,   66,
-      0,  175,  176,  177,    0,    0,    0,    0,    0,   55,  178,    0,    0,    0,    0,    0,
-      0,  179,  180,  181,    0,    0,  182,  183,  184,  185,  186,  187,   55,  188,    0,    0,
-      0,  189,  190,  191,  192,  193,  194,    0,    0,  195,  196,  197,  198,  199,   66,    0,
-      0,    0,    0,    0,    0,    0,    0,    0,  200,  201,  202,  203,    0,    0,    0,    0,
-      0,   55,   55,   55,   55,   55,   55,   55,   55,   55,  204,  205,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,    0,   66,    0,   55,  206,    0,    0,    0,    0,    0,
-      0,   55,   55,  207,  208,  209,    0,    0,  210,   55,   55,   55,   55,   55,   55,  211,
-      0,   55,   55,   55,  212,  213,    0,    0,    0,    0,    0,    0,  214,    0,    0,    0,
-      0,   55,  215,  216,    0,    0,    0,    0,    0,    0,    0,    0,    0,   99,  217,   55,
-    218,    0,    0,    0,    0,    0,    0,   99,  219,   55,   55,  220,    0,    0,    0,    0,
-      0,  221,  221,  221,  221,  221,  221,  221,  221,  222,  222,  222,  222,  222,  222,  222,
-    223,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,
-      0,    2,    2,    2,    2,    2,    0,    0,    0,    3,    0,    0,    0,    0,    0,    4,
-      0,    0,    5,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,    0,    0,    6,    7,    0,    0,    0,    0,    0,    0,
+      1,    1,    1,    1,    1,    1,    1,    1,    1,   25,   26,   27,   28,    1,    1,    1,
+      1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   29,
+     30,    1,    1,    1,    1,    1,   31,    1,    1,    1,    1,   32,   33,    1,   34,   35,
+     36,   37,   38,   39,   40,   41,   42,   43,   44,   45,   46,   47,    1,   48,   49,   50,
+     51,   52,   52,   52,   52,   53,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+      1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   54,   55,    1,    1,    1,
+     56,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   57,   58,    1,    1,
+      1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   59,    1,    1,
+      1,    1,   60,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+      1,    1,   61,   62,    1,   63,    1,    1,    1,    1,   64,    1,    1,    1,    1,    1,
+      1,   65,   66,   65,   65,   65,   65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
+     65,    0,    1,    2,    2,    0,    3,    4,    0,    0,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    5,    0,    0,    0,    0,    0,    0,    0,    6,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,    0,    7,    8,    0,    0,    9,    0,    0,    0,    0,
+      0,   10,   11,   12,   13,   14,   15,   16,   17,   18,   19,   20,   21,   22,   23,   24,
+     25,   26,   27,   28,   29,   30,   31,   32,   33,   34,   35,   36,   37,   38,   39,   40,
+     41,   42,   43,   44,   37,   45,   46,   47,   48,   49,   50,   51,   52,   53,   54,   55,
+      0,   56,   57,   58,   59,   60,    0,    0,    0,   61,   62,   63,   64,   56,   65,   66,
+     67,   68,   56,   56,   69,   70,   71,    0,    0,   72,   73,   74,   75,   56,   76,   77,
+      0,   78,   56,   79,   80,   81,    0,    0,    0,   82,   83,   84,   85,   86,   87,   56,
+     88,   56,   89,   90,    0,    0,    0,   91,   92,    0,    0,    0,    0,    0,    0,    0,
+     93,   94,   95,    0,   96,   97,    0,    0,   98,    0,    0,    0,    0,    0,    0,   99,
+      0,    0,    0,    0,    0,    0,    0,    0,  100,    0,  101,   56,  102,    0,    0,    0,
+      0,    0,  103,    0,    0,    0,    0,    0,    0,  104,  105,   56,  106,  107,  108,  109,
+    110,   56,  111,  112,    0,  113,  114,  115,  116,   56,  117,  118,  119,   56,  120,  121,
+    122,    0,    0,    0,    0,    0,    0,   56,  123,  124,    0,    0,    0,    0,    0,    0,
+    125,    0,    0,    0,    0,    0,    0,    0,  126,    0,    0,    0,  127,  128,  129,    0,
+      0,  130,  131,  132,    0,    0,    0,   51,  133,    0,    0,    0,    0,  134,  135,    0,
+      0,   56,  136,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   56,  137,    0,
+      0,    0,  101,  138,  101,  139,  140,  141,    0,  142,  143,  144,  145,  146,  147,  148,
+      0,  149,  150,  151,  152,  146,  153,  154,  155,  156,  157,  158,    0,  159,  160,  161,
+    162,  163,  164,  165,  166,    0,    0,    0,    0,   56,  167,  168,  169,  170,  171,  172,
+      0,    0,    0,    0,    0,   56,  173,  174,    0,   56,  175,  176,    0,   56,  177,   67,
+      0,  178,  179,  180,    0,    0,    0,    0,    0,   56,  181,    0,    0,    0,    0,    0,
+      0,  182,  183,  184,    0,    0,  185,  186,  187,  188,  189,  190,   56,  191,    0,    0,
+      0,  192,  193,  194,  195,  196,  197,    0,    0,  198,  199,  200,  201,  202,   67,    0,
+      0,    0,    0,    0,    0,    0,    0,    0,  203,  204,  205,  206,    0,    0,    0,    0,
+      0,  207,  207,  207,  207,  207,  207,  207,  207,  207,  208,  209,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,    0,   67,    0,   56,  210,    0,    0,    0,    0,    0,
+      0,   56,   56,  211,  212,  213,    0,    0,  214,   56,   56,   56,   56,   56,   56,   56,
+     56,   56,   56,   56,   56,   56,   56,  215,    0,   56,   56,   56,  216,  217,    0,    0,
+      0,    0,    0,    0,  218,    0,    0,    0,    0,   56,  219,  220,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,  101,  221,   56,  222,    0,    0,    0,    0,    0,    0,  101,
+    223,   56,   56,  224,    0,    0,    0,    0,    0,  225,  225,  225,  225,  225,  225,  225,
+    225,  226,  226,  226,  226,  226,  226,  226,  227,    0,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,    0,    1,    0,    2,    2,    2,    2,    2,    0,    0,
+      0,    0,    0,    0,    0,    0,    3,    4,    0,    5,    0,    0,    0,    0,    0,    6,
+      0,    0,    7,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,    0,    0,    8,    9,    0,    0,    0,    0,    0,    0,
       0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    8,    9,    9,    9,    9,    0,    0,    0,    7,   10,
-      0,    2,    2,    2,    2,   11,   12,    0,    0,    9,   13,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,   14,   15,   16,   17,   18,   19,   20,   14,   21,   22,
-     23,   10,   24,   25,   18,    2,    2,    2,    2,    2,   18,    0,    2,    2,    2,    2,
-      2,    0,    2,    2,    2,    2,    2,    2,    2,   26,   27,   28,    2,    2,    2,    7,
-     28,    7,   28,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    7,    2,    2,
-      2,    7,    7,    0,    2,    2,    0,   15,   16,   17,   18,   29,   30,   31,   30,   32,
-      0,    0,    0,    0,   33,    0,    0,    2,   28,    2,    0,    0,    0,    0,    0,    7,
-     34,   10,   13,   28,    2,    2,    7,    0,   28,    7,    2,   28,    7,    2,    0,   35,
-     16,   17,   29,    0,   25,   36,   25,   37,    0,   38,    0,    0,    0,   28,    2,    7,
-      7,    0,    0,    0,    2,    2,    2,    2,    2,   39,   40,   41,    0,    0,    0,    0,
-      0,   10,   13,   28,    2,    2,    2,    2,   28,    2,   28,    2,    2,    2,    2,    2,
-      2,    7,    2,   28,    2,    2,    0,   15,   16,   17,   18,   19,   25,   20,   33,   22,
-      0,    0,    0,    0,    0,   28,   39,   39,   42,   10,   27,   28,    2,    2,    2,    7,
-     28,    7,    2,   28,    2,    2,    0,   15,   43,    0,    0,   25,   20,    0,    0,    2,
-     28,   28,    0,    0,    0,    0,    0,    0,    0,    0,   44,   28,    2,    2,    7,    0,
-      2,    7,    2,    2,    0,   28,    7,    7,    2,    0,   28,    7,    0,    2,    7,    0,
-      2,    2,    2,    2,    2,    2,    0,    0,   21,   14,   45,    0,   46,   31,   46,   32,
-      0,    0,    0,    0,   33,    0,    0,    0,    0,   13,   27,   47,    2,    2,    2,    7,
-      2,    7,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    0,   15,
-     20,   14,   21,   45,   20,   36,   20,   37,    0,    0,    0,   25,   29,    2,    7,    0,
-      0,    8,   27,   28,    2,    2,    2,    7,    2,    2,    2,   28,    2,    2,    0,   15,
-     43,    0,    0,   33,   45,    0,    0,    0,    7,   48,   49,    0,    0,    0,    0,    0,
-      0,    9,   27,    2,    2,    2,    2,    7,    2,    2,    2,    2,    2,    2,   50,   51,
-     21,   21,   17,   29,   46,   31,   46,   32,   52,    0,    0,    0,   33,    0,    0,    0,
-     28,   10,   27,   28,    2,    2,    2,    2,    2,    2,    2,    2,    7,    0,    2,    2,
-      2,    2,   28,    2,    2,    2,    2,   28,    0,    2,    2,    2,    7,    0,   53,    0,
-     33,   21,   20,   29,   29,   16,   46,   46,   23,    0,   21,    0,    0,    0,    0,    0,
-      0,    2,    0,    2,    7,    0,    0,    0,    0,    0,    0,    0,    0,   18,    0,    0,
-      0,    2,    2,   54,   54,   55,    0,    0,   16,    2,    2,    2,    2,   28,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,    7,    0,   56,   19,   57,   20,   20,   18,   18,
-     44,   19,    9,   29,    9,    2,    2,   58,   59,   59,   59,   59,   59,   60,   59,   59,
-     59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,   61,
-      0,    0,    0,    0,   62,    0,    0,    0,    0,    2,    2,    2,    2,    2,   63,   43,
-     57,   64,   20,   20,   65,   66,   67,   68,   69,    2,    2,    2,    2,    2,    1,    0,
-      3,    2,    2,    2,   21,   18,    2,    2,   70,   69,   71,   72,   63,   71,   27,   27,
-      2,   50,   20,   51,    2,    2,    2,    2,    2,    2,   73,   74,   75,   27,   27,   76,
-     77,    2,    2,    2,    2,    2,   27,   43,    0,    2,   57,   78,    0,    0,    0,    0,
-     28,    2,   57,   45,    0,    0,    0,    0,    0,    2,   57,    0,    0,    0,    0,    0,
-      0,    2,    2,    2,    2,    2,    2,    7,    2,    7,   57,    0,    0,    0,    0,    0,
-      0,    2,    2,   79,   43,   20,   57,   18,   46,   46,   46,   46,   13,   80,   81,   82,
-     83,   84,   85,    0,    0,    0,    0,   86,    0,    7,    0,    0,   28,    0,   87,   79,
-     88,    2,    2,    2,    2,    7,    0,    0,    0,   40,   40,   89,   90,    2,    2,    2,
-      2,    2,    2,    2,    2,   11,    7,    0,    0,   91,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,    2,    7,   20,   78,   43,   20,   92,   59,    0,
-      0,   93,   94,   93,   93,   95,   96,    0,    0,    2,    2,    2,    2,    2,    2,    2,
-      0,    2,    2,    7,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    0,
-      0,    2,    2,    2,    2,   27,    0,    0,    0,    2,    2,    2,    2,    2,    7,    0,
-      0,    2,    2,    2,   50,   97,   43,    0,    0,    2,    2,   98,   99,  100,  101,   59,
-     61,  102,   14,   43,   20,   57,   19,   78,   46,   46,   74,    9,    9,    9,  103,   44,
-     38,    9,  104,   72,    2,    2,    2,    2,    2,    2,    2,  105,   20,   18,   18,   20,
-     46,   46,   20,  106,    2,    2,    2,    7,    0,    0,    0,    0,    0,    0,  107,  108,
-    109,  109,  109,    0,    0,    0,    0,    0,    0,  104,   72,    2,    2,    2,    2,    2,
-      2,   58,   59,   57,   23,   20,  110,   59,    2,    2,    2,    2,  105,   20,   21,   43,
-     43,  100,   12,    0,    0,    0,    0,    0,    0,    2,    2,   59,   16,   46,   21,  111,
-    100,  100,  100,  112,  113,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,   28,
-      2,    9,   44,  114,  114,  114,    9,  114,  114,   13,  114,  114,  114,   24,    0,   38,
-      0,    0,    0,  115,   49,    9,    3,    0,    0,    0,    0,    0,    0,    0,  116,    0,
-      0,    0,    0,    0,    0,    0,    4,  117,  118,   40,   40,    3,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,  118,  118,  119,  118,  118,  118,  118,  118,  118,  118,
-    118,    0,    0,  120,    0,    0,    0,    0,    0,    0,    5,  120,    0,    0,    0,    0,
-      0,   44,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    7,
-      0,    2,    2,    2,    2,    0,    0,    0,   28,    0,    0,    0,    0,    0,    0,    0,
-    121,    2,   51,    2,  106,    2,    8,    2,    2,    2,   63,   17,   14,    0,    0,   29,
-      0,    2,    2,    0,    0,    0,    0,    0,    0,   27,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,  122,   21,   21,   21,   21,   21,   21,   21,  123,    0,    0,    0,    0,
-      0,    9,    9,    9,    9,    9,    9,    9,    9,    9,    2,    0,    0,    0,    0,    0,
-     50,    2,    2,    2,   20,   20,  124,  114,    0,    2,    2,    2,  125,   18,   57,   18,
-    111,  100,  126,    0,    0,    0,    0,    0,    0,    9,  127,    2,    2,    2,    2,    2,
-      2,    2,  128,   21,   20,   18,   46,  129,  130,  131,    0,    0,    0,    0,    0,    0,
-      0,    2,    2,   50,   28,    2,    2,    2,    2,    2,    2,    2,    2,    8,   20,   57,
-     97,   74,  132,  133,  134,    0,    0,    0,    0,    2,  135,    2,    2,    2,    2,  136,
-      0,   28,    2,   40,    3,    0,   77,   13,    2,   51,   20,  137,   50,   51,    2,    2,
-    103,    8,    7,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,  138,   19,
-     23,    0,    0,  139,  140,    0,    0,    0,    0,    2,   63,   43,   21,   78,   45,  141,
-      0,   79,   79,   79,   79,   79,   79,   79,   79,    0,    0,    0,    0,    0,    0,    0,
-      4,  118,  118,  118,  118,  119,    0,    0,    0,    2,    2,    2,    2,    2,    7,    2,
-      2,    2,    7,    2,   28,    2,    2,    2,    2,    2,   28,    2,    2,    2,   28,    7,
-      0,  125,   18,   25,   29,    0,    0,  142,  143,    2,    2,   28,    2,   28,    2,    2,
-      2,    2,    2,    2,    0,   12,   35,    0,  144,    2,    2,   11,   35,    0,   28,    2,
-      2,    2,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   28,    2,    2,
-      7,    2,    2,    9,   39,    0,    0,    0,    0,    2,    2,    2,    2,    2,   25,   36,
-      0,    2,    2,    2,  114,  114,  114,  114,  114,  145,    2,    7,    0,    0,    0,    0,
-      0,    2,   12,   12,    0,    0,    0,    0,    0,    7,    2,    2,    7,    2,    2,    2,
-      2,   28,    2,    7,    0,   28,    2,    0,    0,  146,  147,  148,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,   20,   20,   18,   18,   18,   20,   20,  131,    0,    0,    0,
-      0,    0,  149,  149,  149,  149,  149,  149,  149,  149,  149,  149,    2,    2,    2,    2,
-      2,   51,   50,   51,    0,    0,    0,    0,  150,    9,   72,    2,    2,    2,    2,    2,
-      2,   16,   17,   19,   14,   22,   35,    0,    0,    0,   29,    0,    0,    0,    0,    0,
-      0,    9,   47,    2,    2,    2,    2,    2,    2,    2,    2,    2,  125,   18,   20,  151,
-     20,   19,  152,  153,    2,    2,    2,    2,    2,    0,    0,   63,  154,    0,    0,    0,
-      0,    2,   11,    0,    0,    0,    0,    0,    0,    2,   63,   23,   18,   18,   18,   20,
-     20,  106,  155,    0,    0,   54,  156,   29,  157,   28,    2,    2,    2,    2,    2,    2,
-      2,    2,    2,    2,    2,    2,    2,   21,   17,   20,   20,  158,   42,    0,    0,    0,
-     47,  125,    0,    0,    0,    0,    0,    0,    0,    2,    2,    2,    7,    7,    2,    2,
-     28,    2,    2,    2,    2,    2,    2,    2,   28,    2,    2,    2,    2,    2,    2,    2,
-      8,   16,   17,   19,   20,  159,   29,    0,    0,    9,    9,   28,    2,    2,    2,    7,
-     28,    7,    2,   28,    2,    2,   56,   15,   21,   14,   21,   45,   30,   31,   30,   32,
-      0,    0,    0,    0,   33,    0,    0,    0,    2,    2,   21,    0,    9,    9,    9,   44,
-      0,    9,    9,   44,    0,    0,    0,    0,    0,    2,    2,   63,   23,   18,   18,   18,
-     20,   21,  123,   13,   15,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,    0,
-    160,  161,    0,    0,    0,    0,    0,    0,    0,   16,   17,   18,   18,   64,   97,   23,
-    157,    9,  162,    7,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    2,
-     63,   23,   18,   18,    0,   46,   46,    9,  163,   35,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    2,    2,   18,    0,   21,   17,   18,   18,   19,   14,   80,
-    163,   36,    0,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    8,  164,
-     23,   18,   20,   20,  162,    7,    0,    0,    0,    2,    2,    2,    2,    2,    7,   41,
-    133,   21,   20,   18,   74,   19,   20,    0,    0,    2,    2,    2,    7,    0,    0,    0,
-      0,    2,    2,    2,    2,    2,    2,   16,   17,   18,   19,   20,  103,  163,   35,    0,
-      0,    2,    2,    2,    7,   28,    0,    2,    2,    2,    2,   28,    7,    2,    2,    2,
-      2,   21,   21,   16,   30,   31,   10,  165,  166,  167,  168,    0,    0,    0,    0,    0,
-      0,    2,    2,    2,    2,    0,    2,    2,    2,   63,   23,   18,   18,    0,   20,   21,
-     27,  106,    0,   31,    0,    0,    0,    0,    0,   50,   18,   20,   20,   20,  137,    2,
-      2,    2,  169,  170,    9,   13,  171,   70,  172,    0,    0,    1,  144,    0,    0,    0,
-      0,   50,   18,   20,   14,   17,   18,    2,    2,    2,    2,  155,  155,  155,  173,  173,
-    173,  173,  173,  173,   13,  174,    0,   28,    0,   20,   18,   18,   29,   20,   20,    9,
-    163,    0,   59,   59,   59,   59,   59,   59,   59,   64,   19,   80,   44,    0,    0,    0,
-      0,    2,    2,    2,    7,    2,   28,    2,    2,   50,   20,   20,   29,    0,   36,   20,
-     25,    9,  156,  175,  171,    0,    0,    0,    0,    2,    2,    2,   28,    7,    2,    2,
-      2,    2,    2,    2,    2,    2,   21,   21,   45,   20,   33,   80,   66,    0,    0,    0,
-      0,    2,  176,   64,   45,    0,    0,    0,    0,    9,  177,    2,    2,    2,    2,    2,
-      2,    2,    2,   21,   20,   18,   29,    0,   46,   14,  140,    0,    0,    0,    0,    0,
-      0,  178,  178,  178,  106,  179,  178,    0,    0,  145,    2,    2,  180,  114,  114,  114,
-    114,  114,  114,  114,    0,    0,    0,    0,    0,    9,    9,    9,   44,    0,    0,    0,
-      0,    2,    2,    2,    2,    2,    7,    0,   56,  181,   18,   18,   18,   18,   18,   18,
-     18,   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,    0,    0,    0,
-     38,  114,   24,    0,    0,    0,    0,    0,    0,    0,    0,    7,    0,    0,    0,    0,
-      0,    2,    2,    2,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,   56,
-     35,    0,    4,  118,  118,  118,  119,    0,    0,    9,    9,    9,   47,    2,    2,    2,
-      0,    2,    2,    2,    2,    2,    0,    0,    2,    2,    2,    2,    2,    2,    2,    2,
-     44,    2,    2,    2,    2,    2,    2,    9,    9,    2,    2,    2,    2,    2,    2,   20,
-     20,    2,    2,   42,   42,   42,   90,    0,    0,    O,    O,    O,   GB,    B,    B,   GB,
-      O,    O,   WJ,FMPst,FMPst,    O,  CGJ,    B,    O,    B,VMAbv,VMAbv,VMAbv,    O,VMAbv,    B,
-  CMBlw,CMBlw,CMBlw,VMAbv,VMPst, VAbv, VPst,CMBlw,    B, VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw,
-   VAbv, VAbv, VAbv, VPst, VPst, VPst,    H, VPre, VPst,VMBlw,    O,    O, VAbv,   GB,VMAbv,VMPst,
-  VMPst,    O,    B, VBlw,    O,    O, VPre, VPre,    O, VPre,    H,    O, VPst,FMAbv,    O,CMBlw,
-      O, VAbv,    O, VAbv,    H,    O,VMBlw,VMAbv,CMAbv,   GB,   GB,    O, MBlw,CMAbv,CMAbv, VPst,
-   VAbv,VMAbv,    O, VPst,    O, VPre, VPre,VMAbv,    B,    O,   CS,   CS,VMPst,    B, VAbv, VAbv,
-      B,    R,    O,  HVM,    O,    O,FMBlw,    O,CMAbv,    O,CMBlw, VAbv, VBlw,    B,  SUB,  SUB,
-    SUB,    O,  SUB,  SUB,    O,FMBlw,    O,    B, VPst, VBlw, VPre,VMAbv,VMBlw,VMPst,   IS, VAbv,
-   MPst, MPre, MBlw, MBlw,    B, MBlw, MBlw, VPst,VMPst,VMPst,    B, MBlw, VPst, VPre, VAbv, VAbv,
-  VMPst,VMPst,VMBlw,    B,VMPst, VBlw, VPst,  CGJ,  CGJ, VPst,VMAbv,VMAbv,FMAbv, FAbv,CMAbv,FMAbv,
-  VMAbv,FMAbv, VAbv,   IS,FMAbv,    B,FMAbv,    B,  CGJ,   WJ,  CGJ,   GB,CMAbv,CMAbv,    B,   GB,
-      B, VAbv,  SUB, FPst, FPst,VMBlw, FPst, FPst, FBlw,VMAbv,FMBlw, VAbv, VPre,    B, MPre, MBlw,
-    SUB, FAbv, FAbv, MAbv,  SUB,   Sk, VPst, VAbv,VMAbv,VMAbv, FAbv,CMAbv, VPst,    H,    B,    O,
-  SMAbv,SMBlw,SMAbv,SMAbv,SMAbv, VPst,   IS, VBlw, FAbv,VMPre,VMPre,FMAbv,CMBlw,VMBlw,VMBlw,VMAbv,
-     CS,    O,FMAbv, ZWNJ,  CGJ,   WJ,   WJ,   WJ,    O,FMPst,    O,    O,    H, MPst, VPst,    H,
-  VMAbv, VAbv,VMBlw,    B, VBlw, FPst, VPst, FAbv,VMPst,    B,CMAbv, VAbv, MBlw, MPst, MBlw,    H,
-      O, VBlw, MPst, MPre, MAbv, MBlw,    O,    B, FAbv, FAbv, FPst, VBlw,    B,    B, VPre,    O,
-  VMPst,   IS,    O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv,    O,   IS,VMBlw,    B,VMPst,VMAbv,VMPst,
-     CS,   CS,    B,    N,    N,    O,   HN, VPre, VBlw, VAbv,   IS,CMAbv,    O, VPst,    B,    R,
-      R,CMBlw, VAbv, VPre,VMAbv,VMAbv,    H, VAbv,CMBlw,FMAbv,    B,   CS,   CS,    H,CMBlw,VMPst,
-      H,VMPst, VAbv,VMAbv, VPst,   IS,    R, MPst,    R, MPst,CMBlw,    B,FMBlw, VBlw,VMAbv,    R,
-   MBlw, MBlw,   GB, FBlw, FBlw,CMAbv,   IS, VBlw,   IS,   GB, VAbv,    R,VMPst,    H,    H,    B,
-      H,    B,VMBlw,    O, VBlw,
+      2,    2,    2,    2,    2,    2,   10,   11,   11,   11,   11,    0,    0,    0,    9,   12,
+      0,    2,    2,    2,    2,   13,   14,    0,    0,   11,   15,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,   16,   17,   18,   19,   20,   21,   22,   16,   23,   24,
+     25,   12,   26,   27,   20,    2,    2,    2,    2,    2,   20,    0,    2,    2,    2,    2,
+      2,    0,    2,    2,    2,    2,    2,    2,    2,   28,   29,   30,    2,    2,    2,    9,
+     30,    9,   30,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    9,    2,    2,
+      2,    9,    9,    0,    2,    2,    0,   17,   18,   19,   20,   31,   32,   33,   32,   34,
+      0,    0,    0,    0,   35,    0,    0,    2,   30,    2,    0,    0,    0,    0,    0,    9,
+     36,   12,   15,   30,    2,    2,    9,    0,   30,    9,    2,   30,    9,    2,    0,   37,
+     18,   19,   31,    0,   27,   38,   27,   39,    0,   40,    0,    0,    0,   30,    2,    9,
+      9,    0,    0,    0,    2,    2,    2,    2,    2,   41,   42,   43,    0,    0,    0,    0,
+      0,   12,   15,   30,    2,    2,    2,    2,   30,    2,   30,    2,    2,    2,    2,    2,
+      2,    9,    2,   30,    2,    2,    0,   17,   18,   19,   20,   21,   27,   22,   35,   24,
+      0,    0,    0,    0,    0,   30,   41,   41,   44,   12,   29,   30,    2,    2,    2,    9,
+     30,    9,    2,   30,    2,    2,    0,   17,   45,    0,    0,   27,   22,    0,    0,    2,
+     30,   30,    0,    0,    0,    0,    0,    0,    0,    0,   46,   30,    2,    2,    9,    0,
+      2,    9,    2,    2,    0,   30,    9,    9,    2,    0,   30,    9,    0,    2,    9,    0,
+      2,    2,    2,    2,    2,    2,    0,    0,   23,   16,   47,    0,   48,   33,   48,   34,
+      0,    0,    0,    0,   35,    0,    0,    0,    0,   15,   29,   49,    2,    2,    2,    9,
+      2,    9,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    0,   17,
+     22,   16,   23,   47,   22,   38,   22,   39,    0,    0,    0,   27,   31,    2,    9,    0,
+      0,   10,   29,   30,    2,    2,    2,    9,    2,    2,    2,   30,    2,    2,    0,   17,
+     45,    0,    0,   35,   47,    0,    0,    0,    9,   50,   51,    0,    0,    0,    0,    0,
+      0,   11,   29,    2,    2,    2,    2,    9,    2,    2,    2,    2,    2,    2,   52,   53,
+     23,   23,   19,   31,   48,   33,   48,   34,   54,    0,    0,    0,   35,    0,    0,    0,
+     30,   12,   29,   30,    2,    2,    2,    2,    2,    2,    2,    2,    9,    0,    2,    2,
+      2,    2,   30,    2,    2,    2,    2,   30,    0,    2,    2,    2,    9,    0,   55,    0,
+     35,   23,   22,   31,   31,   18,   48,   48,   25,    0,   23,    0,    0,    0,    0,    0,
+      0,    2,    0,    2,    9,    0,    0,    0,    0,    0,    0,    0,    0,   20,    0,    0,
+      0,    2,    2,   56,   56,   57,    0,    0,   18,    2,    2,    2,    2,   30,    2,    2,
+      2,    2,    2,    2,    2,    2,    2,    9,    0,   58,   21,   59,   22,   22,   20,   20,
+     46,   21,   11,   31,   11,    2,    2,   60,   61,   61,   61,   61,   61,   62,   61,   61,
+     61,   61,   61,   61,   61,   61,   61,   61,   61,   61,   61,   61,   61,   61,   61,   63,
+      0,    0,    0,    0,   64,    0,    0,    0,    0,    2,    2,    2,    2,    2,   65,   45,
+     59,   66,   22,   22,   67,   68,   69,   70,   71,    2,    2,    2,    2,    2,    1,    0,
+      5,    2,    2,    2,   23,   20,    2,    2,   72,   71,   73,   74,   65,   73,   29,   29,
+      2,   52,   22,   53,    2,    2,    2,    2,    2,    2,   75,   76,   77,   29,   29,   78,
+     79,    2,    2,    2,    2,    2,   29,   45,    0,    2,   59,   80,    0,    0,    0,    0,
+     30,    2,   59,   47,    0,    0,    0,    0,    0,    2,   59,    0,    0,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    2,    9,    2,    9,   59,    0,    0,    0,    0,    0,
+      0,    2,    2,   81,   45,   22,   59,   20,   48,   48,   48,   48,   15,   82,   83,   84,
+     85,   86,   87,    0,    0,    0,    0,   88,    0,    9,    0,    0,   30,    0,   89,   81,
+     90,    2,    2,    2,    2,    9,    0,    0,    0,   42,   42,   91,   92,    2,    2,    2,
+      2,    2,    2,    2,    2,   13,    9,    0,    0,   93,    2,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,    2,    2,    9,   22,   80,   45,   22,   94,   61,    0,
+      0,   95,   96,   95,   95,   97,   98,    0,    0,    2,    2,    2,    2,    2,    2,    2,
+      0,    2,    2,    9,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    0,
+      0,    2,    2,    2,    2,   29,    0,    0,    0,    2,    2,    2,    2,    2,    9,    0,
+      0,    2,    2,    2,   52,   99,   45,    0,    0,    2,    2,  100,  101,  102,  103,   61,
+     63,  104,   16,   45,   22,   59,   21,   80,   48,   48,   76,   11,   11,   11,  105,   46,
+     40,   11,  106,   74,    2,    2,    2,    2,    2,    2,    2,  107,   22,   20,   20,   22,
+     48,   48,   22,  108,    2,    2,    2,    9,    0,    0,    0,    0,    0,    0,  109,  110,
+    111,  111,  111,    0,    0,    0,    0,    0,    0,  106,   74,    2,    2,    2,    2,    2,
+      2,   60,   61,   59,   25,   22,  112,   61,    2,    2,    2,    2,  107,   22,   23,   45,
+     45,  102,   14,    0,    0,    0,    0,    0,    0,    2,    2,   61,   18,   48,   23,  113,
+    102,  102,  102,  114,  115,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,   30,
+      2,   11,   46,  116,  116,  116,   11,  116,  116,   15,  116,  116,  116,   26,    0,   40,
+      0,    0,    0,  117,   51,   11,    5,    0,    0,    0,    0,    0,    0,    0,  118,    0,
+      0,    0,    0,    0,    0,    0,    6,  119,  120,   42,   42,    5,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,  120,  120,  121,  120,  120,  120,  120,  120,  120,  120,
+    120,    0,    0,  122,    0,    0,    0,    0,    0,    0,    7,  122,    0,    0,    0,    0,
+      0,   46,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    9,
+      0,    0,    0,    0,  123,  123,    0,    0,    0,    2,    2,    2,    2,    0,    0,    0,
+     30,    0,    0,    0,    0,    0,    0,    0,  124,    0,  123,  123,    0,    0,    0,    0,
+      0,    2,   53,    2,  108,    2,   10,    2,    2,    2,   65,   19,   16,    0,    0,   31,
+      0,    2,    2,    0,    0,    0,    0,    0,    0,   29,    2,    2,    2,    2,    2,    2,
+      2,    2,    2,  125,   23,   23,   23,   23,   23,   23,   23,  126,    0,    0,    0,    0,
+      0,   11,   11,   11,   11,   11,   11,   11,   11,   11,    2,    0,    0,    0,    0,    0,
+     52,    2,    2,    2,   22,   22,  127,  116,    0,    2,    2,    2,  128,   20,   59,   20,
+    113,  102,  129,    0,    0,    0,    0,    0,    0,   11,  130,    2,    2,    2,    2,    2,
+      2,    2,  131,   23,   22,   20,   48,  132,  133,  134,    0,    0,    0,    0,    0,    0,
+      0,    2,    2,   52,   30,    2,    2,    2,    2,    2,    2,    2,    2,   10,   22,   59,
+     99,   76,  135,  136,  137,    0,    0,    0,    0,    2,  138,    2,    2,    2,    2,  139,
+      0,   30,    2,   42,    5,    0,   79,   15,    2,   53,   22,  140,   52,   53,    2,    2,
+    105,   10,    9,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,  141,   21,
+     25,    0,    0,  142,  143,    0,    0,    0,    0,    2,   65,   45,   23,   80,   47,  144,
+      0,   81,   81,   81,   81,   81,   81,   81,   81,    0,    0,    0,    0,    0,    0,    0,
+      6,  120,  120,  120,  120,  121,    0,    0,    0,    2,    2,    2,    2,    2,    9,    2,
+      2,    2,    9,    2,   30,    2,    2,    2,    2,    2,   30,    2,    2,    2,   30,    9,
+      0,  128,   20,   27,   31,    0,    0,  145,  146,    2,    2,   30,    2,   30,    2,    2,
+      2,    2,    2,    2,    0,   14,   37,    0,  147,    2,    2,   13,   37,    0,   30,    2,
+      2,    2,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   30,    2,    2,
+      9,    2,    2,   11,   41,    0,    0,    0,    0,    2,    2,    2,    2,    2,   27,   38,
+      0,    2,    2,    2,  116,  116,  116,  116,  116,  148,    2,    9,    0,    0,    0,    0,
+      0,    2,   14,   14,    0,    0,    0,    0,    0,    9,    2,    2,    9,    2,    2,    2,
+      2,   30,    2,    9,    0,   30,    2,    0,    0,  149,  150,  151,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,   22,   22,   20,   20,   20,   22,   22,  134,    0,    0,    0,
+      0,    0,  152,  152,  152,  152,  152,  152,  152,  152,  152,  152,    2,    2,    2,    2,
+      2,   53,   52,   53,    0,    0,    0,    0,  153,   11,   74,    2,    2,    2,    2,    2,
+      2,   18,   19,   21,   16,   24,   37,    0,    0,    0,   31,    0,    0,    0,    0,    0,
+      0,   11,   49,    2,    2,    2,    2,    2,    2,    2,    2,    2,  128,   20,   22,  154,
+     22,   21,  155,  156,    2,    2,    2,    2,    2,    0,    0,   65,  157,    0,    0,    0,
+      0,    2,   13,    0,    0,    0,    0,    0,    0,    2,   65,   25,   20,   20,   20,   22,
+     22,  108,  158,    0,    0,   56,  159,   31,  160,   30,    2,    2,    2,    2,    2,    2,
+      2,    2,    2,    2,    2,    2,    2,   23,   19,   22,   22,  161,   44,    0,    0,    0,
+     49,  128,    0,    0,    0,    0,    0,    0,    0,    2,    2,    2,    9,    9,    2,    2,
+     30,    2,    2,    2,    2,    2,    2,    2,   30,    2,    2,    2,    2,    2,    2,    2,
+     10,   18,   19,   21,   22,  162,   31,    0,    0,   11,   11,   30,    2,    2,    2,    9,
+     30,    9,    2,   30,    2,    2,   58,   17,   23,   16,   23,   47,   32,   33,   32,   34,
+      0,    0,    0,    0,   35,    0,    0,    0,    2,    2,   23,    0,   11,   11,   11,   46,
+      0,   11,   11,   46,    0,    0,    0,    0,    0,    2,    2,   65,   25,   20,   20,   20,
+     22,   23,  126,   15,   17,    0,    0,    0,    0,    2,    2,    2,    2,    2,    0,    0,
+    163,  164,    0,    0,    0,    0,    0,    0,    0,   18,   19,   20,   20,   66,   99,   25,
+    160,   11,  165,    9,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,    2,    2,
+     65,   25,   20,   20,    0,   48,   48,   11,  166,   37,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    2,    2,   20,    0,   23,   19,   20,   20,   21,   16,   82,
+    166,   38,    0,    0,    0,    0,    0,    0,    0,    2,    2,    2,    2,    2,   10,  167,
+     25,   20,   22,   22,  165,    9,    0,    0,    0,    2,    2,    2,    2,    2,    9,   43,
+    136,   23,   22,   20,   76,   21,   22,    0,    0,    2,    2,    2,    9,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    2,   18,   19,   20,   21,   22,  105,  166,   37,    0,
+      0,    2,    2,    2,    9,   30,    0,    2,    2,    2,    2,   30,    9,    2,    2,    2,
+      2,   23,   23,   18,   32,   33,   12,  168,  169,  170,  171,    0,    0,    0,    0,    0,
+      0,    2,    2,    2,    2,    0,    2,    2,    2,   65,   25,   20,   20,    0,   22,   23,
+     29,  108,    0,   33,    0,    0,    0,    0,    0,   52,   20,   22,   22,   22,  140,    2,
+      2,    2,  172,  173,   11,   15,  174,   72,  175,    0,    0,    1,  147,    0,    0,    0,
+      0,   52,   20,   22,   16,   19,   20,    2,    2,    2,    2,  158,  158,  158,  176,  176,
+    176,  176,  176,  176,   15,  177,    0,   30,    0,   22,   20,   20,   31,   22,   22,   11,
+    166,    0,   61,   61,   61,   61,   61,   61,   61,   66,   21,   82,   46,    0,    0,    0,
+      0,    2,    2,    2,    9,    2,   30,    2,    2,   52,   22,   22,   31,    0,   38,   22,
+     27,   11,  159,  178,  174,    0,    0,    0,    0,    2,    2,    2,   30,    9,    2,    2,
+      2,    2,    2,    2,    2,    2,   23,   23,   47,   22,   35,   82,   68,    0,    0,    0,
+      0,    2,  179,   66,   47,    0,    0,    0,    0,   11,  180,    2,    2,    2,    2,    2,
+      2,    2,    2,   23,   22,   20,   31,    0,   48,   16,  143,    0,    0,    0,    0,    0,
+      0,  181,  181,  181,  181,  181,  181,  181,  181,  182,  182,  182,  183,  184,  182,  181,
+    181,  185,  181,  181,  186,  187,  187,  187,  187,  187,  187,  187,    0,    0,    0,    0,
+      0,   11,   11,   11,   46,    0,    0,    0,    0,    2,    2,    2,    2,    2,    9,    0,
+     58,  188,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
+     20,   20,   20,   20,   20,    0,    0,    0,   40,  116,   26,    0,    0,    0,    0,    0,
+      0,    0,    0,    9,    0,    0,    0,    0,    0,    2,    2,    2,    0,    0,    0,    0,
+      0,    2,    2,    2,    2,    2,    0,   58,   37,    0,    6,  120,  120,  120,  121,    0,
+      0,   11,   11,   11,   49,    2,    2,    2,    0,    2,    2,    2,    2,    2,    0,    0,
+      2,    2,    2,    2,    2,    2,    2,    2,   46,    2,    2,    2,    2,    2,    2,   11,
+     11,    2,    2,    2,    2,    2,    2,   22,   22,    2,    2,   44,   44,   44,   92,    0,
+      0,    O,    O,    O,   GB,    B,    B,    O,   SB,    O,   SE,   GB,    O,    O,   WJ,FMPst,
+  FMPst,    O,  CGJ,    B,    O,    B,VMAbv,VMAbv,VMAbv,    O,VMAbv,    B,CMBlw,CMBlw,CMBlw,VMAbv,
+  VMPst, VAbv, VPst,CMBlw,    B, VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw, VAbv, VAbv, VAbv, VPst,
+   VPst, VPst,    H, VPre, VPst,VMBlw,    O,    O, VAbv,   GB,VMAbv,VMPst,VMPst,    O,    B, VBlw,
+      O,    O, VPre, VPre,    O, VPre,    H,    O, VPst,FMAbv,    O,CMBlw,    O, VAbv,    O, VAbv,
+      H,    O,VMBlw,VMAbv,CMAbv,   GB,   GB,    O, MBlw,CMAbv,CMAbv, VPst, VAbv,VMAbv,    O, VPst,
+      O, VPre, VPre,VMAbv,    B,    O,   CS,   CS,VMPst,    B, VAbv, VAbv,    B,    R,    O,  HVM,
+      O,    O,FMBlw,    O,CMAbv,    O,CMBlw, VAbv, VBlw,    B,  SUB,  SUB,  SUB,    O,  SUB,  SUB,
+      O,FMBlw,    O,    B, VPst, VBlw, VPre,VMAbv,VMBlw,VMPst,   IS, VAbv, MPst, MPre, MBlw, MBlw,
+      B, MBlw, MBlw, VPst,VMPst,VMPst,    B, MBlw, VPst, VPre, VAbv, VAbv,VMPst,VMPst,VMBlw,    B,
+  VMPst, VBlw, VPst,  CGJ,  CGJ, VPst,VMAbv,VMAbv,FMAbv, FAbv,CMAbv,FMAbv,VMAbv,FMAbv, VAbv,   IS,
+  FMAbv,    B,FMAbv,    B,  CGJ,   WJ,  CGJ,   GB,CMAbv,CMAbv,    B,   GB,    B, VAbv,  SUB, FPst,
+   FPst,VMBlw, FPst, FPst, FBlw,VMAbv,FMBlw, VAbv, VPre,    B, MPre, MBlw,  SUB, FAbv, FAbv, MAbv,
+    SUB,   Sk, VPst, VAbv,VMAbv,VMAbv, FAbv,CMAbv, VPst,    H,    B,    O,SMAbv,SMBlw,SMAbv,SMAbv,
+  SMAbv, VPst,   IS, VBlw, FAbv,VMPre,VMPre,FMAbv,CMBlw,VMBlw,VMBlw,VMAbv,   CS,    O,FMAbv, ZWNJ,
+    CGJ,   WJ,   WJ,   WJ,    O,FMPst,    O,   SB,   SE,    O,    H, MPst, VPst,    H,VMAbv, VAbv,
+  VMBlw,    B, VBlw, FPst, VPst, FAbv,VMPst,    B,CMAbv, VAbv, MBlw, MPst, MBlw,    H,    O, VBlw,
+   MPst, MPre, MAbv, MBlw,    O,    B, FAbv, FAbv, FPst, VBlw,    B,    B, VPre,    O,VMPst,   IS,
+      O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv,    O,   IS,VMBlw,    B,VMPst,VMAbv,VMPst,   CS,   CS,
+      B,    N,    N,    O,   HN, VPre, VBlw, VAbv,   IS,CMAbv,    O, VPst,    B,    R,    R,CMBlw,
+   VAbv, VPre,VMAbv,VMAbv,    H, VAbv,CMBlw,FMAbv,    B,   CS,   CS,    H,CMBlw,VMPst,    H,VMPst,
+   VAbv,VMAbv, VPst,   IS,    R, MPst,    R, MPst,CMBlw,    B,FMBlw, VBlw,VMAbv,    R, MBlw, MBlw,
+     GB, FBlw, FBlw,CMAbv,   IS, VBlw,   IS,   GB, VAbv,    R,VMPst,    G,    G,    J,    J,    J,
+     SB,   SE,    J,   HR,    G,    G,   HM,   HM,   HM,    O, VBlw,
 };
 static const uint16_t
-hb_use_u16[448] =
+hb_use_u16[456] =
 {
-    0,  0,  1,  2,  3,  4,  0,  5,  6,  0,  7,  0,  8,  9, 10, 11,
-    9, 12, 13,  9,  9, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
-   17, 25, 26, 20, 21, 27, 28, 29, 30, 31, 32, 33, 21, 34, 35,  0,
-   17, 36, 37, 20, 21, 38, 23, 39, 17, 40, 41, 42, 43, 44, 45, 46,
-   30,  0, 47, 48, 21, 49, 50, 51, 17,  0, 52, 48, 21, 53, 50, 54,
-   17, 55, 56, 48,  9, 57, 58, 59, 60, 61,  9, 62, 63, 64, 30, 65,
-   66, 67,  9, 68, 69,  9, 70, 71, 72, 73, 74, 75, 76,  0,  9,  9,
-   77, 78, 79, 80, 81, 82, 83, 84,  9, 85,  9, 86,  9, 87, 88, 89,
-    9, 90, 91, 92,  2,  0, 93,  0,  9, 94, 95,  9, 96,  0, 97, 98,
-   99,100, 30,  9,101,102,103,  9,104,105,  9,106,  9,107,108,109,
-    2,  2,110,  9,  9,111,112,  2,113,114,115,  9,116,  9,117,118,
-  119,120,121,  0,  0,122,123,124,  0,125,126,127,128,  0,129,130,
-  131,  0,  0,132,133,  0,  0,  9,134,135,136,  9,137,  0,  9,138,
-  139,  9,  9,140,141,  2,142,143,144,  9,145,146,147,  9,  9,148,
-  149,  2,150, 98,151,152,153,  2,  9,154,  9,155,156,  0,157,158,
-  159,  2,160,  0,  0,161,  0,162,  0,163,163,164, 33,165,166,167,
-    9,168, 94,  0,169,  0,  9,170,171,  0,172,  2,173,170,174,175,
-  176,  0,  0,177,178,  0,179,  9,  9,180,181,182,183,184,185,  9,
-    9,186,187,  0,188,  9,189,190,191,  9,  9,192,  9,193,194,105,
-  195,102,  9, 33,196,197,198,  0,199,200, 94,  9,  9,201,202,  2,
-  203, 20, 21,204,205,206,207,208,  9,209,210,211,212,  0,195,  9,
-    9,213,214,  2,215,216,217,218,  9,219,220,  2,221,222,  9,223,
-  224,103,225,  0,226,227,228,229,  9,230,231,  2,232,  9,  9,233,
-  234,  0,235,  9,  9,236,237,238,239,240, 21,  9,215,241,  7,  9,
-   70, 18,  9,242, 73,243,244,  9,  9,245,246,  2,247,  9,248,249,
-    9,250,251, 48,  9,252,253,  2,  9,254,255,256,  9,257,258,259,
-  260,260,261,262,263,  0,  9,264,105, 70, 94,265,  0,266, 70,267,
-  268,  0,269,  0,270,  2,271,  2,272,  2,129,129,160,160,160,129,
+    0,  0,  1,  2,  0,  3,  4,  5,  0,  6,  7,  0,  8,  0,  9, 10,
+   11, 12, 10, 13, 14, 10, 10, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+   24, 25, 18, 26, 27, 21, 22, 28, 29, 30, 31, 32, 33, 34, 22, 35,
+   36,  0, 18, 37, 38, 21, 22, 39, 24, 40, 18, 41, 42, 43, 44, 45,
+   46, 47, 31,  0, 48, 49, 22, 50, 51, 52, 18,  0, 53, 49, 22, 54,
+   51, 55, 18, 56, 57, 49, 10, 58, 59, 60, 61, 62, 10, 63, 64, 65,
+   31, 66, 67, 68, 10, 69, 70, 10, 71, 72, 73, 74, 75, 76, 77,  0,
+   10, 10, 78, 79, 80, 81, 82, 83, 84, 85, 10, 86, 10, 87, 10, 88,
+   89, 90, 10, 91, 92, 93,  2,  0, 94,  0, 10, 95, 96, 10, 97,  0,
+   98, 99,100,101, 31, 10,102,103,104, 10,105,106, 10,107, 10,108,
+  109,110,  2,  2,111, 10, 10,112,113,  2,114,115,116, 10,117, 10,
+  118,119,120,121,122,  0,  0,123,124,125,  0,126,127,128,129,  0,
+  130,131,132,  0,  0,133,134,  0,135,  0,  0, 10,136,137,138,  0,
+  139, 10,140,  0, 10,141,142, 10, 10,143,144,  2,145,146,147, 10,
+  148,149,150, 10, 10,151,152,  2,153, 99,154,155,156,  2, 10,157,
+   10,158,159,  0,160,161,162,  2,163,  0,  0,164,  0,165,  0,166,
+  166,167, 34,168,169,170, 10,171, 95,  0,172,  0, 10,173,174,  0,
+  175,  2,176,173,177,178,179,  0,  0,180,181,  0,182, 10, 10,183,
+  184,185,186,187,188, 10, 10,189,190,  0,191, 10,192,193,194, 10,
+   10,195, 10,196,197,106,198,103, 10, 34,199,200,201,  0,202,203,
+   95, 10, 10,204,205,  2,206, 21, 22,207,208,209,210,211, 10,212,
+  213,214,215,  0,198, 10, 10,216,217,  2,218,219,220,221, 10,222,
+  223,  2,224,225, 10,226,227,104,228,  0,229,230,231,232, 10,233,
+  234,  2,235, 10, 10,236,237,  0,238, 10, 10,239,240,241,242,243,
+   22, 10,218,244,  8, 10, 71, 19, 10,245, 74,246,247, 10, 10,248,
+  249,  2,250, 10,251,252, 10,253,254, 49, 10,255,256,  2,257,257,
+  257,258,259,260, 10,261,262,263,264,264,265,266,267,  0, 10,268,
+  106, 71, 95,269,  0,270, 71,271,272,  0,273,  0,274,  2,275,  2,
+  276,  2,130,130,163,163,163,130,
 };
 
 static inline unsigned
@@ -622,7 +636,7 @@
 static inline uint_fast8_t
 hb_use_get_category (unsigned u)
 {
-  return u<921600u?hb_use_u8[3049+(((hb_use_u8[865+(((hb_use_u16[((hb_use_u8[353+(((hb_use_u8[113+(((hb_use_b4(hb_use_u8,u>>1>>3>>1>>3>>4))<<4)+((u>>1>>3>>1>>3)&15u))])<<3)+((u>>1>>3>>1)&7u))])<<1)+((u>>1>>3)&1u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:O;
+  return u<921600u?hb_use_u8[3105+(((hb_use_u8[889+(((hb_use_u16[((hb_use_u8[353+(((hb_use_u8[113+(((hb_use_b4(hb_use_u8,u>>1>>3>>1>>3>>4))<<4)+((u>>1>>3>>1>>3)&15u))])<<3)+((u>>1>>3>>1)&7u))])<<1)+((u>>1>>3)&1u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:O;
 }
 
 #endif
@@ -633,7 +647,9 @@
 #undef G
 #undef GB
 #undef H
+#undef HM
 #undef HN
+#undef HR
 #undef HVM
 #undef IS
 #undef J
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use.cc	2024-04-08 05:38:38.000000000 +0000
@@ -377,6 +377,9 @@
 #define POST_BASE_FLAGS64 (FLAG64 (USE(FAbv)) | \
                            FLAG64 (USE(FBlw)) | \
                            FLAG64 (USE(FPst)) | \
+                           FLAG64 (USE(FMAbv)) | \
+                           FLAG64 (USE(FMBlw)) | \
+                           FLAG64 (USE(FMPst)) | \
                            FLAG64 (USE(MAbv)) | \
                            FLAG64 (USE(MBlw)) | \
                            FLAG64 (USE(MPst)) | \
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc	2024-04-08 05:38:38.000000000 +0000
@@ -10,8 +10,8 @@
  * # Date: 2015-03-12, 21:17:00 GMT [AG]
  * # Date: 2019-11-08, 23:22:00 GMT [AG]
  *
- * # Scripts-15.0.0.txt
- * # Date: 2022-04-26, 23:15:02 GMT
+ * # Scripts-15.1.0.txt
+ * # Date: 2023-07-28, 16:01:07 GMT
  */
 
 #include "hb.hh"
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -57,6 +57,16 @@
   // Reserved = 0xFFFC                          /* Reserved for future use — set to zero. */
 };
 
+static bool axis_value_is_outside_axis_range (hb_tag_t axis_tag, float axis_value,
+                                              const hb_hashmap_t *user_axes_location)
+{
+  if (!user_axes_location->has (axis_tag))
+    return false;
+
+  Triple axis_range = user_axes_location->get (axis_tag);
+  return (axis_value < axis_range.minimum || axis_value > axis_range.maximum);
+}
+
 struct StatAxisRecord
 {
   int cmp (hb_tag_t key) const { return tag.cmp (key); }
@@ -96,23 +106,19 @@
   }
 
   bool keep_axis_value (const hb_array_t axis_records,
-                        const hb_hashmap_t *user_axes_location) const
+                        const hb_hashmap_t *user_axes_location) const
   {
     hb_tag_t axis_tag = get_axis_tag (axis_records);
     float axis_value = get_value ();
 
-    if (!user_axes_location->has (axis_tag) ||
-        fabsf(axis_value - user_axes_location->get (axis_tag)) < 0.001f)
-      return true;
-
-    return false;
+    return !axis_value_is_outside_axis_range (axis_tag, axis_value, user_axes_location);
   }
 
   bool subset (hb_subset_context_t *c,
                const hb_array_t axis_records) const
   {
     TRACE_SUBSET (this);
-    const hb_hashmap_t* user_axes_location = &c->plan->user_axes_location;
+    const hb_hashmap_t* user_axes_location = &c->plan->user_axes_location;
 
     if (keep_axis_value (axis_records, user_axes_location))
       return_trace (c->serializer->embed (this));
@@ -155,23 +161,19 @@
   }
 
   bool keep_axis_value (const hb_array_t axis_records,
-                        const hb_hashmap_t *user_axes_location) const
+                        const hb_hashmap_t *user_axes_location) const
   {
     hb_tag_t axis_tag = get_axis_tag (axis_records);
     float axis_value = get_value ();
 
-    if (!user_axes_location->has (axis_tag) ||
-        fabsf(axis_value - user_axes_location->get (axis_tag)) < 0.001f)
-      return true;
-
-    return false;
+    return !axis_value_is_outside_axis_range (axis_tag, axis_value, user_axes_location);
   }
 
   bool subset (hb_subset_context_t *c,
                const hb_array_t axis_records) const
   {
     TRACE_SUBSET (this);
-    const hb_hashmap_t* user_axes_location = &c->plan->user_axes_location;
+    const hb_hashmap_t* user_axes_location = &c->plan->user_axes_location;
 
     if (keep_axis_value (axis_records, user_axes_location))
       return_trace (c->serializer->embed (this));
@@ -218,23 +220,19 @@
   }
 
   bool keep_axis_value (const hb_array_t axis_records,
-                        const hb_hashmap_t *user_axes_location) const
+                        const hb_hashmap_t *user_axes_location) const
   {
     hb_tag_t axis_tag = get_axis_tag (axis_records);
     float axis_value = get_value ();
 
-    if (!user_axes_location->has (axis_tag) ||
-        fabsf(axis_value - user_axes_location->get (axis_tag)) < 0.001f)
-      return true;
-
-    return false;
+    return !axis_value_is_outside_axis_range (axis_tag, axis_value, user_axes_location);
   }
 
   bool subset (hb_subset_context_t *c,
                const hb_array_t axis_records) const
   {
     TRACE_SUBSET (this);
-    const hb_hashmap_t* user_axes_location = &c->plan->user_axes_location;
+    const hb_hashmap_t* user_axes_location = &c->plan->user_axes_location;
 
     if (keep_axis_value (axis_records, user_axes_location))
       return_trace (c->serializer->embed (this));
@@ -291,7 +289,7 @@
   { return axisValues.as_array (axisCount)[axis_index]; }
 
   bool keep_axis_value (const hb_array_t axis_records,
-                        const hb_hashmap_t *user_axes_location) const
+                        const hb_hashmap_t *user_axes_location) const
   {
     hb_array_t axis_value_records = axisValues.as_array (axisCount);
 
@@ -301,8 +299,7 @@
       float axis_value = rec.get_value ();
       hb_tag_t axis_tag = axis_records[axis_idx].get_axis_tag ();
 
-      if (user_axes_location->has (axis_tag) &&
-          fabsf(axis_value - user_axes_location->get (axis_tag)) > 0.001f)
+      if (axis_value_is_outside_axis_range (axis_tag, axis_value, user_axes_location))
         return false;
     }
 
@@ -313,7 +310,7 @@
                const hb_array_t axis_records) const
   {
     TRACE_SUBSET (this);
-    const hb_hashmap_t *user_axes_location = &c->plan->user_axes_location;
+    const hb_hashmap_t *user_axes_location = &c->plan->user_axes_location;
     if (!keep_axis_value (axis_records, user_axes_location))
       return_trace (false);
 
@@ -402,7 +399,7 @@
   }
 
   bool keep_axis_value (const hb_array_t axis_records,
-                        hb_hashmap_t *user_axes_location) const
+                        hb_hashmap_t *user_axes_location) const
   {
     switch (u.format)
     {
@@ -451,8 +448,6 @@
                const hb_array_t axis_records) const
   {
     TRACE_SUBSET (this);
-    auto *out = c->serializer->start_embed (this);
-    if (unlikely (!out)) return_trace (false);
 
     auto axisValueOffsets = as_array (axisValueCount);
     count = 0;
@@ -517,7 +512,7 @@
     return axis_value.get_value_name_id ();
   }
 
-  void collect_name_ids (hb_hashmap_t *user_axes_location,
+  void collect_name_ids (hb_hashmap_t *user_axes_location,
                          hb_set_t *nameids_to_retain /* OUT */) const
   {
     if (!has_data ()) return;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -6,8 +6,8 @@
  *
  * on files with these headers:
  *
- * 
- * File-Date: 2022-03-02
+ * 
+ * File-Date: 2023-08-02
  */
 
 #ifndef HB_OT_TAG_TABLE_HH
@@ -257,7 +257,7 @@
   {HB_TAG('a','i','i',' '),     HB_TAG('S','Y','R',' ')},       /* Assyrian Neo-Aramaic -> Syriac */
 /*{HB_TAG('a','i','o',' '),     HB_TAG('A','I','O',' ')},*/     /* Aiton */
   {HB_TAG('a','i','w',' '),     HB_TAG('A','R','I',' ')},       /* Aari */
-  {HB_TAG('a','j','p',' '),     HB_TAG('A','R','A',' ')},       /* South Levantine Arabic -> Arabic */
+  {HB_TAG('a','j','p',' '),     HB_TAG('A','R','A',' ')},       /* South Levantine Arabic (retired code) -> Arabic */
   {HB_TAG('a','j','t',' '),     HB_TAG('A','R','A',' ')},       /* Judeo-Tunisian Arabic (retired code) -> Arabic */
   {HB_TAG('a','k','b',' '),     HB_TAG('A','K','B',' ')},       /* Batak Angkola */
   {HB_TAG('a','k','b',' '),     HB_TAG('B','T','K',' ')},       /* Batak Angkola -> Batak */
@@ -269,7 +269,7 @@
 /*{HB_TAG('a','n','g',' '),     HB_TAG('A','N','G',' ')},*/     /* Old English (ca. 450-1100) -> Anglo-Saxon */
   {HB_TAG('a','o','a',' '),     HB_TAG('C','P','P',' ')},       /* Angolar -> Creoles */
   {HB_TAG('a','p','a',' '),     HB_TAG('A','T','H',' ')},       /* Apache [collection] -> Athapaskan */
-  {HB_TAG('a','p','c',' '),     HB_TAG('A','R','A',' ')},       /* North Levantine Arabic -> Arabic */
+  {HB_TAG('a','p','c',' '),     HB_TAG('A','R','A',' ')},       /* Levantine Arabic -> Arabic */
   {HB_TAG('a','p','d',' '),     HB_TAG('A','R','A',' ')},       /* Sudanese Arabic -> Arabic */
   {HB_TAG('a','p','j',' '),     HB_TAG('A','T','H',' ')},       /* Jicarilla Apache -> Athapaskan */
   {HB_TAG('a','p','k',' '),     HB_TAG('A','T','H',' ')},       /* Kiowa Apache -> Athapaskan */
@@ -1211,6 +1211,7 @@
   {HB_TAG('p','p','a',' '),     HB_TAG('B','A','G',' ')},       /* Pao (retired code) -> Baghelkhandi */
   {HB_TAG('p','r','e',' '),     HB_TAG('C','P','P',' ')},       /* Principense -> Creoles */
 /*{HB_TAG('p','r','o',' '),     HB_TAG('P','R','O',' ')},*/     /* Old Provençal (to 1500) -> Provençal / Old Provençal */
+  {HB_TAG('p','r','p',' '),     HB_TAG('G','U','J',' ')},       /* Parsi (retired code) -> Gujarati */
   {HB_TAG('p','r','s',' '),     HB_TAG('D','R','I',' ')},       /* Dari */
   {HB_TAG('p','r','s',' '),     HB_TAG('F','A','R',' ')},       /* Dari -> Persian */
   {HB_TAG('p','s','e',' '),     HB_TAG('M','L','Y',' ')},       /* Central Malay -> Malay */
@@ -1439,7 +1440,7 @@
   {HB_TAG('t','c','h',' '),     HB_TAG('C','P','P',' ')},       /* Turks And Caicos Creole English -> Creoles */
   {HB_TAG('t','c','p',' '),     HB_TAG('Q','I','N',' ')},       /* Tawr Chin -> Chin */
   {HB_TAG('t','c','s',' '),     HB_TAG('C','P','P',' ')},       /* Torres Strait Creole -> Creoles */
-  {HB_TAG('t','c','y',' '),     HB_TAG('T','U','L',' ')},       /* Tulu -> Tumbuka */
+  {HB_TAG('t','c','y',' '),     HB_TAG('T','U','L',' ')},       /* Tulu */
   {HB_TAG('t','c','z',' '),     HB_TAG('Q','I','N',' ')},       /* Thado Chin -> Chin */
 /*{HB_TAG('t','d','d',' '),     HB_TAG('T','D','D',' ')},*/     /* Tai Nüa -> Dehong Dai */
   {HB_TAG('t','d','x',' '),     HB_TAG('M','L','G',' ')},       /* Tandroy-Mahafaly Malagasy -> Malagasy */
@@ -1495,8 +1496,8 @@
   {HB_TAG('t','t','q',' '),     HB_TAG('T','M','H',' ')},       /* Tawallammat Tamajaq -> Tamashek */
   {HB_TAG('t','t','q',' '),     HB_TAG('B','B','R',' ')},       /* Tawallammat Tamajaq -> Berber */
   {HB_TAG('t','u','a',' '),     HB_TAG_NONE            },       /* Wiarumus != Turoyo Aramaic */
-  {HB_TAG('t','u','l',' '),     HB_TAG_NONE            },       /* Tula != Tumbuka */
-/*{HB_TAG('t','u','m',' '),     HB_TAG('T','U','M',' ')},*/     /* Tumbuka -> Tulu */
+  {HB_TAG('t','u','l',' '),     HB_TAG_NONE            },       /* Tula != Tulu */
+/*{HB_TAG('t','u','m',' '),     HB_TAG('T','U','M',' ')},*/     /* Tumbuka */
   {HB_TAG('t','u','u',' '),     HB_TAG('A','T','H',' ')},       /* Tututni -> Athapaskan */
   {HB_TAG('t','u','v',' '),     HB_TAG_NONE            },       /* Turkana != Tuvin */
   {HB_TAG('t','u','y',' '),     HB_TAG('K','A','L',' ')},       /* Tugen -> Kalenjin */
@@ -1581,6 +1582,7 @@
   {HB_TAG('y','b','a',' '),     HB_TAG_NONE            },       /* Yala != Yoruba */
   {HB_TAG('y','b','b',' '),     HB_TAG('B','M','L',' ')},       /* Yemba -> Bamileke */
   {HB_TAG('y','b','d',' '),     HB_TAG('A','R','K',' ')},       /* Yangbye (retired code) -> Rakhine */
+  {HB_TAG('y','c','r',' '),     HB_TAG_NONE            },       /* Yilan Creole != Y-Cree */
   {HB_TAG('y','d','d',' '),     HB_TAG('J','I','I',' ')},       /* Eastern Yiddish -> Yiddish */
 /*{HB_TAG('y','g','p',' '),     HB_TAG('Y','G','P',' ')},*/     /* Gepo */
   {HB_TAG('y','i','h',' '),     HB_TAG('J','I','I',' ')},       /* Western Yiddish -> Yiddish */
@@ -1602,6 +1604,7 @@
   {HB_TAG('z','g','n',' '),     HB_TAG('Z','H','A',' ')},       /* Guibian Zhuang -> Zhuang */
   {HB_TAG('z','h','d',' '),     HB_TAG('Z','H','A',' ')},       /* Dai Zhuang -> Zhuang */
   {HB_TAG('z','h','n',' '),     HB_TAG('Z','H','A',' ')},       /* Nong Zhuang -> Zhuang */
+  {HB_TAG('z','k','b',' '),     HB_TAG('K','H','A',' ')},       /* Koibal (retired code) -> Khakass */
   {HB_TAG('z','l','j',' '),     HB_TAG('Z','H','A',' ')},       /* Liujiang Zhuang -> Zhuang */
   {HB_TAG('z','l','m',' '),     HB_TAG('M','L','Y',' ')},       /* Malay */
   {HB_TAG('z','l','n',' '),     HB_TAG('Z','H','A',' ')},       /* Lianshan Zhuang -> Zhuang */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc	2024-04-08 05:38:38.000000000 +0000
@@ -412,7 +412,7 @@
 /**
  * hb_ot_tags_from_script_and_language:
  * @script: an #hb_script_t to convert.
- * @language: an #hb_language_t to convert.
+ * @language: (nullable): an #hb_language_t to convert.
  * @script_count: (inout) (optional): maximum number of script tags to retrieve (IN)
  * and actual number of script tags retrieved (OUT)
  * @script_tags: (out) (optional): array of size at least @script_count to store the
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -72,6 +72,65 @@
     return_trace (c->check_struct (this));
   }
 
+  void set_mapping (float from_coord, float to_coord)
+  {
+    coords[0].set_float (from_coord);
+    coords[1].set_float (to_coord);
+  }
+
+  bool is_outside_axis_range (const Triple& axis_range) const
+  {
+    float from_coord = coords[0].to_float ();
+    return !axis_range.contains (from_coord);
+  }
+
+  bool must_include () const
+  {
+    float from_coord = coords[0].to_float ();
+    float to_coord = coords[1].to_float ();
+    return (from_coord == -1.f && to_coord == -1.f) ||
+           (from_coord == 0.f && to_coord == 0.f) ||
+           (from_coord == 1.f && to_coord == 1.f);
+  }
+
+  void instantiate (const Triple& axis_range,
+                    const Triple& unmapped_range,
+                    const TripleDistances& triple_distances)
+  {
+    float from_coord = coords[0].to_float ();
+    float to_coord = coords[1].to_float ();
+
+    from_coord = renormalizeValue (from_coord, unmapped_range, triple_distances);
+    to_coord = renormalizeValue (to_coord, axis_range, triple_distances);
+
+    coords[0].set_float (from_coord);
+    coords[1].set_float (to_coord);
+  }
+
+  HB_INTERNAL static int cmp (const void *pa, const void *pb)
+  {
+    const AxisValueMap *a = (const AxisValueMap *) pa;
+    const AxisValueMap *b = (const AxisValueMap *) pb;
+
+    int a_from = a->coords[0].to_int ();
+    int b_from = b->coords[0].to_int ();
+    if (a_from != b_from)
+      return a_from - b_from;
+
+    /* this should never be reached. according to the spec, all of the axis
+     * value map records for a given axis must have different fromCoord values
+     * */
+    int a_to = a->coords[1].to_int ();
+    int b_to = b->coords[1].to_int ();
+    return a_to - b_to;
+  }
+
+  bool serialize (hb_serialize_context_t *c) const
+  {
+    TRACE_SERIALIZE (this);
+    return_trace (c->embed (this));
+  }
+
   public:
   F2DOT14       coords[2];
 //   F2DOT14    fromCoord;      /* A normalized coordinate value obtained using
@@ -122,6 +181,78 @@
 
   int unmap (int value) const { return map (value, 1, 0); }
 
+  Triple unmap_axis_range (const Triple& axis_range) const
+  {
+    F2DOT14 val, unmapped_val;
+
+    val.set_float (axis_range.minimum);
+    unmapped_val.set_int (unmap (val.to_int ()));
+    float unmapped_min = unmapped_val.to_float ();
+
+    val.set_float (axis_range.middle);
+    unmapped_val.set_int (unmap (val.to_int ()));
+    float unmapped_middle = unmapped_val.to_float ();
+
+    val.set_float (axis_range.maximum);
+    unmapped_val.set_int (unmap (val.to_int ()));
+    float unmapped_max = unmapped_val.to_float ();
+
+    return Triple{unmapped_min, unmapped_middle, unmapped_max};
+  }
+
+  bool subset (hb_subset_context_t *c, hb_tag_t axis_tag) const
+  {
+    TRACE_SUBSET (this);
+    /* avar mapped normalized axis range*/
+    Triple *axis_range;
+    if (!c->plan->axes_location.has (axis_tag, &axis_range))
+      return c->serializer->embed (*this);
+
+    TripleDistances *axis_triple_distances;
+    if (!c->plan->axes_triple_distances.has (axis_tag, &axis_triple_distances))
+      return_trace (false);
+
+    auto *out = c->serializer->start_embed (this);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
+
+    Triple unmapped_range = unmap_axis_range (*axis_range);
+
+    /* create a vector of retained mappings and sort */
+    hb_vector_t value_mappings;
+    for (const auto& _ : as_array ())
+    {
+      if (_.is_outside_axis_range (unmapped_range))
+        continue;
+      AxisValueMap mapping;
+      mapping = _;
+      mapping.instantiate (*axis_range, unmapped_range, *axis_triple_distances);
+      /* (-1, -1), (0, 0), (1, 1) mappings will be added later, so avoid
+       * duplicates here */
+      if (mapping.must_include ())
+        continue;
+      value_mappings.push (std::move (mapping));
+    }
+
+    AxisValueMap m;
+    m.set_mapping (-1.f, -1.f);
+    value_mappings.push (m);
+
+    m.set_mapping (0.f, 0.f);
+    value_mappings.push (m);
+
+    m.set_mapping (1.f, 1.f);
+    value_mappings.push (m);
+
+    value_mappings.qsort ();
+
+    for (const auto& _ : value_mappings)
+    {
+      if (!_.serialize (c->serializer))
+        return_trace (false);
+    }
+    return_trace (c->serializer->check_assign (out->len, value_mappings.length, HB_SERIALIZE_ERROR_INT_OVERFLOW));
+  }
+
   public:
   DEFINE_SIZE_ARRAY (2, *this);
 };
@@ -225,6 +356,39 @@
     }
   }
 
+  bool subset (hb_subset_context_t *c) const
+  {
+    TRACE_SUBSET (this);
+    unsigned retained_axis_count = c->plan->axes_index_map.get_population ();
+    if (!retained_axis_count) //all axes are pinned/dropped
+      return_trace (false);
+
+    avar *out = c->serializer->allocate_min ();
+    if (unlikely (!out)) return_trace (false);
+
+    out->version.major = 1;
+    out->version.minor = 0;
+    if (!c->serializer->check_assign (out->axisCount, retained_axis_count, HB_SERIALIZE_ERROR_INT_OVERFLOW))
+      return_trace (false);
+
+    const hb_map_t& axes_index_map = c->plan->axes_index_map;
+    const SegmentMaps *map = &firstAxisSegmentMaps;
+    unsigned count = axisCount;
+    for (unsigned int i = 0; i < count; i++)
+    {
+      if (axes_index_map.has (i))
+      {
+        hb_tag_t *axis_tag;
+        if (!c->plan->axes_old_index_tag_map.has (i, &axis_tag))
+          return_trace (false);
+        if (!map->subset (c, *axis_tag))
+          return_trace (false);
+      }
+      map = &StructAfter (*map);
+    }
+    return_trace (true);
+  }
+
   protected:
   FixedVersion<>version;        /* Version of the avar table
                                  * initially set to 0x00010000u */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -27,6 +27,7 @@
 #define HB_OT_VAR_COMMON_HH
 
 #include "hb-ot-layout-common.hh"
+#include "hb-priority-queue.hh"
 
 
 namespace OT {
@@ -36,19 +37,14 @@
 {
   friend struct DeltaSetIndexMap;
 
+  unsigned get_size () const
+  { return min_size + mapCount * get_width (); }
+
   private:
   DeltaSetIndexMapFormat01* copy (hb_serialize_context_t *c) const
   {
     TRACE_SERIALIZE (this);
-    auto *out = c->start_embed (this);
-    if (unlikely (!out)) return_trace (nullptr);
-
-    unsigned total_size = min_size + mapCount * get_width ();
-    HBUINT8 *p = c->allocate_size (total_size);
-    if (unlikely (!p)) return_trace (nullptr);
-
-    hb_memcpy (p, this, HBUINT8::static_size * total_size);
-    return_trace (out);
+    return_trace (c->embed (this));
   }
 
   template 
@@ -69,14 +65,17 @@
     if (unlikely (!p)) return_trace (false);
     for (unsigned int i = 0; i < output_map.length; i++)
     {
-      unsigned int v = output_map[i];
-      unsigned int outer = v >> 16;
-      unsigned int inner = v & 0xFFFF;
-      unsigned int u = (outer << inner_bit_count) | inner;
-      for (unsigned int w = width; w > 0;)
+      unsigned int v = output_map.arrayZ[i];
+      if (v)
       {
-        p[--w] = u;
-        u >>= 8;
+        unsigned int outer = v >> 16;
+        unsigned int inner = v & 0xFFFF;
+        unsigned int u = (outer << inner_bit_count) | inner;
+        for (unsigned int w = width; w > 0;)
+        {
+          p[--w] = u;
+          u >>= 8;
+        }
       }
       p += width;
     }
@@ -232,7 +231,7 @@
   /* according to the spec, if colr table has varStore but does not have
    * varIdxMap, then an implicit identity mapping is used */
   float operator() (uint32_t varIdx, unsigned short offset = 0) const
-  { return varStore->get_delta (varIdxMap ? varIdxMap->map (VarIdx::add (varIdx, offset)) : varIdx + offset, coords); }
+  { return coords ? varStore->get_delta (varIdxMap ? varIdxMap->map (VarIdx::add (varIdx, offset)) : varIdx + offset, coords) : 0; }
 
   const VariationStore *varStore;
   const DeltaSetIndexMap *varIdxMap;
@@ -242,6 +241,7 @@
 /* https://docs.microsoft.com/en-us/typography/opentype/spec/otvarcommonformats#tuplevariationheader */
 struct TupleVariationHeader
 {
+  friend struct tuple_delta_t;
   unsigned get_size (unsigned axis_count) const
   { return min_size + get_all_tuples (axis_count).get_size (); }
 
@@ -250,14 +250,67 @@
   const TupleVariationHeader &get_next (unsigned axis_count) const
   { return StructAtOffset (this, get_size (axis_count)); }
 
+  bool unpack_axis_tuples (unsigned axis_count,
+                           const hb_array_t shared_tuples,
+                           const hb_map_t *axes_old_index_tag_map,
+                           hb_hashmap_t& axis_tuples /* OUT */) const
+  {
+    const F2DOT14 *peak_tuple = nullptr;
+    if (has_peak ())
+      peak_tuple = get_peak_tuple (axis_count).arrayZ;
+    else
+    {
+      unsigned int index = get_index ();
+      if (unlikely ((index + 1) * axis_count > shared_tuples.length))
+        return false;
+      peak_tuple = shared_tuples.sub_array (axis_count * index, axis_count).arrayZ;
+    }
+
+    const F2DOT14 *start_tuple = nullptr;
+    const F2DOT14 *end_tuple = nullptr;
+    bool has_interm = has_intermediate ();
+
+    if (has_interm)
+    {
+      start_tuple = get_start_tuple (axis_count).arrayZ;
+      end_tuple = get_end_tuple (axis_count).arrayZ;
+    }
+
+    for (unsigned i = 0; i < axis_count; i++)
+    {
+      float peak = peak_tuple[i].to_float ();
+      if (peak == 0.f) continue;
+
+      hb_tag_t *axis_tag;
+      if (!axes_old_index_tag_map->has (i, &axis_tag))
+        return false;
+
+      float start, end;
+      if (has_interm)
+      {
+        start = start_tuple[i].to_float ();
+        end = end_tuple[i].to_float ();
+      }
+      else
+      {
+        start = hb_min (peak, 0.f);
+        end = hb_max (peak, 0.f);
+      }
+      axis_tuples.set (*axis_tag, Triple (start, peak, end));
+    }
+
+    return true;
+  }
+
   float calculate_scalar (hb_array_t coords, unsigned int coord_count,
                           const hb_array_t shared_tuples,
-                          const hb_vector_t *shared_tuple_active_idx = nullptr) const
+                          const hb_vector_t> *shared_tuple_active_idx = nullptr) const
   {
     const F2DOT14 *peak_tuple;
 
     unsigned start_idx = 0;
     unsigned end_idx = coord_count;
+    unsigned step = 1;
 
     if (has_peak ())
       peak_tuple = get_peak_tuple (coord_count).arrayZ;
@@ -270,11 +323,18 @@
 
       if (shared_tuple_active_idx)
       {
-        assert (index < shared_tuple_active_idx->length);
-        int v = (*shared_tuple_active_idx).arrayZ[index];
-        if (v != -1)
+        if (unlikely (index >= shared_tuple_active_idx->length))
+          return 0.f;
+        auto _ = (*shared_tuple_active_idx).arrayZ[index];
+        if (_.second != -1)
+        {
+          start_idx = _.first;
+          end_idx = _.second + 1;
+          step = _.second - _.first;
+        }
+        else if (_.first != -1)
         {
-          start_idx = v;
+          start_idx = _.first;
           end_idx = start_idx + 1;
         }
       }
@@ -290,7 +350,7 @@
     }
 
     float scalar = 1.f;
-    for (unsigned int i = start_idx; i < end_idx; i++)
+    for (unsigned int i = start_idx; i < end_idx; i += step)
     {
       int peak = peak_tuple[i].to_int ();
       if (!peak) continue;
@@ -332,6 +392,7 @@
       TupleIndexMask      = 0x0FFFu
     };
 
+    TuppleIndex& operator = (uint16_t i) { HBUINT16::operator= (i); return *this; }
     DEFINE_SIZE_STATIC (2);
   };
 
@@ -364,6 +425,609 @@
   DEFINE_SIZE_MIN (4);
 };
 
+enum packed_delta_flag_t
+{
+  DELTAS_ARE_ZERO      = 0x80,
+  DELTAS_ARE_WORDS     = 0x40,
+  DELTA_RUN_COUNT_MASK = 0x3F
+};
+
+struct tuple_delta_t
+{
+  public:
+  hb_hashmap_t axis_tuples;
+
+  /* indices_length = point_count, indice[i] = 1 means point i is referenced */
+  hb_vector_t indices;
+
+  hb_vector_t deltas_x;
+  /* empty for cvar tuples */
+  hb_vector_t deltas_y;
+
+  /* compiled data: header and deltas
+   * compiled point data is saved in a hashmap within tuple_variations_t cause
+   * some point sets might be reused by different tuple variations */
+  hb_vector_t compiled_tuple_header;
+  hb_vector_t compiled_deltas;
+
+  /* compiled peak coords, empty for non-gvar tuples */
+  hb_vector_t compiled_peak_coords;
+
+  tuple_delta_t () = default;
+  tuple_delta_t (const tuple_delta_t& o) = default;
+
+  friend void swap (tuple_delta_t& a, tuple_delta_t& b)
+  {
+    hb_swap (a.axis_tuples, b.axis_tuples);
+    hb_swap (a.indices, b.indices);
+    hb_swap (a.deltas_x, b.deltas_x);
+    hb_swap (a.deltas_y, b.deltas_y);
+    hb_swap (a.compiled_tuple_header, b.compiled_tuple_header);
+    hb_swap (a.compiled_deltas, b.compiled_deltas);
+    hb_swap (a.compiled_peak_coords, b.compiled_peak_coords);
+  }
+
+  tuple_delta_t (tuple_delta_t&& o) : tuple_delta_t ()
+  { hb_swap (*this, o); }
+
+  tuple_delta_t& operator = (tuple_delta_t&& o)
+  {
+    hb_swap (*this, o);
+    return *this;
+  }
+
+  void remove_axis (hb_tag_t axis_tag)
+  { axis_tuples.del (axis_tag); }
+
+  bool set_tent (hb_tag_t axis_tag, Triple tent)
+  { return axis_tuples.set (axis_tag, tent); }
+
+  tuple_delta_t& operator += (const tuple_delta_t& o)
+  {
+    unsigned num = indices.length;
+    for (unsigned i = 0; i < num; i++)
+    {
+      if (indices.arrayZ[i])
+      {
+        if (o.indices.arrayZ[i])
+        {
+          deltas_x[i] += o.deltas_x[i];
+          if (deltas_y && o.deltas_y)
+            deltas_y[i] += o.deltas_y[i];
+        }
+      }
+      else
+      {
+        if (!o.indices.arrayZ[i]) continue;
+        indices.arrayZ[i] = true;
+        deltas_x[i] = o.deltas_x[i];
+        if (deltas_y && o.deltas_y)
+          deltas_y[i] = o.deltas_y[i];
+      }
+    }
+    return *this;
+  }
+
+  tuple_delta_t& operator *= (float scalar)
+  {
+    if (scalar == 1.0f)
+      return *this;
+
+    unsigned num = indices.length;
+    for (unsigned i = 0; i < num; i++)
+    {
+      if (!indices.arrayZ[i]) continue;
+
+      deltas_x[i] *= scalar;
+      if (deltas_y)
+        deltas_y[i] *= scalar;
+    }
+    return *this;
+  }
+
+  hb_vector_t change_tuple_var_axis_limit (hb_tag_t axis_tag, Triple axis_limit,
+                                                          TripleDistances axis_triple_distances) const
+  {
+    hb_vector_t out;
+    Triple *tent;
+    if (!axis_tuples.has (axis_tag, &tent))
+    {
+      out.push (*this);
+      return out;
+    }
+
+    if ((tent->minimum < 0.f && tent->maximum > 0.f) ||
+        !(tent->minimum <= tent->middle && tent->middle <= tent->maximum))
+      return out;
+
+    if (tent->middle == 0.f)
+    {
+      out.push (*this);
+      return out;
+    }
+
+    result_t solutions = rebase_tent (*tent, axis_limit, axis_triple_distances);
+    for (auto t : solutions)
+    {
+      tuple_delta_t new_var = *this;
+      if (t.second == Triple ())
+        new_var.remove_axis (axis_tag);
+      else
+        new_var.set_tent (axis_tag, t.second);
+
+      new_var *= t.first;
+      out.push (std::move (new_var));
+    }
+
+    return out;
+  }
+
+  bool compile_peak_coords (const hb_map_t& axes_index_map,
+                            const hb_map_t& axes_old_index_tag_map)
+  {
+    unsigned axis_count = axes_index_map.get_population ();
+    if (unlikely (!compiled_peak_coords.alloc (axis_count * F2DOT14::static_size)))
+      return false;
+
+    unsigned orig_axis_count = axes_old_index_tag_map.get_population ();
+    for (unsigned i = 0; i < orig_axis_count; i++)
+    {
+      if (!axes_index_map.has (i))
+        continue;
+
+      hb_tag_t axis_tag = axes_old_index_tag_map.get (i);
+      Triple *coords;
+      F2DOT14 peak_coord;
+      if (axis_tuples.has (axis_tag, &coords))
+        peak_coord.set_float (coords->middle);
+      else
+        peak_coord.set_int (0);
+
+      /* push F2DOT14 value into char vector */
+      int16_t val = peak_coord.to_int ();
+      compiled_peak_coords.push (static_cast (val >> 8));
+      compiled_peak_coords.push (static_cast (val & 0xFF));
+    }
+
+    return !compiled_peak_coords.in_error ();
+  }
+
+  /* deltas should be compiled already before we compile tuple
+   * variation header cause we need to fill in the size of the
+   * serialized data for this tuple variation */
+  bool compile_tuple_var_header (const hb_map_t& axes_index_map,
+                                 unsigned points_data_length,
+                                 const hb_map_t& axes_old_index_tag_map,
+                                 const hb_hashmap_t*, unsigned>* shared_tuples_idx_map)
+  {
+    if (!compiled_deltas) return false;
+
+    unsigned cur_axis_count = axes_index_map.get_population ();
+    /* allocate enough memory: 1 peak + 2 intermediate coords + fixed header size */
+    unsigned alloc_len = 3 * cur_axis_count * (F2DOT14::static_size) + 4;
+    if (unlikely (!compiled_tuple_header.resize (alloc_len))) return false;
+
+    unsigned flag = 0;
+    /* skip the first 4 header bytes: variationDataSize+tupleIndex */
+    F2DOT14* p = reinterpret_cast (compiled_tuple_header.begin () + 4);
+    F2DOT14* end = reinterpret_cast (compiled_tuple_header.end ());
+    hb_array_t coords (p, end - p);
+
+    /* encode peak coords */
+    unsigned peak_count = 0;
+    unsigned *shared_tuple_idx;
+    if (shared_tuples_idx_map &&
+        shared_tuples_idx_map->has (&compiled_peak_coords, &shared_tuple_idx))
+    {
+      flag = *shared_tuple_idx;
+    }
+    else
+    {
+      peak_count = encode_peak_coords(coords, flag, axes_index_map, axes_old_index_tag_map);
+      if (!peak_count) return false;
+    }
+
+    /* encode interim coords, it's optional so returned num could be 0 */
+    unsigned interim_count = encode_interm_coords (coords.sub_array (peak_count), flag, axes_index_map, axes_old_index_tag_map);
+
+    /* pointdata length = 0 implies "use shared points" */
+    if (points_data_length)
+      flag |= TupleVariationHeader::TuppleIndex::PrivatePointNumbers;
+
+    unsigned serialized_data_size = points_data_length + compiled_deltas.length;
+    TupleVariationHeader *o = reinterpret_cast (compiled_tuple_header.begin ());
+    o->varDataSize = serialized_data_size;
+    o->tupleIndex = flag;
+
+    unsigned total_header_len = 4 + (peak_count + interim_count) * (F2DOT14::static_size);
+    return compiled_tuple_header.resize (total_header_len);
+  }
+
+  unsigned encode_peak_coords (hb_array_t peak_coords,
+                               unsigned& flag,
+                               const hb_map_t& axes_index_map,
+                               const hb_map_t& axes_old_index_tag_map) const
+  {
+    unsigned orig_axis_count = axes_old_index_tag_map.get_population ();
+    auto it = peak_coords.iter ();
+    unsigned count = 0;
+    for (unsigned i = 0; i < orig_axis_count; i++)
+    {
+      if (!axes_index_map.has (i)) /* axis pinned */
+        continue;
+      hb_tag_t axis_tag = axes_old_index_tag_map.get (i);
+      Triple *coords;
+      if (!axis_tuples.has (axis_tag, &coords))
+        (*it).set_int (0);
+      else
+        (*it).set_float (coords->middle);
+      it++;
+      count++;
+    }
+    flag |= TupleVariationHeader::TuppleIndex::EmbeddedPeakTuple;
+    return count;
+  }
+
+  /* if no need to encode intermediate coords, then just return p */
+  unsigned encode_interm_coords (hb_array_t coords,
+                                 unsigned& flag,
+                                 const hb_map_t& axes_index_map,
+                                 const hb_map_t& axes_old_index_tag_map) const
+  {
+    unsigned orig_axis_count = axes_old_index_tag_map.get_population ();
+    unsigned cur_axis_count = axes_index_map.get_population ();
+
+    auto start_coords_iter = coords.sub_array (0, cur_axis_count).iter ();
+    auto end_coords_iter = coords.sub_array (cur_axis_count).iter ();
+    bool encode_needed = false;
+    unsigned count = 0;
+    for (unsigned i = 0; i < orig_axis_count; i++)
+    {
+      if (!axes_index_map.has (i)) /* axis pinned */
+        continue;
+      hb_tag_t axis_tag = axes_old_index_tag_map.get (i);
+      Triple *coords;
+      float min_val = 0.f, val = 0.f, max_val = 0.f;
+      if (axis_tuples.has (axis_tag, &coords))
+      {
+        min_val = coords->minimum;
+        val = coords->middle;
+        max_val = coords->maximum;
+      }
+
+      (*start_coords_iter).set_float (min_val);
+      (*end_coords_iter).set_float (max_val);
+
+      start_coords_iter++;
+      end_coords_iter++;
+      count += 2;
+      if (min_val != hb_min (val, 0.f) || max_val != hb_max (val, 0.f))
+        encode_needed = true;
+    }
+
+    if (encode_needed)
+    {
+      flag |= TupleVariationHeader::TuppleIndex::IntermediateRegion;
+      return count;
+    }
+    return 0;
+  }
+
+  bool compile_deltas ()
+  {
+    hb_vector_t rounded_deltas;
+    if (unlikely (!rounded_deltas.alloc (indices.length)))
+      return false;
+
+    for (unsigned i = 0; i < indices.length; i++)
+    {
+      if (!indices[i]) continue;
+      int rounded_delta = (int) roundf (deltas_x[i]);
+      rounded_deltas.push (rounded_delta);
+    }
+
+    if (!rounded_deltas) return false;
+    /* allocate enough memories 3 * num_deltas */
+    unsigned alloc_len = 3 * rounded_deltas.length;
+    if (deltas_y)
+      alloc_len *= 2;
+
+    if (unlikely (!compiled_deltas.resize (alloc_len))) return false;
+
+    unsigned i = 0;
+    unsigned encoded_len = encode_delta_run (i, compiled_deltas.as_array (), rounded_deltas);
+
+    if (deltas_y)
+    {
+      /* reuse the rounded_deltas vector, check that deltas_y have the same num of deltas as deltas_x */
+      unsigned j = 0;
+      for (unsigned idx = 0; idx < indices.length; idx++)
+      {
+        if (!indices[idx]) continue;
+        int rounded_delta = (int) roundf (deltas_y[idx]);
+
+        if (j >= rounded_deltas.length) return false;
+
+        rounded_deltas[j++] = rounded_delta;
+      }
+
+      if (j != rounded_deltas.length) return false;
+      /* reset i because we reuse rounded_deltas for deltas_y */
+      i = 0;
+      encoded_len += encode_delta_run (i, compiled_deltas.as_array ().sub_array (encoded_len), rounded_deltas);
+    }
+    return compiled_deltas.resize (encoded_len);
+  }
+
+  unsigned encode_delta_run (unsigned& i,
+                             hb_array_t encoded_bytes,
+                             const hb_vector_t& deltas) const
+  {
+    unsigned num_deltas = deltas.length;
+    unsigned encoded_len = 0;
+    while (i < num_deltas)
+    {
+      int val = deltas[i];
+      if (val == 0)
+        encoded_len += encode_delta_run_as_zeroes (i, encoded_bytes.sub_array (encoded_len), deltas);
+      else if (val >= -128 && val <= 127)
+        encoded_len += encode_delta_run_as_bytes (i, encoded_bytes.sub_array (encoded_len), deltas);
+      else
+        encoded_len += encode_delta_run_as_words (i, encoded_bytes.sub_array (encoded_len), deltas);
+    }
+    return encoded_len;
+  }
+
+  unsigned encode_delta_run_as_zeroes (unsigned& i,
+                                       hb_array_t encoded_bytes,
+                                       const hb_vector_t& deltas) const
+  {
+    unsigned num_deltas = deltas.length;
+    unsigned run_length = 0;
+    auto it = encoded_bytes.iter ();
+    unsigned encoded_len = 0;
+    while (i < num_deltas && deltas[i] == 0)
+    {
+      i++;
+      run_length++;
+    }
+
+    while (run_length >= 64)
+    {
+      *it++ = char (DELTAS_ARE_ZERO | 63);
+      run_length -= 64;
+      encoded_len++;
+    }
+
+    if (run_length)
+    {
+      *it++ = char (DELTAS_ARE_ZERO | (run_length - 1));
+      encoded_len++;
+    }
+    return encoded_len;
+  }
+
+  unsigned encode_delta_run_as_bytes (unsigned &i,
+                                      hb_array_t encoded_bytes,
+                                      const hb_vector_t& deltas) const
+  {
+    unsigned start = i;
+    unsigned num_deltas = deltas.length;
+    while (i < num_deltas)
+    {
+      int val = deltas[i];
+      if (val > 127 || val < -128)
+        break;
+
+      /* from fonttools: if there're 2 or more zeros in a sequence,
+       * it is better to start a new run to save bytes. */
+      if (val == 0 && i + 1 < num_deltas && deltas[i+1] == 0)
+        break;
+
+      i++;
+    }
+    unsigned run_length = i - start;
+
+    unsigned encoded_len = 0;
+    auto it = encoded_bytes.iter ();
+
+    while (run_length >= 64)
+    {
+      *it++ = 63;
+      encoded_len++;
+
+      for (unsigned j = 0; j < 64; j++)
+      {
+        *it++ = static_cast (deltas[start + j]);
+        encoded_len++;
+      }
+
+      start += 64;
+      run_length -= 64;
+    }
+
+    if (run_length)
+    {
+      *it++ = run_length - 1;
+      encoded_len++;
+
+      while (start < i)
+      {
+        *it++ = static_cast (deltas[start++]);
+        encoded_len++;
+      }
+    }
+
+    return encoded_len;
+  }
+
+  unsigned encode_delta_run_as_words (unsigned &i,
+                                      hb_array_t encoded_bytes,
+                                      const hb_vector_t& deltas) const
+  {
+    unsigned start = i;
+    unsigned num_deltas = deltas.length;
+    while (i < num_deltas)
+    {
+      int val = deltas[i];
+
+      /* start a new run for a single zero value*/
+      if (val == 0) break;
+
+      /* from fonttools: continue word-encoded run if there's only one
+       * single value in the range [-128, 127] because it is more compact.
+       * Only start a new run when there're 2 continuous such values. */
+      if (val >= -128 && val <= 127 &&
+          i + 1 < num_deltas &&
+          deltas[i+1] >= -128 && deltas[i+1] <= 127)
+        break;
+
+      i++;
+    }
+
+    unsigned run_length = i - start;
+    auto it = encoded_bytes.iter ();
+    unsigned encoded_len = 0;
+    while (run_length >= 64)
+    {
+      *it++ = (DELTAS_ARE_WORDS | 63);
+      encoded_len++;
+
+      for (unsigned j = 0; j < 64; j++)
+      {
+        int16_t delta_val = deltas[start + j];
+        *it++ = static_cast (delta_val >> 8);
+        *it++ = static_cast (delta_val & 0xFF);
+
+        encoded_len += 2;
+      }
+
+      start += 64;
+      run_length -= 64;
+    }
+
+    if (run_length)
+    {
+      *it++ = (DELTAS_ARE_WORDS | (run_length - 1));
+      encoded_len++;
+      while (start < i)
+      {
+        int16_t delta_val = deltas[start++];
+        *it++ = static_cast (delta_val >> 8);
+        *it++ = static_cast (delta_val & 0xFF);
+
+        encoded_len += 2;
+      }
+    }
+    return encoded_len;
+  }
+
+  bool calc_inferred_deltas (const contour_point_vector_t& orig_points)
+  {
+    unsigned point_count = orig_points.length;
+    if (point_count != indices.length)
+      return false;
+
+    unsigned ref_count = 0;
+    hb_vector_t end_points;
+
+    for (unsigned i = 0; i < point_count; i++)
+    {
+      if (indices.arrayZ[i])
+        ref_count++;
+      if (orig_points.arrayZ[i].is_end_point)
+        end_points.push (i);
+    }
+    /* all points are referenced, nothing to do */
+    if (ref_count == point_count)
+      return true;
+    if (unlikely (end_points.in_error ())) return false;
+
+    hb_set_t inferred_idxes;
+    unsigned start_point = 0;
+    for (unsigned end_point : end_points)
+    {
+      /* Check the number of unreferenced points in a contour. If no unref points or no ref points, nothing to do. */
+      unsigned unref_count = 0;
+      for (unsigned i = start_point; i < end_point + 1; i++)
+        unref_count += indices.arrayZ[i];
+      unref_count = (end_point - start_point + 1) - unref_count;
+
+      unsigned j = start_point;
+      if (unref_count == 0 || unref_count > end_point - start_point)
+        goto no_more_gaps;
+      for (;;)
+      {
+        /* Locate the next gap of unreferenced points between two referenced points prev and next.
+         * Note that a gap may wrap around at left (start_point) and/or at right (end_point).
+         */
+        unsigned int prev, next, i;
+        for (;;)
+        {
+          i = j;
+          j = next_index (i, start_point, end_point);
+          if (indices.arrayZ[i] && !indices.arrayZ[j]) break;
+        }
+        prev = j = i;
+        for (;;)
+        {
+          i = j;
+          j = next_index (i, start_point, end_point);
+          if (!indices.arrayZ[i] && indices.arrayZ[j]) break;
+        }
+        next = j;
+       /* Infer deltas for all unref points in the gap between prev and next */
+        i = prev;
+        for (;;)
+        {
+          i = next_index (i, start_point, end_point);
+          if (i == next) break;
+          deltas_x.arrayZ[i] = infer_delta (orig_points.arrayZ[i].x, orig_points.arrayZ[prev].x, orig_points.arrayZ[next].x,
+                                            deltas_x.arrayZ[prev], deltas_x.arrayZ[next]);
+          deltas_y.arrayZ[i] = infer_delta (orig_points.arrayZ[i].y, orig_points.arrayZ[prev].y, orig_points.arrayZ[next].y,
+                                            deltas_y.arrayZ[prev], deltas_y.arrayZ[next]);
+          inferred_idxes.add (i);
+          if (--unref_count == 0) goto no_more_gaps;
+        }
+      }
+    no_more_gaps:
+      start_point = end_point + 1;
+    }
+
+    for (unsigned i = 0; i < point_count; i++)
+    {
+      /* if points are not referenced and deltas are not inferred, set to 0.
+       * reference all points for gvar */
+      if ( !indices[i])
+      {
+        if (!inferred_idxes.has (i))
+        {
+          deltas_x.arrayZ[i] = 0.f;
+          deltas_y.arrayZ[i] = 0.f;
+        }
+        indices[i] = true;
+      }
+    }
+    return true;
+  }
+
+  static float infer_delta (float target_val, float prev_val, float next_val, float prev_delta, float next_delta)
+  {
+    if (prev_val == next_val)
+      return (prev_delta == next_delta) ? prev_delta : 0.f;
+    else if (target_val <= hb_min (prev_val, next_val))
+      return (prev_val < next_val) ? prev_delta : next_delta;
+    else if (target_val >= hb_max (prev_val, next_val))
+      return (prev_val > next_val) ? prev_delta : next_delta;
+
+    float r = (target_val - prev_val) / (next_val - prev_val);
+    return prev_delta + r * (next_delta - prev_delta);
+  }
+
+  static unsigned int next_index (unsigned int i, unsigned int start, unsigned int end)
+  { return (i >= end) ? start : (i + 1); }
+};
+
 struct TupleVariationData
 {
   bool sanitize (hb_sanitize_context_t *c) const
@@ -377,7 +1041,7 @@
   unsigned get_size (unsigned axis_count) const
   {
     unsigned total_size = min_size;
-    unsigned count = tupleVarCount;
+    unsigned count = tupleVarCount.get_count ();
     const TupleVariationHeader *tuple_var_header = &(get_tuple_var_header());
     for (unsigned i = 0; i < count; i++)
     {
@@ -391,8 +1055,485 @@
   const TupleVariationHeader &get_tuple_var_header (void) const
   { return StructAfter (data); }
 
+  struct tuple_iterator_t;
+  struct tuple_variations_t
+  {
+    hb_vector_t tuple_vars;
+
+    private:
+    /* referenced point set->compiled point data map */
+    hb_hashmap_t*, hb_bytes_t> point_data_map;
+    /* referenced point set-> count map, used in finding shared points */
+    hb_hashmap_t*, unsigned> point_set_count_map;
+
+    /* empty for non-gvar tuples.
+     * shared_points_bytes is just a copy of some value in the point_data_map,
+     * which will be freed during map destruction. Save it for serialization, so
+     * no need to do find_shared_points () again */
+    hb_bytes_t shared_points_bytes;
+
+    /* total compiled byte size as TupleVariationData format, initialized to its
+     * min_size: 4 */
+    unsigned compiled_byte_size = 4;
+
+    public:
+    tuple_variations_t () = default;
+    tuple_variations_t (const tuple_variations_t&) = delete;
+    tuple_variations_t& operator=(const tuple_variations_t&) = delete;
+    tuple_variations_t (tuple_variations_t&&) = default;
+    tuple_variations_t& operator=(tuple_variations_t&&) = default;
+    ~tuple_variations_t () { fini (); }
+    void fini ()
+    {
+      for (auto _ : point_data_map.values ())
+        _.fini ();
+
+      point_set_count_map.fini ();
+      tuple_vars.fini ();
+    }
+
+    explicit operator bool () const { return bool (tuple_vars); }
+    unsigned get_var_count () const
+    {
+      unsigned count = tuple_vars.length;
+      if (shared_points_bytes.length)
+        count |= TupleVarCount::SharedPointNumbers;
+      return count;
+    }
+
+    unsigned get_compiled_byte_size () const
+    { return compiled_byte_size; }
+
+    bool create_from_tuple_var_data (tuple_iterator_t iterator,
+                                     unsigned tuple_var_count,
+                                     unsigned point_count,
+                                     bool is_gvar,
+                                     const hb_map_t *axes_old_index_tag_map,
+                                     const hb_vector_t &shared_indices,
+                                     const hb_array_t shared_tuples)
+    {
+      do
+      {
+        const HBUINT8 *p = iterator.get_serialized_data ();
+        unsigned int length = iterator.current_tuple->get_data_size ();
+        if (unlikely (!iterator.var_data_bytes.check_range (p, length)))
+        { fini (); return false; }
+
+        hb_hashmap_t axis_tuples;
+        if (!iterator.current_tuple->unpack_axis_tuples (iterator.get_axis_count (), shared_tuples, axes_old_index_tag_map, axis_tuples)
+            || axis_tuples.is_empty ())
+        { fini (); return false; }
+
+        hb_vector_t private_indices;
+        bool has_private_points = iterator.current_tuple->has_private_points ();
+        const HBUINT8 *end = p + length;
+        if (has_private_points &&
+            !TupleVariationData::unpack_points (p, private_indices, end))
+        { fini (); return false; }
+
+        const hb_vector_t &indices = has_private_points ? private_indices : shared_indices;
+        bool apply_to_all = (indices.length == 0);
+        unsigned num_deltas = apply_to_all ? point_count : indices.length;
+
+        hb_vector_t deltas_x;
+
+        if (unlikely (!deltas_x.resize (num_deltas, false) ||
+                      !TupleVariationData::unpack_deltas (p, deltas_x, end)))
+        { fini (); return false; }
+
+        hb_vector_t deltas_y;
+        if (is_gvar)
+        {
+          if (unlikely (!deltas_y.resize (num_deltas, false) ||
+                        !TupleVariationData::unpack_deltas (p, deltas_y, end)))
+          { fini (); return false; }
+        }
+
+        tuple_delta_t var;
+        var.axis_tuples = std::move (axis_tuples);
+        if (unlikely (!var.indices.resize (point_count) ||
+                      !var.deltas_x.resize (point_count, false)))
+        { fini (); return false; }
+
+        if (is_gvar && unlikely (!var.deltas_y.resize (point_count, false)))
+        { fini (); return false; }
+
+        for (unsigned i = 0; i < num_deltas; i++)
+        {
+          unsigned idx = apply_to_all ? i : indices[i];
+          if (idx >= point_count) continue;
+          var.indices[idx] = true;
+          var.deltas_x[idx] = static_cast (deltas_x[i]);
+          if (is_gvar)
+            var.deltas_y[idx] = static_cast (deltas_y[i]);
+        }
+        tuple_vars.push (std::move (var));
+      } while (iterator.move_to_next ());
+      return true;
+    }
+
+    bool create_from_item_var_data (const VarData &var_data,
+                                    const hb_vector_t>& regions,
+                                    const hb_map_t& axes_old_index_tag_map,
+                                    const hb_inc_bimap_t* inner_map = nullptr)
+    {
+      /* NULL offset, to keep original varidx valid, just return */
+      if (&var_data == &Null (VarData))
+        return true;
+
+      unsigned num_regions = var_data.get_region_index_count ();
+      if (!tuple_vars.alloc (num_regions)) return false;
+
+      unsigned item_count = inner_map ? inner_map->get_population () : var_data.get_item_count ();
+      unsigned row_size = var_data.get_row_size ();
+      const HBUINT8 *delta_bytes = var_data.get_delta_bytes ();
+
+      for (unsigned r = 0; r < num_regions; r++)
+      {
+        /* In VarData, deltas are organized in rows, convert them into
+         * column(region) based tuples, resize deltas_x first */
+        tuple_delta_t tuple;
+        if (!tuple.deltas_x.resize (item_count, false) ||
+            !tuple.indices.resize (item_count, false))
+          return false;
+
+        for (unsigned i = 0; i < item_count; i++)
+        {
+          tuple.indices.arrayZ[i] = true;
+          tuple.deltas_x.arrayZ[i] = var_data.get_item_delta_fast (inner_map ? inner_map->backward (i) : i,
+                                                                   r, delta_bytes, row_size);
+        }
+
+        unsigned region_index = var_data.get_region_index (r);
+        if (region_index >= regions.length) return false;
+        tuple.axis_tuples = regions.arrayZ[region_index];
+
+        tuple_vars.push (std::move (tuple));
+      }
+      return !tuple_vars.in_error ();
+    }
+
+    private:
+    static int _cmp_axis_tag (const void *pa, const void *pb)
+    {
+      const hb_tag_t *a = (const hb_tag_t*) pa;
+      const hb_tag_t *b = (const hb_tag_t*) pb;
+      return (int)(*a) - (int)(*b);
+    }
+
+    bool change_tuple_variations_axis_limits (const hb_hashmap_t& normalized_axes_location,
+                                              const hb_hashmap_t& axes_triple_distances)
+    {
+      /* sort axis_tag/axis_limits, make result deterministic */
+      hb_vector_t axis_tags;
+      if (!axis_tags.alloc (normalized_axes_location.get_population ()))
+        return false;
+      for (auto t : normalized_axes_location.keys ())
+        axis_tags.push (t);
+
+      axis_tags.qsort (_cmp_axis_tag);
+      for (auto axis_tag : axis_tags)
+      {
+        Triple *axis_limit;
+        if (!normalized_axes_location.has (axis_tag, &axis_limit))
+          return false;
+        TripleDistances axis_triple_distances{1.f, 1.f};
+        if (axes_triple_distances.has (axis_tag))
+          axis_triple_distances = axes_triple_distances.get (axis_tag);
+
+        hb_vector_t new_vars;
+        for (const tuple_delta_t& var : tuple_vars)
+        {
+          hb_vector_t out = var.change_tuple_var_axis_limit (axis_tag, *axis_limit, axis_triple_distances);
+          if (!out) continue;
+
+          unsigned new_len = new_vars.length + out.length;
+
+          if (unlikely (!new_vars.alloc (new_len, false)))
+          { fini (); return false;}
+
+          for (unsigned i = 0; i < out.length; i++)
+            new_vars.push (std::move (out[i]));
+        }
+        tuple_vars.fini ();
+        tuple_vars = std::move (new_vars);
+      }
+      return true;
+    }
+
+    /* merge tuple variations with overlapping tents */
+    void merge_tuple_variations ()
+    {
+      hb_vector_t new_vars;
+      hb_hashmap_t*, unsigned> m;
+      unsigned i = 0;
+      for (const tuple_delta_t& var : tuple_vars)
+      {
+        /* if all axes are pinned, drop the tuple variation */
+        if (var.axis_tuples.is_empty ()) continue;
+
+        unsigned *idx;
+        if (m.has (&(var.axis_tuples), &idx))
+        {
+          new_vars[*idx] += var;
+        }
+        else
+        {
+          new_vars.push (var);
+          m.set (&(var.axis_tuples), i);
+          i++;
+        }
+      }
+      tuple_vars.fini ();
+      tuple_vars = std::move (new_vars);
+    }
+
+    hb_bytes_t compile_point_set (const hb_vector_t &point_indices)
+    {
+      unsigned num_points = 0;
+      for (bool i : point_indices)
+        if (i) num_points++;
+
+      unsigned indices_length = point_indices.length;
+      /* If the points set consists of all points in the glyph, it's encoded with a
+       * single zero byte */
+      if (num_points == indices_length)
+      {
+        char *p = (char *) hb_calloc (1, sizeof (char));
+        if (unlikely (!p)) return hb_bytes_t ();
+
+        return hb_bytes_t (p, 1);
+      }
+
+      /* allocate enough memories: 2 bytes for count + 3 bytes for each point */
+      unsigned num_bytes = 2 + 3 *num_points;
+      char *p = (char *) hb_calloc (num_bytes, sizeof (char));
+      if (unlikely (!p)) return hb_bytes_t ();
+
+      unsigned pos = 0;
+      /* binary data starts with the total number of reference points */
+      if (num_points < 0x80)
+        p[pos++] = num_points;
+      else
+      {
+        p[pos++] = ((num_points >> 8) | 0x80);
+        p[pos++] = num_points & 0xFF;
+      }
+
+      const unsigned max_run_length = 0x7F;
+      unsigned i = 0;
+      unsigned last_value = 0;
+      unsigned num_encoded = 0;
+      while (i < indices_length && num_encoded < num_points)
+      {
+        unsigned run_length = 0;
+        unsigned header_pos = pos;
+        p[pos++] = 0;
+
+        bool use_byte_encoding = false;
+        bool new_run = true;
+        while (i < indices_length && num_encoded < num_points &&
+               run_length <= max_run_length)
+        {
+          // find out next referenced point index
+          while (i < indices_length && !point_indices[i])
+            i++;
+
+          if (i >= indices_length) break;
+
+          unsigned cur_value = i;
+          unsigned delta = cur_value - last_value;
+
+          if (new_run)
+          {
+            use_byte_encoding = (delta <= 0xFF);
+            new_run = false;
+          }
+
+          if (use_byte_encoding && delta > 0xFF)
+            break;
+
+          if (use_byte_encoding)
+            p[pos++] = delta;
+          else
+          {
+            p[pos++] = delta >> 8;
+            p[pos++] = delta & 0xFF;
+          }
+          i++;
+          last_value = cur_value;
+          run_length++;
+          num_encoded++;
+        }
+
+        if (use_byte_encoding)
+          p[header_pos] = run_length - 1;
+        else
+          p[header_pos] = (run_length - 1) | 0x80;
+      }
+      return hb_bytes_t (p, pos);
+    }
+
+    /* compile all point set and store byte data in a point_set->hb_bytes_t hashmap,
+     * also update point_set->count map, which will be used in finding shared
+     * point set*/
+    bool compile_all_point_sets ()
+    {
+      for (const auto& tuple: tuple_vars)
+      {
+        const hb_vector_t* points_set = &(tuple.indices);
+        if (point_data_map.has (points_set))
+        {
+          unsigned *count;
+          if (unlikely (!point_set_count_map.has (points_set, &count) ||
+                        !point_set_count_map.set (points_set, (*count) + 1)))
+            return false;
+          continue;
+        }
+
+        hb_bytes_t compiled_data = compile_point_set (*points_set);
+        if (unlikely (compiled_data == hb_bytes_t ()))
+          return false;
+
+        if (!point_data_map.set (points_set, compiled_data) ||
+            !point_set_count_map.set (points_set, 1))
+          return false;
+      }
+      return true;
+    }
+
+    /* find shared points set which saves most bytes */
+    hb_bytes_t find_shared_points ()
+    {
+      unsigned max_saved_bytes = 0;
+      hb_bytes_t res{};
+
+      for (const auto& _ : point_data_map.iter ())
+      {
+        const hb_vector_t* points_set = _.first;
+        unsigned data_length = _.second.length;
+        unsigned *count;
+        if (unlikely (!point_set_count_map.has (points_set, &count) ||
+                      *count <= 1))
+          return hb_bytes_t ();
+
+        unsigned saved_bytes = data_length * ((*count) -1);
+        if (saved_bytes > max_saved_bytes)
+        {
+          max_saved_bytes = saved_bytes;
+          res = _.second;
+        }
+      }
+      return res;
+    }
+
+    bool calc_inferred_deltas (contour_point_vector_t& contour_points)
+    {
+      for (tuple_delta_t& var : tuple_vars)
+        if (!var.calc_inferred_deltas (contour_points))
+          return false;
+
+      return true;
+    }
+
+    public:
+    bool instantiate (const hb_hashmap_t& normalized_axes_location,
+                      const hb_hashmap_t& axes_triple_distances,
+                      contour_point_vector_t* contour_points = nullptr)
+    {
+      if (!tuple_vars) return true;
+      if (!change_tuple_variations_axis_limits (normalized_axes_location, axes_triple_distances))
+        return false;
+      /* compute inferred deltas only for gvar */
+      if (contour_points)
+        if (!calc_inferred_deltas (*contour_points))
+          return false;
+
+      merge_tuple_variations ();
+      return !tuple_vars.in_error ();
+    }
+
+    bool compile_bytes (const hb_map_t& axes_index_map,
+                        const hb_map_t& axes_old_index_tag_map,
+                        bool use_shared_points,
+                        const hb_hashmap_t*, unsigned>* shared_tuples_idx_map = nullptr)
+    {
+      // compile points set and store data in hashmap
+      if (!compile_all_point_sets ())
+        return false;
+
+      if (use_shared_points)
+      {
+        shared_points_bytes = find_shared_points ();
+        compiled_byte_size += shared_points_bytes.length;
+      }
+      // compile delta and tuple var header for each tuple variation
+      for (auto& tuple: tuple_vars)
+      {
+        const hb_vector_t* points_set = &(tuple.indices);
+        hb_bytes_t *points_data;
+        if (unlikely (!point_data_map.has (points_set, &points_data)))
+          return false;
+
+        if (!tuple.compile_deltas ())
+          return false;
+
+        unsigned points_data_length = (*points_data != shared_points_bytes) ? points_data->length : 0;
+        if (!tuple.compile_tuple_var_header (axes_index_map, points_data_length, axes_old_index_tag_map,
+                                             shared_tuples_idx_map))
+          return false;
+        compiled_byte_size += tuple.compiled_tuple_header.length + points_data_length + tuple.compiled_deltas.length;
+      }
+      return true;
+    }
+
+    bool serialize_var_headers (hb_serialize_context_t *c, unsigned& total_header_len) const
+    {
+      TRACE_SERIALIZE (this);
+      for (const auto& tuple: tuple_vars)
+      {
+        tuple.compiled_tuple_header.as_array ().copy (c);
+        if (c->in_error ()) return_trace (false);
+        total_header_len += tuple.compiled_tuple_header.length;
+      }
+      return_trace (true);
+    }
+
+    bool serialize_var_data (hb_serialize_context_t *c, bool is_gvar) const
+    {
+      TRACE_SERIALIZE (this);
+      if (is_gvar)
+        shared_points_bytes.copy (c);
+
+      for (const auto& tuple: tuple_vars)
+      {
+        const hb_vector_t* points_set = &(tuple.indices);
+        hb_bytes_t *point_data;
+        if (!point_data_map.has (points_set, &point_data))
+          return_trace (false);
+
+        if (!is_gvar || *point_data != shared_points_bytes)
+          point_data->copy (c);
+
+        tuple.compiled_deltas.as_array ().copy (c);
+        if (c->in_error ()) return_trace (false);
+      }
+
+      /* padding for gvar */
+      if (is_gvar && (compiled_byte_size % 2))
+      {
+        HBUINT8 pad;
+        pad = 0;
+        if (!c->embed (pad)) return_trace (false);
+      }
+      return_trace (true);
+    }
+  };
+
   struct tuple_iterator_t
   {
+    unsigned get_axis_count () const { return axis_count; }
+
     void init (hb_bytes_t var_data_bytes_, unsigned int axis_count_, const void *table_base_)
     {
       var_data_bytes = var_data_bytes_;
@@ -516,13 +1657,6 @@
                              hb_vector_t &deltas /* IN/OUT */,
                              const HBUINT8 *end)
   {
-    enum packed_delta_flag_t
-    {
-      DELTAS_ARE_ZERO      = 0x80,
-      DELTAS_ARE_WORDS     = 0x40,
-      DELTA_RUN_COUNT_MASK = 0x3F
-    };
-
     unsigned i = 0;
     unsigned count = deltas.length;
     while (i < count)
@@ -560,11 +1694,55 @@
 
   bool has_data () const { return tupleVarCount; }
 
+  bool decompile_tuple_variations (unsigned point_count,
+                                   bool is_gvar,
+                                   tuple_iterator_t iterator,
+                                   const hb_map_t *axes_old_index_tag_map,
+                                   const hb_vector_t &shared_indices,
+                                   const hb_array_t shared_tuples,
+                                   tuple_variations_t& tuple_variations /* OUT */) const
+  {
+    return tuple_variations.create_from_tuple_var_data (iterator, tupleVarCount,
+                                                        point_count, is_gvar,
+                                                        axes_old_index_tag_map,
+                                                        shared_indices,
+                                                        shared_tuples);
+  }
+
+  bool serialize (hb_serialize_context_t *c,
+                  bool is_gvar,
+                  const tuple_variations_t& tuple_variations) const
+  {
+    TRACE_SERIALIZE (this);
+    /* empty tuple variations, just return and skip serialization. */
+    if (!tuple_variations) return_trace (true);
+
+    auto *out = c->start_embed (this);
+    if (unlikely (!c->extend_min (out))) return_trace (false);
+
+    if (!c->check_assign (out->tupleVarCount, tuple_variations.get_var_count (),
+                          HB_SERIALIZE_ERROR_INT_OVERFLOW)) return_trace (false);
+
+    unsigned total_header_len = 0;
+
+    if (!tuple_variations.serialize_var_headers (c, total_header_len))
+      return_trace (false);
+
+    unsigned data_offset = min_size + total_header_len;
+    if (!is_gvar) data_offset += 4;
+    if (!c->check_assign (out->data, data_offset, HB_SERIALIZE_ERROR_INT_OVERFLOW)) return_trace (false);
+
+    return tuple_variations.serialize_var_data (c, is_gvar);
+  }
+
   protected:
   struct TupleVarCount : HBUINT16
   {
+    friend struct tuple_variations_t;
     bool has_shared_point_numbers () const { return ((*this) & SharedPointNumbers); }
     unsigned int get_count () const { return (*this) & CountMask; }
+    TupleVarCount& operator = (uint16_t i) { HBUINT16::operator= (i); return *this; }
+    explicit operator bool () const { return get_count (); }
 
     protected:
     enum Flags
@@ -588,6 +1766,463 @@
   DEFINE_SIZE_MIN (4);
 };
 
+using tuple_variations_t = TupleVariationData::tuple_variations_t;
+struct item_variations_t
+{
+  using region_t = const hb_hashmap_t*;
+  private:
+  /* each subtable is decompiled into a tuple_variations_t, in which all tuples
+   * have the same num of deltas (rows) */
+  hb_vector_t vars;
+
+  /* original region list, decompiled from item varstore, used when rebuilding
+   * region list after instantiation */
+  hb_vector_t> orig_region_list;
+
+  /* region list: vector of Regions, maintain the original order for the regions
+   * that existed before instantiate (), append the new regions at the end.
+   * Regions are stored in each tuple already, save pointers only.
+   * When converting back to item varstore, unused regions will be pruned */
+  hb_vector_t region_list;
+
+  /* region -> idx map after instantiation and pruning unused regions */
+  hb_hashmap_t region_map;
+
+  /* all delta rows after instantiation */
+  hb_vector_t> delta_rows;
+  /* final optimized vector of encoding objects used to assemble the varstore */
+  hb_vector_t encodings;
+
+  /* old varidxes -> new var_idxes map */
+  hb_map_t varidx_map;
+
+  /* has long words */
+  bool has_long = false;
+
+  public:
+  bool has_long_word () const
+  { return has_long; }
+
+  const hb_vector_t& get_region_list () const
+  { return region_list; }
+
+  const hb_vector_t& get_vardata_encodings () const
+  { return encodings; }
+
+  const hb_map_t& get_varidx_map () const
+  { return varidx_map; }
+
+  bool instantiate (const VariationStore& varStore,
+                    const hb_subset_plan_t *plan,
+                    bool optimize=true,
+                    bool use_no_variation_idx=true,
+                    const hb_array_t  inner_maps = hb_array_t ())
+  {
+    if (!create_from_item_varstore (varStore, plan->axes_old_index_tag_map, inner_maps))
+      return false;
+    if (!instantiate_tuple_vars (plan->axes_location, plan->axes_triple_distances))
+      return false;
+    return as_item_varstore (optimize, use_no_variation_idx);
+  }
+
+  /* keep below APIs public only for unit test: test-item-varstore */
+  bool create_from_item_varstore (const VariationStore& varStore,
+                                  const hb_map_t& axes_old_index_tag_map,
+                                  const hb_array_t  inner_maps = hb_array_t ())
+  {
+    const VarRegionList& regionList = varStore.get_region_list ();
+    if (!regionList.get_var_regions (axes_old_index_tag_map, orig_region_list))
+      return false;
+
+    unsigned num_var_data = varStore.get_sub_table_count ();
+    if (inner_maps && inner_maps.length != num_var_data) return false;
+    if (!vars.alloc (num_var_data)) return false;
+
+    for (unsigned i = 0; i < num_var_data; i++)
+    {
+      if (inner_maps && !inner_maps.arrayZ[i].get_population ())
+          continue;
+      tuple_variations_t var_data_tuples;
+      if (!var_data_tuples.create_from_item_var_data (varStore.get_sub_table (i),
+                                                      orig_region_list,
+                                                      axes_old_index_tag_map,
+                                                      inner_maps ? &(inner_maps.arrayZ[i]) : nullptr))
+        return false;
+
+      vars.push (std::move (var_data_tuples));
+    }
+    return !vars.in_error ();
+  }
+
+  bool instantiate_tuple_vars (const hb_hashmap_t& normalized_axes_location,
+                               const hb_hashmap_t& axes_triple_distances)
+  {
+    for (tuple_variations_t& tuple_vars : vars)
+      if (!tuple_vars.instantiate (normalized_axes_location, axes_triple_distances))
+        return false;
+
+    if (!build_region_list ()) return false;
+    return true;
+  }
+
+  bool build_region_list ()
+  {
+    /* scan all tuples and collect all unique regions, prune unused regions */
+    hb_hashmap_t all_regions;
+    hb_hashmap_t used_regions;
+
+    /* use a vector when inserting new regions, make result deterministic */
+    hb_vector_t all_unique_regions;
+    for (const tuple_variations_t& sub_table : vars)
+    {
+      for (const tuple_delta_t& tuple : sub_table.tuple_vars)
+      {
+        region_t r = &(tuple.axis_tuples);
+        if (!used_regions.has (r))
+        {
+          bool all_zeros = true;
+          for (float d : tuple.deltas_x)
+          {
+            int delta = (int) roundf (d);
+            if (delta != 0)
+            {
+              all_zeros = false;
+              break;
+            }
+          }
+          if (!all_zeros)
+          {
+            if (!used_regions.set (r, 1))
+              return false;
+          }
+        }
+        if (all_regions.has (r))
+          continue;
+        if (!all_regions.set (r, 1))
+          return false;
+        all_unique_regions.push (r);
+      }
+    }
+
+    if (!all_regions || !all_unique_regions) return false;
+    if (!region_list.alloc (all_regions.get_population ()))
+      return false;
+
+    unsigned idx = 0;
+    /* append the original regions that pre-existed */
+    for (const auto& r : orig_region_list)
+    {
+      if (!all_regions.has (&r) || !used_regions.has (&r))
+        continue;
+
+      region_list.push (&r);
+      if (!region_map.set (&r, idx))
+        return false;
+      all_regions.del (&r);
+      idx++;
+    }
+
+    /* append the new regions at the end */
+    for (const auto& r: all_unique_regions)
+    {
+      if (!all_regions.has (r) || !used_regions.has (r))
+        continue;
+      region_list.push (r);
+      if (!region_map.set (r, idx))
+        return false;
+      all_regions.del (r);
+      idx++;
+    }
+    return (!region_list.in_error ()) && (!region_map.in_error ());
+  }
+
+  /* main algorithm ported from fonttools VarStore_optimize() method, optimize
+   * varstore by default */
+
+  struct combined_gain_idx_tuple_t
+  {
+    int gain;
+    unsigned idx_1;
+    unsigned idx_2;
+
+    combined_gain_idx_tuple_t () = default;
+    combined_gain_idx_tuple_t (int gain_, unsigned i, unsigned j)
+        :gain (gain_), idx_1 (i), idx_2 (j) {}
+
+    bool operator < (const combined_gain_idx_tuple_t& o)
+    {
+      if (gain != o.gain)
+        return gain < o.gain;
+
+      if (idx_1 != o.idx_1)
+        return idx_1 < o.idx_1;
+
+      return idx_2 < o.idx_2;
+    }
+
+    bool operator <= (const combined_gain_idx_tuple_t& o)
+    {
+      if (*this < o) return true;
+      return gain == o.gain && idx_1 == o.idx_1 && idx_2 == o.idx_2;
+    }
+  };
+
+  bool as_item_varstore (bool optimize=true, bool use_no_variation_idx=true)
+  {
+    if (!region_list) return false;
+    unsigned num_cols = region_list.length;
+    /* pre-alloc a 2D vector for all sub_table's VarData rows */
+    unsigned total_rows = 0;
+    for (unsigned major = 0; major < vars.length; major++)
+    {
+      const tuple_variations_t& tuples = vars[major];
+      /* all tuples in each sub_table should have same num of deltas(num rows) */
+      total_rows += tuples.tuple_vars[0].deltas_x.length;
+    }
+
+    if (!delta_rows.resize (total_rows)) return false;
+    /* init all rows to [0]*num_cols */
+    for (unsigned i = 0; i < total_rows; i++)
+      if (!(delta_rows[i].resize (num_cols))) return false;
+
+    /* old VarIdxes -> full encoding_row mapping */
+    hb_hashmap_t*> front_mapping;
+    unsigned start_row = 0;
+    hb_vector_t encoding_objs;
+    hb_hashmap_t, unsigned> chars_idx_map;
+
+    /* delta_rows map, used for filtering out duplicate rows */
+    hb_hashmap_t*, unsigned> delta_rows_map;
+    for (unsigned major = 0; major < vars.length; major++)
+    {
+      /* deltas are stored in tuples(column based), convert them back into items
+       * (row based) delta */
+      const tuple_variations_t& tuples = vars[major];
+      unsigned num_rows = tuples.tuple_vars[0].deltas_x.length;
+      for (const tuple_delta_t& tuple: tuples.tuple_vars)
+      {
+        if (tuple.deltas_x.length != num_rows)
+          return false;
+
+        /* skip unused regions */
+        unsigned *col_idx;
+        if (!region_map.has (&(tuple.axis_tuples), &col_idx))
+          continue;
+
+        for (unsigned i = 0; i < num_rows; i++)
+        {
+          int rounded_delta = roundf (tuple.deltas_x[i]);
+          delta_rows[start_row + i][*col_idx] += rounded_delta;
+          if ((!has_long) && (rounded_delta < -65536 || rounded_delta > 65535))
+            has_long = true;
+        }
+      }
+
+      if (!optimize)
+      {
+        /* assemble a delta_row_encoding_t for this subtable, skip optimization so
+         * chars is not initialized, we only need delta rows for serialization */
+        delta_row_encoding_t obj;
+        for (unsigned r = start_row; r < start_row + num_rows; r++)
+          obj.add_row (&(delta_rows.arrayZ[r]));
+
+        encodings.push (std::move (obj));
+        start_row += num_rows;
+        continue;
+      }
+
+      for (unsigned minor = 0; minor < num_rows; minor++)
+      {
+        const hb_vector_t& row = delta_rows[start_row + minor];
+        if (use_no_variation_idx)
+        {
+          bool all_zeros = true;
+          for (int delta : row)
+          {
+            if (delta != 0)
+            {
+              all_zeros = false;
+              break;
+            }
+          }
+          if (all_zeros)
+            continue;
+        }
+
+        if (!front_mapping.set ((major<<16) + minor, &row))
+          return false;
+
+        hb_vector_t chars = delta_row_encoding_t::get_row_chars (row);
+        if (!chars) return false;
+
+        if (delta_rows_map.has (&row))
+          continue;
+
+        delta_rows_map.set (&row, 1);
+        unsigned *obj_idx;
+        if (chars_idx_map.has (chars, &obj_idx))
+        {
+          delta_row_encoding_t& obj = encoding_objs[*obj_idx];
+          if (!obj.add_row (&row))
+            return false;
+        }
+        else
+        {
+          if (!chars_idx_map.set (chars, encoding_objs.length))
+            return false;
+          delta_row_encoding_t obj (std::move (chars), &row);
+          encoding_objs.push (std::move (obj));
+        }
+      }
+
+      start_row += num_rows;
+    }
+
+    /* return directly if no optimization, maintain original VariationIndex so
+     * varidx_map would be empty */
+    if (!optimize) return !encodings.in_error ();
+
+    /* sort encoding_objs */
+    encoding_objs.qsort ();
+
+    /* main algorithm: repeatedly pick 2 best encodings to combine, and combine
+     * them */
+    hb_priority_queue_t queue;
+    unsigned num_todos = encoding_objs.length;
+    for (unsigned i = 0; i < num_todos; i++)
+    {
+      for (unsigned j = i + 1; j < num_todos; j++)
+      {
+        int combining_gain = encoding_objs.arrayZ[i].gain_from_merging (encoding_objs.arrayZ[j]);
+        if (combining_gain > 0)
+          queue.insert (combined_gain_idx_tuple_t (-combining_gain, i, j), 0);
+      }
+    }
+
+    hb_set_t removed_todo_idxes;
+    while (queue)
+    {
+      auto t = queue.pop_minimum ().first;
+      unsigned i = t.idx_1;
+      unsigned j = t.idx_2;
+
+      if (removed_todo_idxes.has (i) || removed_todo_idxes.has (j))
+        continue;
+
+      delta_row_encoding_t& encoding = encoding_objs.arrayZ[i];
+      delta_row_encoding_t& other_encoding = encoding_objs.arrayZ[j];
+
+      removed_todo_idxes.add (i);
+      removed_todo_idxes.add (j);
+
+      hb_vector_t combined_chars;
+      if (!combined_chars.alloc (encoding.chars.length))
+        return false;
+
+      for (unsigned idx = 0; idx < encoding.chars.length; idx++)
+      {
+        uint8_t v = hb_max (encoding.chars.arrayZ[idx], other_encoding.chars.arrayZ[idx]);
+        combined_chars.push (v);
+      }
+
+      delta_row_encoding_t combined_encoding_obj (std::move (combined_chars));
+      for (const auto& row : hb_concat (encoding.items, other_encoding.items))
+        combined_encoding_obj.add_row (row);
+
+      for (unsigned idx = 0; idx < encoding_objs.length; idx++)
+      {
+        if (removed_todo_idxes.has (idx)) continue;
+
+        const delta_row_encoding_t& obj = encoding_objs.arrayZ[idx];
+        if (obj.chars == combined_chars)
+        {
+          for (const auto& row : obj.items)
+            combined_encoding_obj.add_row (row);
+
+          removed_todo_idxes.add (idx);
+          continue;
+        }
+
+        int combined_gain = combined_encoding_obj.gain_from_merging (obj);
+        if (combined_gain > 0)
+          queue.insert (combined_gain_idx_tuple_t (-combined_gain, idx, encoding_objs.length), 0);
+      }
+
+      encoding_objs.push (std::move (combined_encoding_obj));
+    }
+
+    int num_final_encodings = (int) encoding_objs.length - (int) removed_todo_idxes.get_population ();
+    if (num_final_encodings <= 0) return false;
+
+    if (!encodings.alloc (num_final_encodings)) return false;
+    for (unsigned i = 0; i < encoding_objs.length; i++)
+    {
+      if (removed_todo_idxes.has (i)) continue;
+      encodings.push (std::move (encoding_objs.arrayZ[i]));
+    }
+
+    /* sort again based on width, make result deterministic */
+    encodings.qsort (delta_row_encoding_t::cmp_width);
+
+    return compile_varidx_map (front_mapping);
+  }
+
+  private:
+  /* compile varidx_map for one VarData subtable (index specified by major) */
+  bool compile_varidx_map (const hb_hashmap_t*>& front_mapping)
+  {
+    /* full encoding_row -> new VarIdxes mapping */
+    hb_hashmap_t*, unsigned> back_mapping;
+
+    for (unsigned major = 0; major < encodings.length; major++)
+    {
+      delta_row_encoding_t& encoding = encodings[major];
+      /* just sanity check, this shouldn't happen */
+      if (encoding.is_empty ())
+        return false;
+
+      unsigned num_rows = encoding.items.length;
+
+      /* sort rows, make result deterministic */
+      encoding.items.qsort (_cmp_row);
+
+      /* compile old to new var_idxes mapping */
+      for (unsigned minor = 0; minor < num_rows; minor++)
+      {
+        unsigned new_varidx = (major << 16) + minor;
+        back_mapping.set (encoding.items.arrayZ[minor], new_varidx);
+      }
+    }
+
+    for (auto _ : front_mapping.iter ())
+    {
+      unsigned old_varidx = _.first;
+      unsigned *new_varidx;
+      if (back_mapping.has (_.second, &new_varidx))
+        varidx_map.set (old_varidx, *new_varidx);
+      else
+        varidx_map.set (old_varidx, HB_OT_LAYOUT_NO_VARIATIONS_INDEX);
+    }
+    return !varidx_map.in_error ();
+  }
+
+  static int _cmp_row (const void *pa, const void *pb)
+  {
+    /* compare pointers of vectors(const hb_vector_t*) that represent a row */
+    const hb_vector_t** a = (const hb_vector_t**) pa;
+    const hb_vector_t** b = (const hb_vector_t**) pb;
+
+    for (unsigned i = 0; i < (*b)->length; i++)
+    {
+      int va = (*a)->arrayZ[i];
+      int vb = (*b)->arrayZ[i];
+      if (va != vb)
+        return va < vb ? -1 : 1;
+    }
+    return 0;
+  }
+};
+
 } /* namespace OT */
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-cvar-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-cvar-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-cvar-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-cvar-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -27,6 +27,7 @@
 #define HB_OT_VAR_CVAR_TABLE_HH
 
 #include "hb-ot-var-common.hh"
+#include "hb-ot-var-fvar-table.hh"
 
 
 namespace OT {
@@ -51,6 +52,27 @@
   const TupleVariationData* get_tuple_var_data (void) const
   { return &tupleVariationData; }
 
+  bool decompile_tuple_variations (unsigned axis_count,
+                                   unsigned point_count,
+                                   hb_blob_t *blob,
+                                   bool is_gvar,
+                                   const hb_map_t *axes_old_index_tag_map,
+                                   TupleVariationData::tuple_variations_t& tuple_variations /* OUT */) const
+  {
+    hb_vector_t shared_indices;
+    TupleVariationData::tuple_iterator_t iterator;
+    hb_bytes_t var_data_bytes = blob->as_bytes ().sub_array (4);
+    if (!TupleVariationData::get_tuple_iterator (var_data_bytes, axis_count, this,
+                                                 shared_indices, &iterator))
+      return false;
+
+    return tupleVariationData.decompile_tuple_variations (point_count, is_gvar, iterator,
+                                                          axes_old_index_tag_map,
+                                                          shared_indices,
+                                                          hb_array (),
+                                                          tuple_variations);
+  }
+
   static bool calculate_cvt_deltas (unsigned axis_count,
                                     hb_array_t coords,
                                     unsigned num_cvt_item,
@@ -105,6 +127,46 @@
     return true;
   }
 
+  bool serialize (hb_serialize_context_t *c,
+                  TupleVariationData::tuple_variations_t& tuple_variations) const
+  {
+    TRACE_SERIALIZE (this);
+    if (!tuple_variations) return_trace (false);
+    if (unlikely (!c->embed (version))) return_trace (false);
+
+    return_trace (tupleVariationData.serialize (c, false, tuple_variations));
+  }
+
+  bool subset (hb_subset_context_t *c) const
+  {
+    TRACE_SUBSET (this);
+    if (c->plan->all_axes_pinned)
+      return_trace (false);
+
+    OT::TupleVariationData::tuple_variations_t tuple_variations;
+    unsigned axis_count = c->plan->axes_old_index_tag_map.get_population ();
+
+    const hb_tag_t cvt = HB_TAG('c','v','t',' ');
+    hb_blob_t *cvt_blob = hb_face_reference_table (c->plan->source, cvt);
+    unsigned point_count = hb_blob_get_length (cvt_blob) / FWORD::static_size;
+    hb_blob_destroy (cvt_blob);
+
+    if (!decompile_tuple_variations (axis_count, point_count,
+                                     c->source_blob, false,
+                                     &(c->plan->axes_old_index_tag_map),
+                                     tuple_variations))
+      return_trace (false);
+
+    if (!tuple_variations.instantiate (c->plan->axes_location, c->plan->axes_triple_distances))
+      return_trace (false);
+
+    if (!tuple_variations.compile_bytes (c->plan->axes_index_map, c->plan->axes_old_index_tag_map,
+                                         false /* do not use shared points */))
+      return_trace (false);
+
+    return_trace (serialize (c->serializer, tuple_variations));
+  }
+
   static bool add_cvt_and_apply_deltas (hb_subset_plan_t *plan,
                                         const TupleVariationData *tuple_var_data,
                                         const void *base)
@@ -126,7 +188,6 @@
       hb_blob_destroy (cvt_prime_blob);
       return false;
     }
-    hb_memset (cvt_deltas.arrayZ, 0, cvt_deltas.get_size ());
 
     if (!calculate_cvt_deltas (plan->normalized_coords.length, plan->normalized_coords.as_array (),
                                num_cvt_item, tuple_var_data, base, cvt_deltas))
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -39,6 +39,24 @@
 
 namespace OT {
 
+static bool axis_coord_pinned_or_within_axis_range (const hb_array_t coords,
+                                                    unsigned axis_index,
+                                                    Triple axis_limit)
+{
+  float axis_coord = coords[axis_index].to_float ();
+  if (axis_limit.is_point ())
+  {
+    if (axis_limit.minimum != axis_coord)
+      return false;
+  }
+  else
+  {
+    if (axis_coord < axis_limit.minimum ||
+        axis_coord > axis_limit.maximum)
+      return false;
+  }
+  return true;
+}
 
 struct InstanceRecord
 {
@@ -47,6 +65,27 @@
   hb_array_t get_coordinates (unsigned int axis_count) const
   { return coordinatesZ.as_array (axis_count); }
 
+  bool keep_instance (unsigned axis_count,
+                      const hb_map_t *axes_index_tag_map,
+                      const hb_hashmap_t *axes_location) const
+  {
+    if (axes_location->is_empty ()) return true;
+    const hb_array_t coords = get_coordinates (axis_count);
+    for (unsigned i = 0 ; i < axis_count; i++)
+    {
+      uint32_t *axis_tag;
+      if (!axes_index_tag_map->has (i, &axis_tag))
+        return false;
+      if (!axes_location->has (*axis_tag))
+        continue;
+
+      Triple axis_limit = axes_location->get (*axis_tag);
+      if (!axis_coord_pinned_or_within_axis_range (coords, i, axis_limit))
+        return false;
+    }
+    return true;
+  }
+
   bool subset (hb_subset_context_t *c,
                unsigned axis_count,
                bool has_postscript_nameid) const
@@ -56,19 +95,22 @@
     if (unlikely (!c->serializer->embed (flags))) return_trace (false);
 
     const hb_array_t coords = get_coordinates (axis_count);
-    const hb_hashmap_t *axes_location = &c->plan->user_axes_location;
+    const hb_hashmap_t *axes_location = &c->plan->user_axes_location;
     for (unsigned i = 0 ; i < axis_count; i++)
     {
       uint32_t *axis_tag;
+      Triple *axis_limit;
       // only keep instances whose coordinates == pinned axis location
-      if (!c->plan->axes_old_index_tag_map.has (i, &axis_tag)) continue;
-
-      if (axes_location->has (*axis_tag) &&
-          fabsf (axes_location->get (*axis_tag) - coords[i].to_float ()) > 0.001f)
-        return_trace (false);
+      if (!c->plan->axes_old_index_tag_map.has (i, &axis_tag)) return_trace (false);
+      if (axes_location->has (*axis_tag, &axis_limit))
+      {
+        if (!axis_coord_pinned_or_within_axis_range (coords, i, *axis_limit))
+          return_trace (false);
 
-      if (!c->plan->axes_index_map.has (i))
-        continue;
+        //skip pinned axis
+        if (axis_limit->is_point ())
+          continue;
+      }
 
       if (!c->serializer->embed (coords[i]))
         return_trace (false);
@@ -186,6 +228,30 @@
     return defaultValue.to_float ();
   }
 
+  TripleDistances get_triple_distances () const
+  {
+    float min, default_, max;
+    get_coordinates (min, default_, max);
+    return TripleDistances (min, default_, max);
+  }
+
+  bool subset (hb_subset_context_t *c) const
+  {
+    TRACE_SUBSET (this);
+    auto *out = c->serializer->embed (this);
+    if (unlikely (!out)) return_trace (false);
+
+    const hb_hashmap_t& user_axes_location = c->plan->user_axes_location;
+    Triple *axis_limit;
+    if (user_axes_location.has (axisTag, &axis_limit))
+    {
+      out->minValue.set_float (axis_limit->minimum);
+      out->defaultValue.set_float (axis_limit->middle);
+      out->maxValue.set_float (axis_limit->maximum);
+    }
+    return_trace (true);
+  }
+
   public:
   Tag           axisTag;        /* Tag identifying the design variation for the axis. */
   protected:
@@ -216,7 +282,8 @@
                   axisSize == 20 && /* Assumed in our code. */
                   instanceSize >= axisCount * 4 + 4 &&
                   get_axes ().sanitize (c) &&
-                  c->check_range (get_instance (0), instanceCount, instanceSize));
+                  c->check_range (&StructAfter (get_axes ()),
+                                  instanceCount, instanceSize));
   }
 
   unsigned int get_axis_count () const { return axisCount; }
@@ -314,21 +381,19 @@
     return axisCount;
   }
 
-  void collect_name_ids (hb_hashmap_t *user_axes_location,
+  void collect_name_ids (hb_hashmap_t *user_axes_location,
+                         hb_map_t *axes_old_index_tag_map,
                          hb_set_t *nameids  /* IN/OUT */) const
   {
     if (!has_data ()) return;
-    hb_map_t pinned_axes;
 
     auto axis_records = get_axes ();
     for (unsigned i = 0 ; i < (unsigned)axisCount; i++)
     {
       hb_tag_t axis_tag = axis_records[i].get_axis_tag ();
-      if (user_axes_location->has (axis_tag))
-      {
-        pinned_axes.set (i, axis_tag);
+      if (user_axes_location->has (axis_tag) &&
+          user_axes_location->get (axis_tag).is_point ())
         continue;
-      }
 
       nameids->add (axis_records[i].get_name_id ());
     }
@@ -337,16 +402,7 @@
     {
       const InstanceRecord *instance = get_instance (i);
 
-      if (hb_any (+ hb_enumerate (instance->get_coordinates (axisCount))
-                  | hb_filter (pinned_axes, hb_first)
-                  | hb_map ([&] (const hb_pair_t& _)
-                            {
-                              hb_tag_t axis_tag = pinned_axes.get (_.first);
-                              float location = user_axes_location->get (axis_tag);
-                              if (fabs ((double)location - (double)_.second.to_float ()) > 0.001) return true;
-                              return false;
-                            })
-                  ))
+      if (!instance->keep_instance (axisCount, axes_old_index_tag_map, user_axes_location))
         continue;
 
       nameids->add (instance->subfamilyNameID);
@@ -384,21 +440,25 @@
     for (unsigned i = 0 ; i < (unsigned)axisCount; i++)
     {
       if (!c->plan->axes_index_map.has (i)) continue;
-      if (unlikely (!c->serializer->embed (axes_records[i])))
+      if (unlikely (!axes_records[i].subset (c)))
         return_trace (false);
     }
 
     if (!c->serializer->check_assign (out->firstAxis, get_size (), HB_SERIALIZE_ERROR_INT_OVERFLOW))
       return_trace (false);
 
+    unsigned num_retained_instances = 0;
     for (unsigned i = 0 ; i < (unsigned)instanceCount; i++)
     {
       const InstanceRecord *instance = get_instance (i);
       auto snap = c->serializer->snapshot ();
       if (!instance->subset (c, axisCount, has_postscript_nameid))
         c->serializer->revert (snap);
+      else
+        num_retained_instances++;
     }
-    return_trace (true);
+
+    return_trace (c->serializer->check_assign (out->instanceCount, num_retained_instances, HB_SERIALIZE_ERROR_INT_OVERFLOW));
   }
 
   public:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -39,60 +39,255 @@
 
 namespace OT {
 
-struct contour_point_t
+struct GlyphVariationData : TupleVariationData
+{};
+
+struct glyph_variations_t
 {
-  void init (float x_ = 0.f, float y_ = 0.f, bool is_end_point_ = false)
-  { flag = 0; x = x_; y = y_; is_end_point = is_end_point_; }
+  using tuple_variations_t = TupleVariationData::tuple_variations_t;
+  hb_vector_t glyph_variations;
 
-  void translate (const contour_point_t &p) { x += p.x; y += p.y; }
+  hb_vector_t compiled_shared_tuples;
+  private:
+  unsigned shared_tuples_count = 0;
 
-  float x = 0.f;
-  float y = 0.f;
-  uint8_t flag = 0;
-  bool is_end_point = false;
-};
+  /* shared coords-> index map after instantiation */
+  hb_hashmap_t*, unsigned> shared_tuples_idx_map;
 
-struct contour_point_vector_t : hb_vector_t
-{
-  void extend (const hb_array_t &a)
+  public:
+  unsigned compiled_shared_tuples_count () const
+  { return shared_tuples_count; }
+
+  unsigned compiled_byte_size () const
   {
-    unsigned int old_len = length;
-    if (unlikely (!resize (old_len + a.length, false)))
-      return;
-    auto arrayZ = this->arrayZ + old_len;
-    unsigned count = a.length;
-    hb_memcpy (arrayZ, a.arrayZ, count * sizeof (arrayZ[0]));
-  }
-
-  void transform (const float (&matrix)[4])
-  {
-    if (matrix[0] == 1.f && matrix[1] == 0.f &&
-        matrix[2] == 0.f && matrix[3] == 1.f)
-      return;
-    auto arrayZ = this->arrayZ;
-    unsigned count = length;
-    for (unsigned i = 0; i < count; i++)
+    unsigned byte_size = 0;
+    for (const auto& _ : glyph_variations)
+      byte_size += _.get_compiled_byte_size ();
+
+    return byte_size;
+  }
+
+  bool create_from_glyphs_var_data (unsigned axis_count,
+                                    const hb_array_t shared_tuples,
+                                    const hb_subset_plan_t *plan,
+                                    const hb_hashmap_t& new_gid_var_data_map)
+  {
+    if (unlikely (!glyph_variations.alloc (plan->new_to_old_gid_list.length, true)))
+      return false;
+
+    auto it = hb_iter (plan->new_to_old_gid_list);
+    for (auto &_ : it)
     {
-      contour_point_t &p = arrayZ[i];
-      float x_ = p.x * matrix[0] + p.y * matrix[2];
-           p.y = p.x * matrix[1] + p.y * matrix[3];
-      p.x = x_;
+      hb_codepoint_t new_gid = _.first;
+      contour_point_vector_t *all_contour_points;
+      if (!new_gid_var_data_map.has (new_gid) ||
+          !plan->new_gid_contour_points_map.has (new_gid, &all_contour_points))
+        return false;
+      hb_bytes_t var_data = new_gid_var_data_map.get (new_gid);
+
+      const GlyphVariationData* p = reinterpret_cast (var_data.arrayZ);
+      hb_vector_t shared_indices;
+      GlyphVariationData::tuple_iterator_t iterator;
+      tuple_variations_t tuple_vars;
+
+      /* in case variation data is empty, push an empty struct into the vector,
+       * keep the vector in sync with the new_to_old_gid_list */
+      if (!var_data || ! p->has_data () || !all_contour_points->length ||
+          !GlyphVariationData::get_tuple_iterator (var_data, axis_count,
+                                                   var_data.arrayZ,
+                                                   shared_indices, &iterator))
+      {
+        glyph_variations.push (std::move (tuple_vars));
+        continue;
+      }
+
+      if (!p->decompile_tuple_variations (all_contour_points->length, true /* is_gvar */,
+                                          iterator, &(plan->axes_old_index_tag_map),
+                                          shared_indices, shared_tuples,
+                                          tuple_vars /* OUT */))
+        return false;
+      glyph_variations.push (std::move (tuple_vars));
     }
+    return !glyph_variations.in_error () && glyph_variations.length == plan->new_to_old_gid_list.length;
   }
 
-  void translate (const contour_point_t& delta)
+  bool instantiate (const hb_subset_plan_t *plan)
   {
-    if (delta.x == 0.f && delta.y == 0.f)
-      return;
-    auto arrayZ = this->arrayZ;
-    unsigned count = length;
+    unsigned count = plan->new_to_old_gid_list.length;
     for (unsigned i = 0; i < count; i++)
-      arrayZ[i].translate (delta);
+    {
+      hb_codepoint_t new_gid = plan->new_to_old_gid_list[i].first;
+      contour_point_vector_t *all_points;
+      if (!plan->new_gid_contour_points_map.has (new_gid, &all_points))
+        return false;
+      if (!glyph_variations[i].instantiate (plan->axes_location, plan->axes_triple_distances, all_points))
+        return false;
+    }
+    return true;
   }
-};
 
-struct GlyphVariationData : TupleVariationData
-{};
+  bool compile_bytes (const hb_map_t& axes_index_map,
+                      const hb_map_t& axes_old_index_tag_map)
+  {
+    if (!compile_shared_tuples (axes_index_map, axes_old_index_tag_map))
+      return false;
+    for (tuple_variations_t& vars: glyph_variations)
+      if (!vars.compile_bytes (axes_index_map, axes_old_index_tag_map,
+                               true, /* use shared points*/
+                               &shared_tuples_idx_map))
+        return false;
+
+    return true;
+  }
+
+  bool compile_shared_tuples (const hb_map_t& axes_index_map,
+                              const hb_map_t& axes_old_index_tag_map)
+  {
+    /* key is pointer to compiled_peak_coords inside each tuple, hashing
+     * function will always deref pointers first */
+    hb_hashmap_t*, unsigned> coords_count_map;
+
+    /* count the num of shared coords */
+    for (tuple_variations_t& vars: glyph_variations)
+    {
+      for (tuple_delta_t& var : vars.tuple_vars)
+      {
+        if (!var.compile_peak_coords (axes_index_map, axes_old_index_tag_map))
+          return false;
+        unsigned* count;
+        if (coords_count_map.has (&(var.compiled_peak_coords), &count))
+          coords_count_map.set (&(var.compiled_peak_coords), *count + 1);
+        else
+          coords_count_map.set (&(var.compiled_peak_coords), 1);
+      }
+    }
+
+    if (!coords_count_map || coords_count_map.in_error ())
+      return false;
+
+    /* add only those coords that are used more than once into the vector and sort */
+    hb_vector_t*> shared_coords;
+    if (unlikely (!shared_coords.alloc (coords_count_map.get_population ())))
+      return false;
+
+    for (const auto _ : coords_count_map.iter ())
+    {
+      if (_.second == 1) continue;
+      shared_coords.push (_.first);
+    }
+
+    /* no shared tuples: no coords are used more than once */
+    if (!shared_coords) return true;
+    /* sorting based on the coords frequency first (high to low), then compare
+     * the coords bytes */
+    hb_qsort (shared_coords.arrayZ, shared_coords.length, sizeof (hb_vector_t*), _cmp_coords, (void *) (&coords_count_map));
+
+    /* build shared_coords->idx map and shared tuples byte array */
+
+    shared_tuples_count = hb_min (0xFFFu + 1, shared_coords.length);
+    unsigned len = shared_tuples_count * (shared_coords[0]->length);
+    if (unlikely (!compiled_shared_tuples.alloc (len)))
+      return false;
+
+    for (unsigned i = 0; i < shared_tuples_count; i++)
+    {
+      shared_tuples_idx_map.set (shared_coords[i], i);
+      /* add a concat() in hb_vector_t? */
+      for (char c : shared_coords[i]->iter ())
+        compiled_shared_tuples.push (c);
+    }
+
+    return true;
+  }
+
+  static int _cmp_coords (const void *pa, const void *pb, void *arg)
+  {
+    const hb_hashmap_t*, unsigned>* coords_count_map =
+        reinterpret_cast*, unsigned>*> (arg);
+
+    /* shared_coords is hb_vector_t*> so casting pa/pb
+     * to be a pointer to a pointer */
+    const hb_vector_t** a = reinterpret_cast**> (const_cast(pa));
+    const hb_vector_t** b = reinterpret_cast**> (const_cast(pb));
+
+    bool has_a = coords_count_map->has (*a);
+    bool has_b = coords_count_map->has (*b);
+
+    if (has_a && has_b)
+    {
+      unsigned a_num = coords_count_map->get (*a);
+      unsigned b_num = coords_count_map->get (*b);
+
+      if (a_num != b_num)
+        return b_num - a_num;
+
+      return (*b)->as_array().cmp ((*a)->as_array ());
+    }
+    else if (has_a) return -1;
+    else if (has_b) return 1;
+    else return 0;
+  }
+
+  template
+  bool serialize_glyph_var_data (hb_serialize_context_t *c,
+                                 Iterator it,
+                                 bool long_offset,
+                                 unsigned num_glyphs,
+                                 char* glyph_var_data_offsets /* OUT: glyph var data offsets array */) const
+  {
+    TRACE_SERIALIZE (this);
+
+    if (long_offset)
+    {
+      ((HBUINT32 *) glyph_var_data_offsets)[0] = 0;
+      glyph_var_data_offsets += 4;
+    }
+    else
+    {
+      ((HBUINT16 *) glyph_var_data_offsets)[0] = 0;
+      glyph_var_data_offsets += 2;
+    }
+    unsigned glyph_offset = 0;
+    hb_codepoint_t last_gid = 0;
+    unsigned idx = 0;
+
+    TupleVariationData* cur_glyph = c->start_embed ();
+    if (!cur_glyph) return_trace (false);
+    for (auto &_ : it)
+    {
+      hb_codepoint_t gid = _.first;
+      if (long_offset)
+        for (; last_gid < gid; last_gid++)
+          ((HBUINT32 *) glyph_var_data_offsets)[last_gid] = glyph_offset;
+      else
+        for (; last_gid < gid; last_gid++)
+          ((HBUINT16 *) glyph_var_data_offsets)[last_gid] = glyph_offset / 2;
+
+      if (idx >= glyph_variations.length) return_trace (false);
+      if (!cur_glyph->serialize (c, true, glyph_variations[idx])) return_trace (false);
+      TupleVariationData* next_glyph = c->start_embed ();
+      glyph_offset += (char *) next_glyph - (char *) cur_glyph;
+
+      if (long_offset)
+        ((HBUINT32 *) glyph_var_data_offsets)[gid] = glyph_offset;
+      else
+        ((HBUINT16 *) glyph_var_data_offsets)[gid] = glyph_offset / 2;
+
+      last_gid++;
+      idx++;
+      cur_glyph = next_glyph;
+    }
+
+    if (long_offset)
+      for (; last_gid < num_glyphs; last_gid++)
+        ((HBUINT32 *) glyph_var_data_offsets)[last_gid] = glyph_offset;
+    else
+      for (; last_gid < num_glyphs; last_gid++)
+        ((HBUINT16 *) glyph_var_data_offsets)[last_gid] = glyph_offset / 2;
+    return_trace (true);
+  }
+};
 
 struct gvar
 {
@@ -112,9 +307,101 @@
   bool sanitize (hb_sanitize_context_t *c) const
   { return sanitize_shallow (c); }
 
+  bool decompile_glyph_variations (hb_subset_context_t *c,
+                                   glyph_variations_t& glyph_vars /* OUT */) const
+  {
+    hb_hashmap_t new_gid_var_data_map;
+    auto it = hb_iter (c->plan->new_to_old_gid_list);
+    if (it->first == 0 && !(c->plan->flags & HB_SUBSET_FLAGS_NOTDEF_OUTLINE))
+    {
+      new_gid_var_data_map.set (0, hb_bytes_t ());
+      it++;
+    }
+
+    for (auto &_ : it)
+    {
+      hb_codepoint_t new_gid = _.first;
+      hb_codepoint_t old_gid = _.second;
+      hb_bytes_t var_data_bytes = get_glyph_var_data_bytes (c->source_blob, glyphCountX, old_gid);
+      new_gid_var_data_map.set (new_gid, var_data_bytes);
+    }
+
+    if (new_gid_var_data_map.in_error ()) return false;
+
+    hb_array_t shared_tuples = (this+sharedTuples).as_array ((unsigned) sharedTupleCount * (unsigned) axisCount);
+    return glyph_vars.create_from_glyphs_var_data (axisCount, shared_tuples, c->plan, new_gid_var_data_map);
+  }
+
+  template
+  bool serialize (hb_serialize_context_t *c,
+                  const glyph_variations_t& glyph_vars,
+                  Iterator it,
+                  unsigned axis_count,
+                  unsigned num_glyphs) const
+  {
+    TRACE_SERIALIZE (this);
+    gvar *out = c->allocate_min ();
+    if (unlikely (!out)) return_trace (false);
+
+    out->version.major = 1;
+    out->version.minor = 0;
+    out->axisCount = axis_count;
+    out->glyphCountX = hb_min (0xFFFFu, num_glyphs);
+
+    unsigned glyph_var_data_size = glyph_vars.compiled_byte_size ();
+    bool long_offset = glyph_var_data_size & ~0xFFFFu;
+    out->flags = long_offset ? 1 : 0;
+
+    HBUINT8 *glyph_var_data_offsets = c->allocate_size ((long_offset ? 4 : 2) * (num_glyphs + 1), false);
+    if (!glyph_var_data_offsets) return_trace (false);
+
+    /* shared tuples */
+    unsigned shared_tuple_count = glyph_vars.compiled_shared_tuples_count ();
+    out->sharedTupleCount = shared_tuple_count;
+
+    if (!shared_tuple_count)
+      out->sharedTuples = 0;
+    else
+    {
+      hb_array_t shared_tuples = glyph_vars.compiled_shared_tuples.as_array ().copy (c);
+      if (!shared_tuples.arrayZ) return_trace (false);
+      out->sharedTuples = shared_tuples.arrayZ - (char *) out;
+    }
+
+    char *glyph_var_data = c->start_embed ();
+    if (!glyph_var_data) return_trace (false);
+    out->dataZ = glyph_var_data - (char *) out;
+
+    return_trace (glyph_vars.serialize_glyph_var_data (c, it, long_offset, num_glyphs,
+                                                       (char *) glyph_var_data_offsets));
+  }
+
+  bool instantiate (hb_subset_context_t *c) const
+  {
+    TRACE_SUBSET (this);
+    glyph_variations_t glyph_vars;
+    if (!decompile_glyph_variations (c, glyph_vars))
+      return_trace (false);
+
+    if (!glyph_vars.instantiate (c->plan)) return_trace (false);
+    if (!glyph_vars.compile_bytes (c->plan->axes_index_map, c->plan->axes_old_index_tag_map))
+      return_trace (false);
+
+    unsigned axis_count = c->plan->axes_index_map.get_population ();
+    unsigned num_glyphs = c->plan->num_output_glyphs ();
+    auto it = hb_iter (c->plan->new_to_old_gid_list);
+    return_trace (serialize (c->serializer, glyph_vars, it, axis_count, num_glyphs));
+  }
+
   bool subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
+    if (c->plan->all_axes_pinned)
+      return_trace (false);
+
+    if (c->plan->normalized_coords)
+      return_trace (instantiate (c));
 
     unsigned glyph_count = version.to_int () ? c->plan->source->get_num_glyphs () : 0;
 
@@ -129,20 +416,20 @@
     unsigned int num_glyphs = c->plan->num_output_glyphs ();
     out->glyphCountX = hb_min (0xFFFFu, num_glyphs);
 
+    auto it = hb_iter (c->plan->new_to_old_gid_list);
+    if (it->first == 0 && !(c->plan->flags & HB_SUBSET_FLAGS_NOTDEF_OUTLINE))
+      it++;
     unsigned int subset_data_size = 0;
-    for (hb_codepoint_t gid = (c->plan->flags & HB_SUBSET_FLAGS_NOTDEF_OUTLINE) ? 0 : 1;
-         gid < num_glyphs;
-         gid++)
+    for (auto &_ : it)
     {
-      hb_codepoint_t old_gid;
-      if (!c->plan->old_gid_for_new_gid (gid, &old_gid)) continue;
+      hb_codepoint_t old_gid = _.second;
       subset_data_size += get_glyph_var_data_bytes (c->source_blob, glyph_count, old_gid).length;
     }
 
     bool long_offset = subset_data_size & ~0xFFFFu;
     out->flags = long_offset ? 1 : 0;
 
-    HBUINT8 *subset_offsets = c->serializer->allocate_size ((long_offset ? 4 : 2) * (num_glyphs + 1));
+    HBUINT8 *subset_offsets = c->serializer->allocate_size ((long_offset ? 4 : 2) * (num_glyphs + 1), false);
     if (!subset_offsets) return_trace (false);
 
     /* shared tuples */
@@ -157,36 +444,61 @@
       hb_memcpy (tuples, this+sharedTuples, shared_tuple_size);
     }
 
-    char *subset_data = c->serializer->allocate_size (subset_data_size);
+    char *subset_data = c->serializer->allocate_size (subset_data_size, false);
     if (!subset_data) return_trace (false);
     out->dataZ = subset_data - (char *) out;
 
+
+    if (long_offset)
+    {
+      ((HBUINT32 *) subset_offsets)[0] = 0;
+      subset_offsets += 4;
+    }
+    else
+    {
+      ((HBUINT16 *) subset_offsets)[0] = 0;
+      subset_offsets += 2;
+    }
     unsigned int glyph_offset = 0;
-    for (hb_codepoint_t gid = (c->plan->flags & HB_SUBSET_FLAGS_NOTDEF_OUTLINE) ? 0 : 1;
-         gid < num_glyphs;
-         gid++)
-    {
-      hb_codepoint_t old_gid;
-      hb_bytes_t var_data_bytes = c->plan->old_gid_for_new_gid (gid, &old_gid)
-                                ? get_glyph_var_data_bytes (c->source_blob,
+
+    hb_codepoint_t last = 0;
+    it = hb_iter (c->plan->new_to_old_gid_list);
+    if (it->first == 0 && !(c->plan->flags & HB_SUBSET_FLAGS_NOTDEF_OUTLINE))
+      it++;
+    for (auto &_ : it)
+    {
+      hb_codepoint_t gid = _.first;
+      hb_codepoint_t old_gid = _.second;
+
+      if (long_offset)
+        for (; last < gid; last++)
+          ((HBUINT32 *) subset_offsets)[last] = glyph_offset;
+      else
+        for (; last < gid; last++)
+          ((HBUINT16 *) subset_offsets)[last] = glyph_offset / 2;
+
+      hb_bytes_t var_data_bytes = get_glyph_var_data_bytes (c->source_blob,
                                                             glyph_count,
-                                                            old_gid)
-                                : hb_bytes_t ();
+                                                            old_gid);
+
+      hb_memcpy (subset_data, var_data_bytes.arrayZ, var_data_bytes.length);
+      subset_data += var_data_bytes.length;
+      glyph_offset += var_data_bytes.length;
 
       if (long_offset)
         ((HBUINT32 *) subset_offsets)[gid] = glyph_offset;
       else
         ((HBUINT16 *) subset_offsets)[gid] = glyph_offset / 2;
 
-      if (var_data_bytes.length > 0)
-        hb_memcpy (subset_data, var_data_bytes.arrayZ, var_data_bytes.length);
-      subset_data += var_data_bytes.length;
-      glyph_offset += var_data_bytes.length;
+      last++; // Skip over gid
     }
+
     if (long_offset)
-      ((HBUINT32 *) subset_offsets)[num_glyphs] = glyph_offset;
+      for (; last < num_glyphs; last++)
+        ((HBUINT32 *) subset_offsets)[last] = glyph_offset;
     else
-      ((HBUINT16 *) subset_offsets)[num_glyphs] = glyph_offset / 2;
+      for (; last < num_glyphs; last++)
+        ((HBUINT16 *) subset_offsets)[last] = glyph_offset / 2;
 
     return_trace (true);
   }
@@ -235,21 +547,24 @@
       for (unsigned i = 0; i < count; i++)
       {
         hb_array_t tuple = shared_tuples.sub_array (axis_count * i, axis_count);
-        int idx = -1;
+        int idx1 = -1, idx2 = -1;
         for (unsigned j = 0; j < axis_count; j++)
         {
-          F2DOT14 peak = tuple.arrayZ[j];
+          const F2DOT14 &peak = tuple.arrayZ[j];
           if (peak.to_int () != 0)
           {
-            if (idx != -1)
+            if (idx1 == -1)
+              idx1 = j;
+            else if (idx2 == -1)
+              idx2 = j;
+            else
             {
-              idx = -1;
+              idx1 = idx2 = -1;
               break;
             }
-            idx = j;
           }
         }
-        shared_tuple_active_idx[i] = idx;
+        shared_tuple_active_idx.arrayZ[i] = {idx1, idx2};
       }
     }
     ~accelerator_t () { table.destroy (); }
@@ -285,10 +600,9 @@
     public:
     bool apply_deltas_to_points (hb_codepoint_t glyph,
                                  hb_array_t coords,
-                                 const hb_array_t points) const
+                                 const hb_array_t points,
+                                 bool phantom_only = false) const
     {
-      if (!coords) return true;
-
       if (unlikely (glyph >= glyphCount)) return true;
 
       hb_bytes_t var_data_bytes = table->get_glyph_var_data_bytes (table.get_blob (), glyphCount, glyph);
@@ -311,16 +625,17 @@
       hb_vector_t end_points; // Populated lazily
 
       unsigned num_coords = table->axisCount;
-      hb_array_t shared_tuples = (table+table->sharedTuples).as_array (table->sharedTupleCount * table->axisCount);
+      hb_array_t shared_tuples = (table+table->sharedTuples).as_array (table->sharedTupleCount * num_coords);
 
       hb_vector_t private_indices;
       hb_vector_t x_deltas;
       hb_vector_t y_deltas;
+      unsigned count = points.length;
       bool flush = false;
       do
       {
         float scalar = iterator.current_tuple->calculate_scalar (coords, num_coords, shared_tuples,
-                                                                 shared_tuple_active_idx.in_error () ? nullptr : &shared_tuple_active_idx);
+                                                                 &shared_tuple_active_idx);
         if (scalar == 0.f) continue;
         const HBUINT8 *p = iterator.get_serialized_data ();
         unsigned int length = iterator.current_tuple->get_data_size ();
@@ -329,8 +644,10 @@
 
         if (!deltas)
         {
-          if (unlikely (!deltas_vec.resize (points.length))) return false;
+          if (unlikely (!deltas_vec.resize (count, false))) return false;
           deltas = deltas_vec.as_array ();
+          hb_memset (deltas.arrayZ + (phantom_only ? count - 4 : 0), 0,
+                     (phantom_only ? 4 : count) * sizeof (deltas[0]));
         }
 
         const HBUINT8 *end = p + length;
@@ -350,7 +667,7 @@
 
         if (!apply_to_all)
         {
-          if (!orig_points)
+          if (!orig_points && !phantom_only)
           {
             orig_points_vec.extend (points);
             if (unlikely (orig_points_vec.in_error ())) return false;
@@ -359,15 +676,17 @@
 
           if (flush)
           {
-            for (unsigned int i = 0; i < points.length; i++)
+            for (unsigned int i = phantom_only ? count - 4 : 0; i < count; i++)
               points.arrayZ[i].translate (deltas.arrayZ[i]);
             flush = false;
 
           }
-          hb_memset (deltas.arrayZ, 0, deltas.get_size ());
+          hb_memset (deltas.arrayZ + (phantom_only ? count - 4 : 0), 0,
+                     (phantom_only ? 4 : count) * sizeof (deltas[0]));
         }
 
-        if (scalar != 1.0f)
+        if (HB_OPTIMIZE_SIZE_VAL)
+        {
           for (unsigned int i = 0; i < num_deltas; i++)
           {
             unsigned int pt_index;
@@ -378,34 +697,68 @@
               pt_index = indices[i];
               if (unlikely (pt_index >= deltas.length)) continue;
             }
+            if (phantom_only && pt_index < count - 4) continue;
             auto &delta = deltas.arrayZ[pt_index];
             delta.flag = 1;     /* this point is referenced, i.e., explicit deltas specified */
             delta.x += x_deltas.arrayZ[i] * scalar;
             delta.y += y_deltas.arrayZ[i] * scalar;
           }
+        }
         else
-          for (unsigned int i = 0; i < num_deltas; i++)
+        {
+          /* Ouch. Four cases... for optimization. */
+          if (scalar != 1.0f)
           {
-            unsigned int pt_index;
             if (apply_to_all)
-              pt_index = i;
+              for (unsigned int i = phantom_only ? count - 4 : 0; i < count; i++)
+              {
+                unsigned int pt_index = i;
+                auto &delta = deltas.arrayZ[pt_index];
+                delta.x += x_deltas.arrayZ[i] * scalar;
+                delta.y += y_deltas.arrayZ[i] * scalar;
+              }
             else
-            {
-              pt_index = indices[i];
-              if (unlikely (pt_index >= deltas.length)) continue;
-            }
-            auto &delta = deltas.arrayZ[pt_index];
-            delta.flag = 1;     /* this point is referenced, i.e., explicit deltas specified */
-            delta.x += x_deltas.arrayZ[i];
-            delta.y += y_deltas.arrayZ[i];
+              for (unsigned int i = 0; i < num_deltas; i++)
+              {
+                unsigned int pt_index = indices[i];
+                if (unlikely (pt_index >= deltas.length)) continue;
+                if (phantom_only && pt_index < count - 4) continue;
+                auto &delta = deltas.arrayZ[pt_index];
+                delta.flag = 1; /* this point is referenced, i.e., explicit deltas specified */
+                delta.x += x_deltas.arrayZ[i] * scalar;
+                delta.y += y_deltas.arrayZ[i] * scalar;
+              }
+          }
+          else
+          {
+            if (apply_to_all)
+              for (unsigned int i = phantom_only ? count - 4 : 0; i < count; i++)
+              {
+                unsigned int pt_index = i;
+                auto &delta = deltas.arrayZ[pt_index];
+                delta.x += x_deltas.arrayZ[i];
+                delta.y += y_deltas.arrayZ[i];
+              }
+            else
+              for (unsigned int i = 0; i < num_deltas; i++)
+              {
+                unsigned int pt_index = indices[i];
+                if (unlikely (pt_index >= deltas.length)) continue;
+                if (phantom_only && pt_index < count - 4) continue;
+                auto &delta = deltas.arrayZ[pt_index];
+                delta.flag = 1; /* this point is referenced, i.e., explicit deltas specified */
+                delta.x += x_deltas.arrayZ[i];
+                delta.y += y_deltas.arrayZ[i];
+              }
           }
+        }
 
         /* infer deltas for unreferenced points */
-        if (!apply_to_all)
+        if (!apply_to_all && !phantom_only)
         {
           if (!end_points)
           {
-            for (unsigned i = 0; i < points.length; ++i)
+            for (unsigned i = 0; i < count; ++i)
               if (points.arrayZ[i].is_end_point)
                 end_points.push (i);
             if (unlikely (end_points.in_error ())) return false;
@@ -465,8 +818,10 @@
       } while (iterator.move_to_next ());
 
       if (flush)
-        for (unsigned int i = 0; i < points.length; i++)
+      {
+        for (unsigned int i = phantom_only ? count - 4 : 0; i < count; i++)
           points.arrayZ[i].translate (deltas.arrayZ[i]);
+      }
 
       return true;
     }
@@ -476,7 +831,7 @@
     private:
     hb_blob_ptr_t table;
     unsigned glyphCount;
-    hb_vector_t shared_tuple_active_idx;
+    hb_vector_t> shared_tuple_active_idx;
   };
 
   protected:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -45,7 +45,8 @@
   void init (const DeltaSetIndexMap  &index_map,
              hb_inc_bimap_t          &outer_map,
              hb_vector_t &inner_sets,
-             const hb_subset_plan_t  *plan)
+             const hb_subset_plan_t  *plan,
+             bool bypass_empty = true)
   {
     map_count = 0;
     outer_bit_count = 0;
@@ -53,55 +54,51 @@
     max_inners.init ();
     output_map.init ();
 
-    if (&index_map == &Null (DeltaSetIndexMap)) return;
+    if (bypass_empty && !index_map.get_map_count ()) return;
 
     unsigned int        last_val = (unsigned int)-1;
-    hb_codepoint_t      last_gid = (hb_codepoint_t)-1;
-    hb_codepoint_t      gid = (hb_codepoint_t) hb_min (index_map.get_map_count (), plan->num_output_glyphs ());
+    hb_codepoint_t      last_gid = HB_CODEPOINT_INVALID;
 
     outer_bit_count = (index_map.get_width () * 8) - index_map.get_inner_bit_count ();
     max_inners.resize (inner_sets.length);
     for (unsigned i = 0; i < inner_sets.length; i++) max_inners[i] = 0;
 
     /* Search backwards for a map value different from the last map value */
-    for (; gid > 0; gid--)
+    auto &new_to_old_gid_list = plan->new_to_old_gid_list;
+    unsigned count = new_to_old_gid_list.length;
+    for (unsigned j = count; j; j--)
     {
-      hb_codepoint_t    old_gid;
-      if (!plan->old_gid_for_new_gid (gid - 1, &old_gid))
-      {
-        if (last_gid == (hb_codepoint_t) -1)
-          continue;
-        else
-          break;
-      }
+      hb_codepoint_t gid = new_to_old_gid_list.arrayZ[j - 1].first;
+      hb_codepoint_t old_gid = new_to_old_gid_list.arrayZ[j - 1].second;
 
       unsigned int v = index_map.map (old_gid);
-      if (last_gid == (hb_codepoint_t) -1)
+      if (last_gid == HB_CODEPOINT_INVALID)
       {
         last_val = v;
         last_gid = gid;
         continue;
       }
-      if (v != last_val) break;
+      if (v != last_val)
+        break;
 
       last_gid = gid;
     }
 
     if (unlikely (last_gid == (hb_codepoint_t)-1)) return;
-    map_count = last_gid;
-    for (gid = 0; gid < map_count; gid++)
+    map_count = last_gid + 1;
+    for (auto _ : plan->new_to_old_gid_list)
     {
-      hb_codepoint_t    old_gid;
-      if (plan->old_gid_for_new_gid (gid, &old_gid))
-      {
-        unsigned int v = index_map.map (old_gid);
-        unsigned int outer = v >> 16;
-        unsigned int inner = v & 0xFFFF;
-        outer_map.add (outer);
-        if (inner > max_inners[outer]) max_inners[outer] = inner;
-        if (outer >= inner_sets.length) return;
-        inner_sets[outer]->add (inner);
-      }
+      hb_codepoint_t gid = _.first;
+      if (gid >= map_count) break;
+
+      hb_codepoint_t old_gid = _.second;
+      unsigned int v = index_map.map (old_gid);
+      unsigned int outer = v >> 16;
+      unsigned int inner = v & 0xFFFF;
+      outer_map.add (outer);
+      if (inner > max_inners[outer]) max_inners[outer] = inner;
+      if (outer >= inner_sets.length) return;
+      inner_sets[outer]->add (inner);
     }
   }
 
@@ -116,8 +113,6 @@
               const hb_vector_t &inner_maps,
               const hb_subset_plan_t *plan)
   {
-    if (input_map == &Null (DeltaSetIndexMap)) return;
-
     for (unsigned int i = 0; i < max_inners.length; i++)
     {
       if (inner_maps[i].get_population () == 0) continue;
@@ -125,19 +120,48 @@
       if (bit_count > inner_bit_count) inner_bit_count = bit_count;
     }
 
-    output_map.resize (map_count);
-    for (hb_codepoint_t gid = 0; gid < output_map.length; gid++)
+    if (unlikely (!output_map.resize (map_count))) return;
+    for (const auto &_ : plan->new_to_old_gid_list)
     {
-      hb_codepoint_t    old_gid;
-      if (plan->old_gid_for_new_gid (gid, &old_gid))
-      {
-        uint32_t v = input_map->map (old_gid);
-        unsigned int outer = v >> 16;
-        output_map[gid] = (outer_map[outer] << 16) | (inner_maps[outer][v & 0xFFFF]);
-      }
-      else
-        output_map[gid] = 0;    /* Map unused glyph to outer/inner=0/0 */
+      hb_codepoint_t new_gid = _.first;
+      hb_codepoint_t old_gid = _.second;
+
+      if (unlikely (new_gid >= map_count)) break;
+
+      uint32_t v = input_map->map (old_gid);
+      unsigned int outer = v >> 16;
+      output_map.arrayZ[new_gid] = (outer_map[outer] << 16) | (inner_maps[outer][v & 0xFFFF]);
+    }
+  }
+
+  bool remap_after_instantiation (const hb_subset_plan_t *plan,
+                                  const hb_map_t& varidx_map)
+  {
+    /* recalculate bit_count after remapping */
+    outer_bit_count = 1;
+    inner_bit_count = 1;
+
+    for (const auto &_ : plan->new_to_old_gid_list)
+    {
+      hb_codepoint_t new_gid = _.first;
+      if (unlikely (new_gid >= map_count)) break;
+
+      uint32_t v = output_map.arrayZ[new_gid];
+      uint32_t *new_varidx;
+      if (!varidx_map.has (v, &new_varidx))
+        return false;
+
+      output_map.arrayZ[new_gid] = *new_varidx;
+
+      unsigned outer = (*new_varidx) >> 16;
+      unsigned bit_count = (outer == 0) ? 1 : hb_bit_storage (outer);
+      outer_bit_count = hb_max (bit_count, outer_bit_count);
+
+      unsigned inner = (*new_varidx) & 0xFFFF;
+      bit_count = (inner == 0) ? 1 : hb_bit_storage (inner);
+      inner_bit_count = hb_max (bit_count, inner_bit_count);
     }
+    return true;
   }
 
   unsigned int get_inner_bit_count () const { return inner_bit_count; }
@@ -180,7 +204,7 @@
     if (unlikely (!index_map_plans.length || !inner_sets.length || !inner_maps.length)) return;
 
     bool retain_adv_map = false;
-    index_map_plans[0].init (*index_maps[0], outer_map, inner_sets, plan);
+    index_map_plans[0].init (*index_maps[0], outer_map, inner_sets, plan, false);
     if (index_maps[0] == &Null (DeltaSetIndexMap))
     {
       retain_adv_map = plan->flags & HB_SUBSET_FLAGS_RETAIN_GIDS;
@@ -197,12 +221,10 @@
 
     if (retain_adv_map)
     {
-      for (hb_codepoint_t gid = 0; gid < plan->num_output_glyphs (); gid++)
+      for (const auto &_ : plan->new_to_old_gid_list)
       {
-        if (inner_sets[0]->has (gid))
-          inner_maps[0].add (gid);
-        else
-          inner_maps[0].skip ();
+        hb_codepoint_t old_gid = _.second;
+        inner_maps[0].add (old_gid);
       }
     }
     else
@@ -219,6 +241,16 @@
       index_map_plans[i].remap (index_maps[i], outer_map, inner_maps, plan);
   }
 
+  /* remap */
+  bool remap_index_map_plans (const hb_subset_plan_t *plan,
+                              const hb_map_t& varidx_map)
+  {
+    for (unsigned i = 0; i < index_map_plans.length; i++)
+      if (!index_map_plans[i].remap_after_instantiation (plan, varidx_map))
+        return false;
+    return true;
+  }
+
   void fini ()
   {
     for (unsigned int i = 0; i < inner_sets.length; i++)
@@ -297,6 +329,9 @@
   bool _subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
+    if (c->plan->all_axes_pinned)
+      return_trace (false);
+
     hvarvvar_subset_plan_t      hvar_plan;
     hb_vector_t
                                 index_maps;
@@ -310,11 +345,37 @@
     out->version.major = 1;
     out->version.minor = 0;
 
-    if (unlikely (!out->varStore
-                      .serialize_serialize (c->serializer,
-                                            hvar_plan.var_store,
-                                            hvar_plan.inner_maps.as_array ())))
+    if (c->plan->normalized_coords)
+    {
+      item_variations_t item_vars;
+      if (!item_vars.instantiate (this+varStore, c->plan,
+                                  advMap == 0 ? false : true,
+                                  false, /* use_no_variation_idx = false */
+                                  hvar_plan.inner_maps.as_array ()))
+        return_trace (false);
+
+      if (!out->varStore.serialize_serialize (c->serializer,
+                                              item_vars.has_long_word (),
+                                              c->plan->axis_tags,
+                                              item_vars.get_region_list (),
+                                              item_vars.get_vardata_encodings ()))
+        return_trace (false);
+
+      /* if varstore is optimized, remap output_map */
+      if (advMap)
+      {
+        if (!hvar_plan.remap_index_map_plans (c->plan, item_vars.get_varidx_map ()))
+          return_trace (false);
+      }
+    }
+    else
+    {
+      if (unlikely (!out->varStore
+                    .serialize_serialize (c->serializer,
+                                          hvar_plan.var_store,
+                                          hvar_plan.inner_maps.as_array ())))
       return_trace (false);
+    }
 
     return_trace (out->T::serialize_index_maps (c->serializer,
                                                 hvar_plan.index_map_plans.as_array ()));
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -27,7 +27,7 @@
 #ifndef HB_OT_VAR_MVAR_TABLE_HH
 #define HB_OT_VAR_MVAR_TABLE_HH
 
-#include "hb-ot-layout-common.hh"
+#include "hb-ot-var-common.hh"
 
 
 namespace OT {
@@ -41,6 +41,19 @@
     return_trace (c->check_struct (this));
   }
 
+  bool subset (hb_subset_context_t *c,
+               const hb_map_t& varidx_map) const
+  {
+    TRACE_SUBSET (this);
+    auto *out = c->serializer->embed (*this);
+    if (unlikely (!out)) return_trace (false);
+
+    hb_codepoint_t *new_idx;
+    return_trace (c->serializer->check_assign (out->varIdx,
+                                               (varidx_map.has (varIdx, &new_idx)) ? *new_idx : HB_OT_LAYOUT_NO_VARIATIONS_INDEX,
+                                               HB_SERIALIZE_ERROR_INT_OVERFLOW));
+  }
+
   public:
   Tag           valueTag;       /* Four-byte tag identifying a font-wide measure. */
   VarIdx        varIdx;         /* Outer/inner index into VariationStore item. */
@@ -73,6 +86,47 @@
                                   valueRecordSize));
   }
 
+  bool subset (hb_subset_context_t *c) const
+  {
+    TRACE_SUBSET (this);
+#ifdef HB_NO_VAR
+    return_trace (false);
+#endif
+
+    if (c->plan->all_axes_pinned)
+      return_trace (false);
+
+    MVAR *out = c->serializer->start_embed (*this);
+    if (unlikely (!c->serializer->extend_min (out))) return_trace (false);
+    out->version = version;
+    out->reserved = reserved;
+    out->valueRecordSize = valueRecordSize;
+    out->valueRecordCount = valueRecordCount;
+
+    item_variations_t item_vars;
+    const VariationStore& src_var_store = this+varStore;
+
+    if (!item_vars.instantiate (src_var_store, c->plan))
+      return_trace (false);
+
+    /* serialize varstore */
+    if (!out->varStore.serialize_serialize (c->serializer, item_vars.has_long_word (),
+                                            c->plan->axis_tags,
+                                            item_vars.get_region_list (),
+                                            item_vars.get_vardata_encodings ()))
+      return_trace (false);
+
+    /* serialize value records array */
+    unsigned value_rec_count = valueRecordCount;
+    const VariationValueRecord *record = reinterpret_cast (valuesZ.arrayZ);
+    for (unsigned i = 0; i < value_rec_count; i++)
+    {
+      if (!record->subset (c, item_vars.get_varidx_map ())) return_trace (false);
+      record++;
+    }
+    return_trace (true);
+  }
+
   float get_var (hb_tag_t tag,
                  const int *coords, unsigned int coord_count) const
   {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-vorg-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-vorg-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ot-vorg-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ot-vorg-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -90,7 +90,7 @@
   bool subset (hb_subset_context_t *c) const
   {
     TRACE_SUBSET (this);
-    VORG *vorg_prime = c->serializer->start_embed ();
+    auto *vorg_prime = c->serializer->start_embed ();
     if (unlikely (!c->serializer->check_success (vorg_prime))) return_trace (false);
 
     auto it =
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-paint.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-paint.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.cc	2024-04-08 05:38:38.000000000 +0000
@@ -54,6 +54,12 @@
 hb_paint_pop_transform_nil (hb_paint_funcs_t *funcs, void *paint_data,
                             void *user_data) {}
 
+static hb_bool_t
+hb_paint_color_glyph_nil (hb_paint_funcs_t *funcs, void *paint_data,
+                          hb_codepoint_t glyph,
+                          hb_font_t *font,
+                          void *user_data) { return false; }
+
 static void
 hb_paint_push_clip_glyph_nil (hb_paint_funcs_t *funcs, void *paint_data,
                               hb_codepoint_t glyph,
@@ -474,6 +480,25 @@
 }
 
 /**
+ * hb_paint_color_glyph:
+ * @funcs: paint functions
+ * @paint_data: associated data passed by the caller
+ * @glyph: the glyph ID
+ * @font: the font
+ *
+ * Perform a "color-glyph" paint operation.
+ *
+ * Since: 8.2.0
+ */
+hb_bool_t
+hb_paint_color_glyph (hb_paint_funcs_t *funcs, void *paint_data,
+                      hb_codepoint_t glyph,
+                      hb_font_t *font)
+{
+  return funcs->color_glyph (paint_data, glyph, font);
+}
+
+/**
  * hb_paint_push_clip_glyph:
  * @funcs: paint functions
  * @paint_data: associated data passed by the caller
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-paint.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-paint.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.h	2024-04-08 05:38:38.000000000 +0000
@@ -137,6 +137,26 @@
                                                void *user_data);
 
 /**
+ * hb_paint_color_glyph_func_t:
+ * @funcs: paint functions object
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
+ * @glyph: the glyph ID
+ * @font: the font
+ * @user_data: User data pointer passed to hb_paint_funcs_set_color_glyph_func()
+ *
+ * A virtual method for the #hb_paint_funcs_t to render a color glyph by glyph index.
+ *
+ * Return value: %true if the glyph was painted, %false otherwise.
+ *
+ * Since: 8.2.0
+ */
+typedef hb_bool_t (*hb_paint_color_glyph_func_t) (hb_paint_funcs_t *funcs,
+                                                  void *paint_data,
+                                                  hb_codepoint_t glyph,
+                                                  hb_font_t *font,
+                                                  void *user_data);
+
+/**
  * hb_paint_push_clip_glyph_func_t:
  * @funcs: paint functions object
  * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
@@ -724,6 +744,23 @@
                                        hb_destroy_func_t              destroy);
 
 /**
+ * hb_paint_funcs_set_color_glyph_func:
+ * @funcs: A paint functions struct
+ * @func: (closure user_data) (destroy destroy) (scope notified): The color-glyph callback
+ * @user_data: Data to pass to @func
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
+ *
+ * Sets the color-glyph callback on the paint functions struct.
+ *
+ * Since: 8.2.0
+ */
+HB_EXTERN void
+hb_paint_funcs_set_color_glyph_func (hb_paint_funcs_t                *funcs,
+                                     hb_paint_color_glyph_func_t     func,
+                                     void                            *user_data,
+                                     hb_destroy_func_t                destroy);
+
+/**
  * hb_paint_funcs_set_push_clip_glyph_func:
  * @funcs: A paint functions struct
  * @func: (closure user_data) (destroy destroy) (scope notified): The push-clip-glyph callback
@@ -922,6 +959,11 @@
 HB_EXTERN void
 hb_paint_pop_transform (hb_paint_funcs_t *funcs, void *paint_data);
 
+HB_EXTERN hb_bool_t
+hb_paint_color_glyph (hb_paint_funcs_t *funcs, void *paint_data,
+                      hb_codepoint_t glyph,
+                      hb_font_t *font);
+
 HB_EXTERN void
 hb_paint_push_clip_glyph (hb_paint_funcs_t *funcs, void *paint_data,
                           hb_codepoint_t glyph,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-paint.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-paint.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-paint.hh	2024-04-08 05:38:38.000000000 +0000
@@ -32,6 +32,7 @@
 #define HB_PAINT_FUNCS_IMPLEMENT_CALLBACKS \
   HB_PAINT_FUNC_IMPLEMENT (push_transform) \
   HB_PAINT_FUNC_IMPLEMENT (pop_transform) \
+  HB_PAINT_FUNC_IMPLEMENT (color_glyph) \
   HB_PAINT_FUNC_IMPLEMENT (push_clip_glyph) \
   HB_PAINT_FUNC_IMPLEMENT (push_clip_rectangle) \
   HB_PAINT_FUNC_IMPLEMENT (pop_clip) \
@@ -77,6 +78,13 @@
   void pop_transform (void *paint_data)
   { func.pop_transform (this, paint_data,
                         !user_data ? nullptr : user_data->pop_transform); }
+  bool color_glyph (void *paint_data,
+                    hb_codepoint_t glyph,
+                    hb_font_t *font)
+  { return func.color_glyph (this, paint_data,
+                             glyph,
+                             font,
+                             !user_data ? nullptr : user_data->push_clip_glyph); }
   void push_clip_glyph (void *paint_data,
                         hb_codepoint_t glyph,
                         hb_font_t *font)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-pool.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-pool.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-pool.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-pool.hh	2024-04-08 05:38:38.000000000 +0000
@@ -58,7 +58,7 @@
     if (unlikely (!next))
     {
       if (unlikely (!chunks.alloc (chunks.length + 1))) return nullptr;
-      chunk_t *chunk = (chunk_t *) hb_calloc (1, sizeof (chunk_t));
+      chunk_t *chunk = (chunk_t *) hb_malloc (sizeof (chunk_t));
       if (unlikely (!chunk)) return nullptr;
       chunks.push (chunk);
       next = chunk->thread ();
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh	2024-04-08 05:38:38.000000000 +0000
@@ -42,10 +42,11 @@
  * priority of its children. The heap is stored in an array, with the
  * children of node i stored at indices 2i + 1 and 2i + 2.
  */
+template 
 struct hb_priority_queue_t
 {
  private:
-  typedef hb_pair_t item_t;
+  typedef hb_pair_t item_t;
   hb_vector_t heap;
 
  public:
@@ -54,13 +55,19 @@
 
   bool in_error () const { return heap.in_error (); }
 
-  void insert (int64_t priority, unsigned value)
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
+  void insert (K priority, unsigned value)
   {
     heap.push (item_t (priority, value));
     if (unlikely (heap.in_error ())) return;
     bubble_up (heap.length - 1);
   }
 
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   item_t pop_minimum ()
   {
     assert (!is_empty ());
@@ -106,8 +113,10 @@
     return 2 * index + 2;
   }
 
+  HB_ALWAYS_INLINE
   void bubble_down (unsigned index)
   {
+    repeat:
     assert (index < heap.length);
 
     unsigned left = left_child (index);
@@ -123,19 +132,21 @@
         && (!has_right || heap.arrayZ[index].first <= heap.arrayZ[right].first))
       return;
 
+    unsigned child;
     if (!has_right || heap.arrayZ[left].first < heap.arrayZ[right].first)
-    {
-      swap (index, left);
-      bubble_down (left);
-      return;
-    }
+      child = left;
+    else
+      child = right;
 
-    swap (index, right);
-    bubble_down (right);
+    swap (index, child);
+    index = child;
+    goto repeat;
   }
 
+  HB_ALWAYS_INLINE
   void bubble_up (unsigned index)
   {
+    repeat:
     assert (index < heap.length);
 
     if (index == 0) return;
@@ -145,7 +156,8 @@
       return;
 
     swap (index, parent_index);
-    bubble_up (parent_index);
+    index = parent_index;
+    goto repeat;
   }
 
   void swap (unsigned a, unsigned b)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-repacker.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-repacker.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-repacker.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-repacker.hh	2024-04-08 05:38:38.000000000 +0000
@@ -79,7 +79,12 @@
   //                pass after this processing is done. Not super necessary as splits are
   //                only done where overflow is likely, so de-dup probably will get undone
   //                later anyways.
-  for (unsigned lookup_index : ext_context.lookups.keys ())
+
+  // The loop below can modify the contents of ext_context.lookups if new subtables are added
+  // to a lookup during a split. So save the initial set of lookup indices so the iteration doesn't
+  // risk access free'd memory if ext_context.lookups gets resized.
+  hb_set_t lookup_indices(ext_context.lookups.keys ());
+  for (unsigned lookup_index : lookup_indices)
   {
     graph::Lookup* lookup = ext_context.lookups.get(lookup_index);
     if (!lookup->split_subtables_if_needed (ext_context, lookup_index))
@@ -114,11 +119,15 @@
   // TODO(grieger): skip this for the 24 bit case.
   if (!ext_context.lookups) return true;
 
+  unsigned total_lookup_table_sizes = 0;
   hb_vector_t lookup_sizes;
   lookup_sizes.alloc (ext_context.lookups.get_population (), true);
 
   for (unsigned lookup_index : ext_context.lookups.keys ())
   {
+    const auto& lookup_v = ext_context.graph.vertices_[lookup_index];
+    total_lookup_table_sizes += lookup_v.table_size ();
+
     const graph::Lookup* lookup = ext_context.lookups.get(lookup_index);
     hb_set_t visited;
     lookup_sizes.push (lookup_size_t {
@@ -131,14 +140,16 @@
   lookup_sizes.qsort ();
 
   size_t lookup_list_size = ext_context.graph.vertices_[ext_context.lookup_list_index].table_size ();
-  size_t l2_l3_size = lookup_list_size; // Lookup List + Lookups
-  size_t l3_l4_size = 0; // Lookups + SubTables
+  size_t l2_l3_size = lookup_list_size + total_lookup_table_sizes; // Lookup List + Lookups
+  size_t l3_l4_size = total_lookup_table_sizes; // Lookups + SubTables
   size_t l4_plus_size = 0; // SubTables + their descendants
 
   // Start by assuming all lookups are using extension subtables, this size will be removed later
   // if it's decided to not make a lookup extension.
   for (auto p : lookup_sizes)
   {
+    // TODO(garretrieger): this overestimates the extension subtables size because some extension subtables may be
+    //                     reused. However, we can't correct this until we have connected component analysis in place.
     unsigned subtables_size = p.num_subtables * 8;
     l3_l4_size += subtables_size;
     l4_plus_size += subtables_size;
@@ -159,8 +170,7 @@
       size_t subtables_size = ext_context.graph.find_subgraph_size (p.lookup_index, visited, 1) - lookup_size;
       size_t remaining_size = p.size - subtables_size - lookup_size;
 
-      l2_l3_size   += lookup_size;
-      l3_l4_size   += lookup_size + subtables_size;
+      l3_l4_size   += subtables_size;
       l3_l4_size   -= p.num_subtables * 8;
       l4_plus_size += subtables_size + remaining_size;
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh	2024-04-08 05:38:38.000000000 +0000
@@ -122,12 +122,14 @@
 {
   hb_sanitize_context_t () :
         start (nullptr), end (nullptr),
+        length (0),
         max_ops (0), max_subtables (0),
         recursion_depth (0),
         writable (false), edit_count (0),
         blob (nullptr),
         num_glyphs (65536),
-        num_glyphs_set (false) {}
+        num_glyphs_set (false),
+        lazy_some_gpos (false) {}
 
   const char *get_name () { return "SANITIZE"; }
   template 
@@ -155,6 +157,19 @@
   dispatch (const T &obj, Ts&&... ds) HB_AUTO_RETURN
   ( _dispatch (obj, hb_prioritize, std::forward (ds)...) )
 
+  hb_sanitize_context_t (hb_blob_t *b) : hb_sanitize_context_t ()
+  {
+    init (b);
+
+    if (blob)
+      start_processing ();
+  }
+
+  ~hb_sanitize_context_t ()
+  {
+    if (blob)
+      end_processing ();
+  }
 
   void init (hb_blob_t *b)
   {
@@ -180,11 +195,15 @@
 
     const char *obj_start = (const char *) obj;
     if (unlikely (obj_start < this->start || this->end <= obj_start))
+    {
       this->start = this->end = nullptr;
+      this->length = 0;
+    }
     else
     {
       this->start = obj_start;
       this->end   = obj_start + hb_min (size_t (this->end - obj_start), obj->get_size ());
+      this->length = this->end - this->start;
     }
   }
 
@@ -192,6 +211,7 @@
   {
     this->start = this->blob->data;
     this->end = this->start + this->blob->length;
+    this->length = this->end - this->start;
     assert (this->start <= this->end); /* Must not overflow. */
   }
 
@@ -224,6 +244,7 @@
     hb_blob_destroy (this->blob);
     this->blob = nullptr;
     this->start = this->end = nullptr;
+    this->length = 0;
   }
 
   unsigned get_edit_count () { return edit_count; }
@@ -237,18 +258,20 @@
       this->max_ops = -1;
       return false;
     }
-    return (this->max_ops -= (int) count) > 0;
+    this->max_ops -= (int) count;
+    return true;
   }
 
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   bool check_range (const void *base,
                     unsigned int len) const
   {
     const char *p = (const char *) base;
-    bool ok = !len ||
-              (this->start <= p &&
-               p <= this->end &&
-               (unsigned int) (this->end - p) >= len &&
-               (this->max_ops -= len) > 0);
+    bool ok = (uintptr_t) (p - this->start) <= this->length &&
+              (unsigned int) (this->end - p) >= len &&
+              ((this->max_ops -= len) > 0);
 
     DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0,
                      "check_range [%p..%p]"
@@ -259,6 +282,43 @@
 
     return likely (ok);
   }
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
+  bool check_range_fast (const void *base,
+                         unsigned int len) const
+  {
+    const char *p = (const char *) base;
+    bool ok = ((uintptr_t) (p - this->start) <= this->length &&
+               (unsigned int) (this->end - p) >= len);
+
+    DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0,
+                     "check_range_fast [%p..%p]"
+                     " (%u bytes) in [%p..%p] -> %s",
+                     p, p + len, len,
+                     this->start, this->end,
+                     ok ? "OK" : "OUT-OF-RANGE");
+
+    return likely (ok);
+  }
+
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
+  bool check_point (const void *base) const
+  {
+    const char *p = (const char *) base;
+    bool ok = (uintptr_t) (p - this->start) <= this->length;
+
+    DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0,
+                     "check_point [%p]"
+                     " in [%p..%p] -> %s",
+                     p,
+                     this->start, this->end,
+                     ok ? "OK" : "OUT-OF-RANGE");
+
+    return likely (ok);
+  }
 
   template 
   bool check_range (const T *base,
@@ -282,6 +342,20 @@
   }
 
   template 
+  HB_ALWAYS_INLINE
+  bool check_array_sized (const T *base, unsigned int len, unsigned len_size) const
+  {
+    if (len_size >= 4)
+    {
+      if (unlikely (hb_unsigned_mul_overflows (len, hb_static_size (T), &len)))
+        return false;
+    }
+    else
+      len = len * hb_static_size (T);
+    return this->check_range (base, len);
+  }
+
+  template 
   bool check_array (const T *base, unsigned int len) const
   {
     return this->check_range (base, len, hb_static_size (T));
@@ -292,7 +366,7 @@
                     unsigned int a,
                     unsigned int b) const
   {
-    return this->check_range (base, a, b, hb_static_size (T));
+    return this->check_range (base, hb_static_size (T), a, b);
   }
 
   bool check_start_recursion (int max_depth)
@@ -308,8 +382,16 @@
   }
 
   template 
+#ifndef HB_OPTIMIZE_SIZE
+  HB_ALWAYS_INLINE
+#endif
   bool check_struct (const Type *obj) const
-  { return likely (this->check_range (obj, obj->min_size)); }
+  {
+    if (sizeof (uintptr_t) == sizeof (uint32_t))
+      return likely (this->check_range_fast (obj, obj->min_size));
+    else
+      return likely (this->check_point ((const char *) obj + obj->min_size));
+  }
 
   bool may_edit (const void *base, unsigned int len)
   {
@@ -371,7 +453,7 @@
         edit_count = 0;
         sane = t->sanitize (this);
         if (edit_count) {
-          DEBUG_MSG_FUNC (SANITIZE, start, "requested %u edits in second round; FAILLING", edit_count);
+          DEBUG_MSG_FUNC (SANITIZE, start, "requested %u edits in second round; FAILING", edit_count);
           sane = false;
         }
       }
@@ -416,6 +498,7 @@
   }
 
   const char *start, *end;
+  unsigned length;
   mutable int max_ops, max_subtables;
   private:
   int recursion_depth;
@@ -424,6 +507,8 @@
   hb_blob_t *blob;
   unsigned int num_glyphs;
   bool  num_glyphs_set;
+  public:
+  bool lazy_some_gpos;
 };
 
 struct hb_sanitize_with_object_t
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-serialize.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-serialize.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-serialize.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-serialize.hh	2024-04-08 05:38:38.000000000 +0000
@@ -113,7 +113,7 @@
     {
       // Virtual links aren't considered for equality since they don't affect the functionality
       // of the object.
-      return hb_bytes_t (head, tail - head).hash () ^
+      return hb_bytes_t (head, hb_min (128, tail - head)).hash () ^
           real_links.as_bytes ().hash ();
     }
 
@@ -172,8 +172,14 @@
   };
 
   snapshot_t snapshot ()
-  { return snapshot_t {
-      head, tail, current, current->real_links.length, current->virtual_links.length, errors }; }
+  {
+    return snapshot_t {
+      head, tail, current,
+      current ? current->real_links.length : 0,
+      current ? current->virtual_links.length : 0,
+      errors
+     };
+  }
 
   hb_serialize_context_t (void *start_, unsigned int size) :
     start ((char *) start_),
@@ -260,7 +266,8 @@
            propagate_error (std::forward (os)...); }
 
   /* To be called around main operation. */
-  template 
+  template 
+  __attribute__((returns_nonnull))
   Type *start_serialize ()
   {
     DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1,
@@ -303,6 +310,7 @@
   }
 
   template 
+  __attribute__((returns_nonnull))
   Type *push ()
   {
     if (unlikely (in_error ())) return start_embed ();
@@ -323,6 +331,8 @@
   {
     object_t *obj = current;
     if (unlikely (!obj)) return;
+    // Allow cleanup when we've error'd out on int overflows which don't compromise
+    // the serializer state.
     if (unlikely (in_error() && !only_overflow ())) return;
 
     current = current->next;
@@ -340,7 +350,9 @@
   {
     object_t *obj = current;
     if (unlikely (!obj)) return 0;
-    if (unlikely (in_error())) return 0;
+    // Allow cleanup when we've error'd out on int overflows which don't compromise
+    // the serializer state.
+    if (unlikely (in_error()  && !only_overflow ())) return 0;
 
     current = current->next;
     obj->tail = head;
@@ -405,8 +417,11 @@
     // Overflows that happened after the snapshot will be erased by the revert.
     if (unlikely (in_error () && !only_overflow ())) return;
     assert (snap.current == current);
-    current->real_links.shrink (snap.num_real_links);
-    current->virtual_links.shrink (snap.num_virtual_links);
+    if (current)
+    {
+      current->real_links.shrink (snap.num_real_links);
+      current->virtual_links.shrink (snap.num_virtual_links);
+    }
     errors = snap.errors;
     revert (snap.head, snap.tail);
   }
@@ -563,13 +578,15 @@
   {
     unsigned int l = length () % alignment;
     if (l)
-      allocate_size (alignment - l);
+      (void) allocate_size (alignment - l);
   }
 
   template 
+  __attribute__((returns_nonnull))
   Type *start_embed (const Type *obj HB_UNUSED = nullptr) const
   { return reinterpret_cast (this->head); }
   template 
+  __attribute__((returns_nonnull))
   Type *start_embed (const Type &obj) const
   { return start_embed (std::addressof (obj)); }
 
@@ -597,6 +614,7 @@
   }
 
   template 
+  HB_NODISCARD
   Type *allocate_size (size_t size, bool clear = true)
   {
     if (unlikely (in_error ())) return nullptr;
@@ -618,6 +636,7 @@
   { return this->allocate_size (Type::min_size); }
 
   template 
+  HB_NODISCARD
   Type *embed (const Type *obj)
   {
     unsigned int size = obj->get_size ();
@@ -627,6 +646,7 @@
     return ret;
   }
   template 
+  HB_NODISCARD
   Type *embed (const Type &obj)
   { return embed (std::addressof (obj)); }
   char *embed (const char *obj, unsigned size)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh	2024-04-08 05:38:38.000000000 +0000
@@ -45,10 +45,16 @@
  * a lookup's or subtable's Coverage table(s), and then when we
  * want to apply the lookup or subtable to a glyph, before trying
  * to apply, we ask the filter if the glyph may be covered. If it's
- * not, we return early.
+ * not, we return early.  We can also match a digest against another
+ * digest.
  *
- * We use these filters both at the lookup-level, and then again,
- * at the subtable-level. Both have performance win.
+ * We use these filters at three levels:
+ *   - If the digest for all the glyphs in the buffer as a whole
+ *     does not match the digest for the lookup, skip the lookup.
+ *   - For each glyph, if it doesn't match the lookup digest,
+ *     skip it.
+ *   - For each glyph, if it doesn't match the subtable digest,
+ *     skip it.
  *
  * The main filter we use is a combination of three bits-pattern
  * filters. A bits-pattern filter checks a number of bits (5 or 6)
@@ -82,14 +88,19 @@
 
   bool add_range (hb_codepoint_t a, hb_codepoint_t b)
   {
+    if (mask == (mask_t) -1) return false;
     if ((b >> shift) - (a >> shift) >= mask_bits - 1)
+    {
       mask = (mask_t) -1;
-    else {
+      return false;
+    }
+    else
+    {
       mask_t ma = mask_for (a);
       mask_t mb = mask_for (b);
       mask |= mb + (mb - ma) - (mb < ma);
+      return true;
     }
-    return true;
   }
 
   template 
@@ -148,8 +159,7 @@
 
   bool add_range (hb_codepoint_t a, hb_codepoint_t b)
   {
-    return head.add_range (a, b) &&
-           tail.add_range (a, b);
+    return (int) head.add_range (a, b) | (int) tail.add_range (a, b);
   }
   template 
   void add_array (const T *array, unsigned int count, unsigned int stride=sizeof(T))
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.cc	2024-04-08 05:38:38.000000000 +0000
@@ -200,7 +200,7 @@
 void
 hb_set_clear (hb_set_t *set)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->clear ();
 }
 
@@ -251,7 +251,7 @@
 hb_set_add (hb_set_t       *set,
             hb_codepoint_t  codepoint)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->add (codepoint);
 }
 
@@ -272,7 +272,7 @@
                          const hb_codepoint_t *sorted_codepoints,
                          unsigned int          num_codepoints)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->add_sorted_array (sorted_codepoints,
                          num_codepoints,
                          sizeof(hb_codepoint_t));
@@ -294,7 +294,7 @@
                   hb_codepoint_t  first,
                   hb_codepoint_t  last)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->add_range (first, last);
 }
 
@@ -311,7 +311,7 @@
 hb_set_del (hb_set_t       *set,
             hb_codepoint_t  codepoint)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->del (codepoint);
 }
 
@@ -334,7 +334,7 @@
                   hb_codepoint_t  first,
                   hb_codepoint_t  last)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->del_range (first, last);
 }
 
@@ -405,7 +405,7 @@
 hb_set_set (hb_set_t       *set,
             const hb_set_t *other)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->set (*other);
 }
 
@@ -422,7 +422,7 @@
 hb_set_union (hb_set_t       *set,
               const hb_set_t *other)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->union_ (*other);
 }
 
@@ -439,7 +439,7 @@
 hb_set_intersect (hb_set_t       *set,
                   const hb_set_t *other)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->intersect (*other);
 }
 
@@ -456,7 +456,7 @@
 hb_set_subtract (hb_set_t       *set,
                  const hb_set_t *other)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->subtract (*other);
 }
 
@@ -474,7 +474,7 @@
 hb_set_symmetric_difference (hb_set_t       *set,
                              const hb_set_t *other)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->symmetric_difference (*other);
 }
 
@@ -489,7 +489,7 @@
 void
 hb_set_invert (hb_set_t *set)
 {
-  /* Immutible-safe. */
+  /* Immutable-safe. */
   set->invert ();
 }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.h	2024-04-08 05:38:38.000000000 +0000
@@ -43,7 +43,7 @@
  *
  * Since: 0.9.21
  */
-#define HB_SET_VALUE_INVALID ((hb_codepoint_t) -1)
+#define HB_SET_VALUE_INVALID HB_CODEPOINT_INVALID
 
 /**
  * hb_set_t:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-set.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-set.hh	2024-04-08 05:38:38.000000000 +0000
@@ -115,7 +115,7 @@
   /* Sink interface. */
   hb_sparseset_t& operator << (hb_codepoint_t v)
   { add (v); return *this; }
-  hb_sparseset_t& operator << (const hb_pair_t& range)
+  hb_sparseset_t& operator << (const hb_codepoint_pair_t& range)
   { add_range (range.first, range.second); return *this; }
 
   bool intersects (hb_codepoint_t first, hb_codepoint_t last) const
@@ -174,7 +174,7 @@
 
   hb_set_t& operator << (hb_codepoint_t v)
   { sparseset::operator<< (v); return *this; }
-  hb_set_t& operator << (const hb_pair_t& range)
+  hb_set_t& operator << (const hb_codepoint_pair_t& range)
   { sparseset::operator<< (range); return *this; }
 };
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-shape.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-shape.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-shape.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-shape.cc	2024-04-08 05:38:38.000000000 +0000
@@ -220,7 +220,7 @@
   assert (buffer->ensure (text.length));
   buffer->have_positions = false;
   buffer->len = text.length;
-  memcpy (buffer->info, text.arrayZ, text.length * sizeof (buffer->info[0]));
+  hb_memcpy (buffer->info, text.arrayZ, text.length * sizeof (buffer->info[0]));
   hb_buffer_set_content_type (buffer, HB_BUFFER_CONTENT_TYPE_UNICODE);
 }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-shaper-list.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-shaper-list.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-shaper-list.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-shaper-list.hh	2024-04-08 05:38:38.000000000 +0000
@@ -33,6 +33,11 @@
 
 /* v--- Add new shapers in the right place here. */
 
+#ifdef HAVE_WASM
+/* Only picks up fonts that have a "Wasm" table. */
+HB_SHAPER_IMPLEMENT (wasm)
+#endif
+
 #ifdef HAVE_GRAPHITE2
 /* Only picks up fonts that have a "Silf" table. */
 HB_SHAPER_IMPLEMENT (graphite2)
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-static.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-static.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-static.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-static.cc	2024-04-08 05:38:38.000000000 +0000
@@ -31,6 +31,7 @@
 
 #include "hb-aat-layout-common.hh"
 #include "hb-aat-layout-feat-table.hh"
+#include "hb-cff-interp-common.hh"
 #include "hb-ot-layout-common.hh"
 #include "hb-ot-cmap-table.hh"
 #include "OT/Color/COLR/COLR.hh"
@@ -58,6 +59,8 @@
 /* hb_map_t */
 
 const hb_codepoint_t minus_1 = -1;
+static const unsigned char static_endchar_str[] = {OpCode_endchar};
+const unsigned char *endchar_str = static_endchar_str;
 
 /* hb_face_t */
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-accelerator.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-accelerator.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-accelerator.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-accelerator.hh	2024-04-08 05:38:38.000000000 +0000
@@ -42,7 +42,9 @@
 
 namespace OT {
 struct SubtableUnicodesCache;
-};
+struct cff1_subset_accelerator_t;
+struct cff2_subset_accelerator_t;
+}
 
 struct hb_subset_accelerator_t
 {
@@ -51,15 +53,17 @@
     return &_hb_subset_accelerator_user_data_key;
   }
 
-  static hb_subset_accelerator_t* create(const hb_map_t& unicode_to_gid_,
-                                         const hb_multimap_t gid_to_unicodes_,
+  static hb_subset_accelerator_t* create(hb_face_t *source,
+                                         const hb_map_t& unicode_to_gid_,
                                          const hb_set_t& unicodes_,
                                          bool has_seac_) {
     hb_subset_accelerator_t* accel =
         (hb_subset_accelerator_t*) hb_calloc (1, sizeof(hb_subset_accelerator_t));
 
-    new (accel) hb_subset_accelerator_t (unicode_to_gid_,
-                                         gid_to_unicodes_,
+    if (unlikely (!accel)) return accel;
+
+    new (accel) hb_subset_accelerator_t (source,
+                                         unicode_to_gid_,
                                          unicodes_,
                                          has_seac_);
 
@@ -77,36 +81,36 @@
     hb_free (accel);
   }
 
-  hb_subset_accelerator_t (const hb_map_t& unicode_to_gid_,
-                           const hb_multimap_t& gid_to_unicodes_,
+  hb_subset_accelerator_t (hb_face_t *source,
+                           const hb_map_t& unicode_to_gid_,
                            const hb_set_t& unicodes_,
                            bool has_seac_) :
     unicode_to_gid(unicode_to_gid_),
-    gid_to_unicodes (gid_to_unicodes_),
     unicodes(unicodes_),
     cmap_cache(nullptr),
     destroy_cmap_cache(nullptr),
     has_seac(has_seac_),
-    cff_accelerator(nullptr),
-    destroy_cff_accelerator(nullptr) {}
-
-  ~hb_subset_accelerator_t ()
+    source(hb_face_reference (source))
   {
-    if (cff_accelerator && destroy_cff_accelerator)
-      destroy_cff_accelerator ((void*) cff_accelerator);
-
-    if (cmap_cache && destroy_cmap_cache)
-      destroy_cmap_cache ((void*) cmap_cache);
+    gid_to_unicodes.alloc (unicode_to_gid.get_population ());
+    for (const auto &_ : unicode_to_gid)
+    {
+      auto unicode = _.first;
+      auto gid = _.second;
+      gid_to_unicodes.add (gid, unicode);
+    }
   }
 
+  HB_INTERNAL ~hb_subset_accelerator_t ();
+
   // Generic
 
   mutable hb_mutex_t sanitized_table_cache_lock;
   mutable hb_hashmap_t> sanitized_table_cache;
 
-  const hb_map_t unicode_to_gid;
-  const hb_multimap_t gid_to_unicodes;
-  const hb_set_t unicodes;
+  hb_map_t unicode_to_gid;
+  hb_multimap_t gid_to_unicodes;
+  hb_set_t unicodes;
 
   // cmap
   const OT::SubtableUnicodesCache* cmap_cache;
@@ -114,8 +118,6 @@
 
   // CFF
   bool has_seac;
-  const CFF::cff_subset_accelerator_t* cff_accelerator;
-  hb_destroy_func_t destroy_cff_accelerator;
 
   // TODO(garretrieger): cumulative glyf checksum map
 
@@ -126,6 +128,13 @@
            unicodes.in_error () ||
            sanitized_table_cache.in_error ();
   }
+
+  hb_face_t *source;
+#ifndef HB_NO_SUBSET_CFF
+  // These have to be immediately after source:
+  mutable hb_face_lazy_loader_t cff1_accel;
+  mutable hb_face_lazy_loader_t cff2_accel;
+#endif
 };
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.cc	2024-04-08 05:38:38.000000000 +0000
@@ -68,24 +68,35 @@
     /* use hb_set to determine the subset of font dicts */
     hb_set_t set;
     hb_codepoint_t prev_fd = CFF_UNDEF_CODE;
-    for (hb_codepoint_t i = 0; i < subset_num_glyphs; i++)
+    hb_pair_t last_range {0, 0};
+    auto it = hb_iter (plan->new_to_old_gid_list);
+    auto _ = *it;
+    for (hb_codepoint_t gid = 0; gid < subset_num_glyphs; gid++)
     {
-      hb_codepoint_t glyph;
-      hb_codepoint_t fd;
-      if (!plan->old_gid_for_new_gid (i, &glyph))
+      hb_codepoint_t old_glyph;
+      if (gid == _.first)
+      {
+        old_glyph = _.second;
+        _ = *++it;
+      }
+      else
       {
         /* fonttools retains FDSelect & font dicts for missing glyphs. do the same */
-        glyph = i;
+        old_glyph = gid;
       }
-      fd = src.get_fd (glyph);
-      set.add (fd);
+      if (old_glyph >= last_range.second)
+        last_range = src.get_fd_range (old_glyph);
+      unsigned fd = last_range.first;
 
       if (fd != prev_fd)
       {
+        set.add (fd);
         num_ranges++;
         prev_fd = fd;
-        code_pair_t pair = { fd, i };
-        fdselect_ranges.push (pair);
+        fdselect_ranges.push (code_pair_t { fd, gid });
+
+        if (gid == old_glyph)
+          gid = hb_min (_.first - 1, last_range.second - 1);
       }
     }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh	2024-04-08 05:38:38.000000000 +0000
@@ -480,6 +480,7 @@
       const hb_vector_t& parsed_local_subrs) {
     cff_subset_accelerator_t* accel =
         (cff_subset_accelerator_t*) hb_malloc (sizeof(cff_subset_accelerator_t));
+    if (unlikely (!accel)) return nullptr;
     new (accel) cff_subset_accelerator_t (original_blob,
                                           parsed_charstrings,
                                           parsed_global_subrs,
@@ -510,15 +511,21 @@
     original_blob = hb_blob_reference (original_blob_);
   }
 
-  ~cff_subset_accelerator_t() {
+  ~cff_subset_accelerator_t()
+  {
     hb_blob_destroy (original_blob);
-    hb_map_destroy (glyph_to_sid_map.get_relaxed ());
+    auto *mapping = glyph_to_sid_map.get_relaxed ();
+    if (mapping)
+    {
+      mapping->~glyph_to_sid_map_t ();
+      hb_free (mapping);
+    }
   }
 
   parsed_cs_str_vec_t parsed_charstrings;
   parsed_cs_str_vec_t parsed_global_subrs;
   hb_vector_t parsed_local_subrs;
-  mutable hb_atomic_ptr_t glyph_to_sid_map = nullptr;
+  mutable hb_atomic_ptr_t glyph_to_sid_map;
 
  private:
   hb_blob_t* original_blob;
@@ -600,9 +607,8 @@
      * no optimization based on usage counts. fonttools doesn't appear doing that either.
      */
 
-    resize (closure->get_population ());
-    hb_codepoint_t old_num = HB_SET_VALUE_INVALID;
-    while (hb_set_next (closure, &old_num))
+    alloc (closure->get_population ());
+    for (auto old_num : *closure)
       add (old_num);
 
     if (get_population () < 1240)
@@ -672,8 +678,8 @@
   {
     unsigned fd_count = acc.fdCount;
     const cff_subset_accelerator_t* cff_accelerator = nullptr;
-    if (plan->accelerator && plan->accelerator->cff_accelerator) {
-      cff_accelerator = plan->accelerator->cff_accelerator;
+    if (acc.cff_accelerator) {
+      cff_accelerator = acc.cff_accelerator;
       fd_count = cff_accelerator->parsed_local_subrs.length;
     }
 
@@ -709,14 +715,13 @@
     }
 
     /* phase 1 & 2 */
-    for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
+    for (auto _ : plan->new_to_old_gid_list)
     {
-      hb_codepoint_t  glyph;
-      if (!plan->old_gid_for_new_gid (i, &glyph))
-        continue;
+      hb_codepoint_t new_glyph = _.first;
+      hb_codepoint_t old_glyph = _.second;
 
-      const hb_ubytes_t str = (*acc.charStrings)[glyph];
-      unsigned int fd = acc.fdSelect->get_fd (glyph);
+      const hb_ubytes_t str = (*acc.charStrings)[old_glyph];
+      unsigned int fd = acc.fdSelect->get_fd (old_glyph);
       if (unlikely (fd >= acc.fdCount))
         return false;
 
@@ -725,9 +730,9 @@
         // parsed string already exists in accelerator, copy it and move
         // on.
         if (cached_charstrings)
-          cached_charstrings[i] = &cff_accelerator->parsed_charstrings[glyph];
+          cached_charstrings[new_glyph] = &cff_accelerator->parsed_charstrings[old_glyph];
         else
-          parsed_charstrings[i] = cff_accelerator->parsed_charstrings[glyph];
+          parsed_charstrings[new_glyph] = cff_accelerator->parsed_charstrings[old_glyph];
 
         continue;
       }
@@ -735,8 +740,8 @@
       ENV env (str, acc, fd);
       cs_interpreter_t interp (env);
 
-      parsed_charstrings[i].alloc (str.length);
-      subr_subset_param_t  param (&parsed_charstrings[i],
+      parsed_charstrings[new_glyph].alloc (str.length);
+      subr_subset_param_t  param (&parsed_charstrings[new_glyph],
                                   &parsed_global_subrs_storage,
                                   &parsed_local_subrs_storage[fd],
                                   &closures.global_closure,
@@ -747,12 +752,12 @@
         return false;
 
       /* complete parsed string esp. copy CFF1 width or CFF2 vsindex to the parsed charstring for encoding */
-      SUBSETTER::complete_parsed_str (interp.env, param, parsed_charstrings[i]);
+      SUBSETTER::complete_parsed_str (interp.env, param, parsed_charstrings[new_glyph]);
 
       /* mark hint ops and arguments for drop */
       if ((plan->flags & HB_SUBSET_FLAGS_NO_HINTING) || plan->inprogress_accelerator)
       {
-        subr_subset_param_t  param (&parsed_charstrings[i],
+        subr_subset_param_t  param (&parsed_charstrings[new_glyph],
                                     &parsed_global_subrs_storage,
                                     &parsed_local_subrs_storage[fd],
                                     &closures.global_closure,
@@ -760,21 +765,21 @@
                                     plan->flags & HB_SUBSET_FLAGS_NO_HINTING);
 
         drop_hints_param_t  drop;
-        if (drop_hints_in_str (parsed_charstrings[i], param, drop))
+        if (drop_hints_in_str (parsed_charstrings[new_glyph], param, drop))
         {
-          parsed_charstrings[i].set_hint_dropped ();
+          parsed_charstrings[new_glyph].set_hint_dropped ();
           if (drop.vsindex_dropped)
-            parsed_charstrings[i].set_vsindex_dropped ();
+            parsed_charstrings[new_glyph].set_vsindex_dropped ();
         }
       }
 
-      /* Doing this here one by one instead of compacting all at the en
+      /* Doing this here one by one instead of compacting all at the end
        * has massive peak-memory saving.
        *
        * The compacting both saves memory and makes further operations
        * faster.
        */
-      parsed_charstrings[i].compact ();
+      parsed_charstrings[new_glyph].compact ();
     }
 
     /* Since parsed strings were loaded from accelerator, we still need
@@ -797,23 +802,40 @@
 
   bool encode_charstrings (str_buff_vec_t &buffArray, bool encode_prefix = true) const
   {
-    if (unlikely (!buffArray.resize_exact (plan->num_output_glyphs ())))
+    unsigned num_glyphs = plan->num_output_glyphs ();
+    if (unlikely (!buffArray.resize_exact (num_glyphs)))
       return false;
-    for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
+    hb_codepoint_t last = 0;
+    for (auto _ : plan->new_to_old_gid_list)
     {
-      hb_codepoint_t  glyph;
-      if (!plan->old_gid_for_new_gid (i, &glyph))
-      {
-        /* add an endchar only charstring for a missing glyph if CFF1 */
-        if (endchar_op != OpCode_Invalid) buffArray.arrayZ[i].push (endchar_op);
-        continue;
-      }
-      unsigned int  fd = acc.fdSelect->get_fd (glyph);
+      hb_codepoint_t gid = _.first;
+      hb_codepoint_t old_glyph = _.second;
+
+      if (endchar_op != OpCode_Invalid)
+        for (; last < gid; last++)
+        {
+          // Hack to point vector to static string.
+          auto &b = buffArray.arrayZ[last];
+          b.length = 1;
+          b.arrayZ = const_cast(endchar_str);
+        }
+
+      last++; // Skip over gid
+      unsigned int  fd = acc.fdSelect->get_fd (old_glyph);
       if (unlikely (fd >= acc.fdCount))
         return false;
-      if (unlikely (!encode_str (get_parsed_charstring (i), fd, buffArray.arrayZ[i], encode_prefix)))
+      if (unlikely (!encode_str (get_parsed_charstring (gid), fd, buffArray.arrayZ[gid], encode_prefix)))
         return false;
     }
+    if (endchar_op != OpCode_Invalid)
+      for (; last < num_glyphs; last++)
+      {
+        // Hack to point vector to static string.
+        auto &b = buffArray.arrayZ[last];
+        b.length = 1;
+        b.arrayZ = const_cast(endchar_str);
+      }
+
     return true;
   }
 
@@ -980,24 +1002,23 @@
                             const hb_vector_t& local_subrs)
   {
     closures.reset ();
-    for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
+    for (auto _ : plan->new_to_old_gid_list)
     {
-      hb_codepoint_t  glyph;
-      if (!plan->old_gid_for_new_gid (i, &glyph))
-        continue;
-      unsigned int fd = acc.fdSelect->get_fd (glyph);
+      hb_codepoint_t new_glyph = _.first;
+      hb_codepoint_t old_glyph = _.second;
+      unsigned int fd = acc.fdSelect->get_fd (old_glyph);
       if (unlikely (fd >= acc.fdCount))
         return false;
 
       // Note: const cast is safe here because the collect_subr_refs_in_str only performs a
       //       closure and does not modify any of the charstrings.
-      subr_subset_param_t  param (const_cast (&get_parsed_charstring (i)),
+      subr_subset_param_t  param (const_cast (&get_parsed_charstring (new_glyph)),
                                   const_cast (&global_subrs),
                                   const_cast (&local_subrs[fd]),
                                   &closures.global_closure,
                                   &closures.local_closures[fd],
                                   plan->flags & HB_SUBSET_FLAGS_NO_HINTING);
-      collect_subr_refs_in_str (get_parsed_charstring (i), param);
+      collect_subr_refs_in_str (get_parsed_charstring (new_glyph), param);
     }
 
     return true;
@@ -1105,14 +1126,11 @@
 
     compact_parsed_subrs ();
 
-    plan->inprogress_accelerator->cff_accelerator =
+    acc.cff_accelerator =
         cff_subset_accelerator_t::create(acc.blob,
                                          parsed_charstrings,
                                          parsed_global_subrs_storage,
                                          parsed_local_subrs_storage);
-    plan->inprogress_accelerator->destroy_cff_accelerator =
-        cff_subset_accelerator_t::destroy;
-
   }
 
   const parsed_cs_str_t& get_parsed_charstring (unsigned i) const
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc	2024-04-08 05:38:38.000000000 +0000
@@ -32,36 +32,59 @@
 #include "hb-ot-cff1-table.hh"
 #include "hb-set.h"
 #include "hb-bimap.hh"
-#include "hb-subset-cff1.hh"
 #include "hb-subset-plan.hh"
 #include "hb-subset-cff-common.hh"
 #include "hb-cff1-interp-cs.hh"
 
 using namespace CFF;
 
-struct remap_sid_t : hb_inc_bimap_t
+struct remap_sid_t
 {
+  unsigned get_population () const { return vector.length; }
+
+  void alloc (unsigned size)
+  {
+    map.alloc (size);
+    vector.alloc (size, true);
+  }
+
+  bool in_error () const
+  { return map.in_error () || vector.in_error (); }
+
   unsigned int add (unsigned int sid)
   {
-    if ((sid != CFF_UNDEF_SID) && !is_std_std (sid))
-      return offset_sid (hb_inc_bimap_t::add (unoffset_sid (sid)));
-    else
+    if (is_std_str (sid) || (sid == CFF_UNDEF_SID))
       return sid;
+
+    sid = unoffset_sid (sid);
+    unsigned v = next;
+    if (map.set (sid, v, false))
+    {
+      vector.push (sid);
+      next++;
+    }
+    else
+      v = map.get (sid); // already exists
+    return offset_sid (v);
   }
 
   unsigned int operator[] (unsigned int sid) const
   {
-    if (is_std_std (sid) || (sid == CFF_UNDEF_SID))
+    if (is_std_str (sid) || (sid == CFF_UNDEF_SID))
       return sid;
-    else
-      return offset_sid (get (unoffset_sid (sid)));
+
+    return offset_sid (map.get (unoffset_sid (sid)));
   }
 
   static const unsigned int num_std_strings = 391;
 
-  static bool is_std_std (unsigned int sid) { return sid < num_std_strings; }
+  static bool is_std_str (unsigned int sid) { return sid < num_std_strings; }
   static unsigned int offset_sid (unsigned int sid) { return sid + num_std_strings; }
   static unsigned int unoffset_sid (unsigned int sid) { return sid - num_std_strings; }
+  unsigned next = 0;
+
+  hb_map_t map;
+  hb_vector_t vector;
 };
 
 struct cff1_sub_table_info_t : cff_sub_table_info_t
@@ -271,16 +294,17 @@
   /* replace the first glyph ID in the "glyph" field each range with a nLeft value */
   bool complete (unsigned int last_glyph)
   {
-    bool two_byte = false;
+    hb_codepoint_t all_glyphs = 0;
     unsigned count = this->length;
     for (unsigned int i = count; i; i--)
     {
       code_pair_t &pair = arrayZ[i - 1];
       unsigned int nLeft = last_glyph - pair.glyph - 1;
-      two_byte |= nLeft >= 0x100;
+      all_glyphs |= nLeft;
       last_glyph = pair.glyph;
       pair.glyph = nLeft;
     }
+    bool two_byte = all_glyphs >= 0x100;
     return two_byte;
   }
 };
@@ -391,8 +415,10 @@
   }
 };
 
-struct cff_subset_plan {
-  cff_subset_plan ()
+namespace OT {
+struct cff1_subset_plan
+{
+  cff1_subset_plan ()
   {
     for (unsigned int i = 0; i < name_dict_values_t::ValCount; i++)
       topDictModSIDs[i] = CFF_UNDEF_SID;
@@ -402,7 +428,7 @@
   {
     const Encoding *encoding = acc.encoding;
     unsigned int  size0, size1;
-    hb_codepoint_t  code, last_code = CFF_UNDEF_CODE;
+    unsigned code, last_code = CFF_UNDEF_CODE - 1;
     hb_vector_t supp_codes;
 
     if (unlikely (!subset_enc_code_ranges.resize (0)))
@@ -413,39 +439,42 @@
 
     supp_codes.init ();
 
+    code_pair_t glyph_to_sid_cache {0, HB_CODEPOINT_INVALID};
     subset_enc_num_codes = plan->num_output_glyphs () - 1;
     unsigned int glyph;
-    for (glyph = 1; glyph < plan->num_output_glyphs (); glyph++)
+    auto it = hb_iter (plan->new_to_old_gid_list);
+    if (it->first == 0) it++;
+    auto _ = *it;
+    for (glyph = 1; glyph < num_glyphs; glyph++)
     {
-      hb_codepoint_t  old_glyph;
-      if (!plan->old_gid_for_new_gid (glyph, &old_glyph))
+      hb_codepoint_t old_glyph;
+      if (glyph == _.first)
       {
-        /* Retain the code for the old missing glyph ID */
+        old_glyph = _.second;
+        _ = *++it;
+      }
+      else
+      {
+        /* Retain the SID for the old missing glyph ID */
         old_glyph = glyph;
       }
-      code = acc.glyph_to_code (old_glyph);
+      code = acc.glyph_to_code (old_glyph, &glyph_to_sid_cache);
       if (code == CFF_UNDEF_CODE)
       {
         subset_enc_num_codes = glyph - 1;
         break;
       }
 
-      if ((last_code == CFF_UNDEF_CODE) || (code != last_code + 1))
-      {
-        code_pair_t pair = { code, glyph };
-        subset_enc_code_ranges.push (pair);
-      }
+      if (code != last_code + 1)
+        subset_enc_code_ranges.push (code_pair_t {code, glyph});
       last_code = code;
 
       if (encoding != &Null (Encoding))
       {
-        hb_codepoint_t  sid = acc.glyph_to_sid (old_glyph);
+        hb_codepoint_t  sid = acc.glyph_to_sid (old_glyph, &glyph_to_sid_cache);
         encoding->get_supplement_codes (sid, supp_codes);
         for (unsigned int i = 0; i < supp_codes.length; i++)
-        {
-          code_pair_t pair = { supp_codes[i], sid };
-          subset_enc_supp_codes.push (pair);
-        }
+          subset_enc_supp_codes.push (code_pair_t {supp_codes[i], sid});
       }
     }
     supp_codes.fini ();
@@ -462,65 +491,93 @@
       subset_enc_format = 1;
   }
 
-  void plan_subset_charset (const OT::cff1::accelerator_subset_t &acc, hb_subset_plan_t *plan)
+  bool plan_subset_charset (const OT::cff1::accelerator_subset_t &acc, hb_subset_plan_t *plan)
   {
     unsigned int  size0, size_ranges;
-    hb_codepoint_t  sid, last_sid = CFF_UNDEF_CODE;
+    unsigned last_sid = CFF_UNDEF_CODE - 1;
 
     if (unlikely (!subset_charset_ranges.resize (0)))
     {
       plan->check_success (false);
-      return;
+      return false;
+    }
+
+    code_pair_t glyph_to_sid_cache {0, HB_CODEPOINT_INVALID};
+
+    unsigned num_glyphs = plan->num_output_glyphs ();
+
+    if (unlikely (!subset_charset_ranges.alloc (hb_min (num_glyphs,
+                                                        acc.num_charset_entries))))
+    {
+      plan->check_success (false);
+      return false;
     }
 
-    hb_map_t *glyph_to_sid_map = (plan->accelerator && plan->accelerator->cff_accelerator) ?
-                                  plan->accelerator->cff_accelerator->glyph_to_sid_map :
-                                  nullptr;
+    glyph_to_sid_map_t *glyph_to_sid_map = acc.cff_accelerator ?
+                                           acc.cff_accelerator->glyph_to_sid_map.get_acquire () :
+                                           nullptr;
     bool created_map = false;
-    if (!glyph_to_sid_map &&
-        ((plan->accelerator && plan->accelerator->cff_accelerator) ||
-         plan->num_output_glyphs () > plan->source->get_num_glyphs () / 8.))
+    if (!glyph_to_sid_map && acc.cff_accelerator)
     {
       created_map = true;
       glyph_to_sid_map = acc.create_glyph_to_sid_map ();
     }
 
-    unsigned int glyph;
-    for (glyph = 1; glyph < plan->num_output_glyphs (); glyph++)
+    auto it = hb_iter (plan->new_to_old_gid_list);
+    if (it->first == 0) it++;
+    auto _ = *it;
+    bool not_is_cid = !acc.is_CID ();
+    bool skip = !not_is_cid && glyph_to_sid_map;
+    if (not_is_cid)
+      sidmap.alloc (num_glyphs);
+    for (hb_codepoint_t glyph = 1; glyph < num_glyphs; glyph++)
     {
-      hb_codepoint_t  old_glyph;
-      if (!plan->old_gid_for_new_gid (glyph, &old_glyph))
+      hb_codepoint_t old_glyph;
+      if (glyph == _.first)
+      {
+        old_glyph = _.second;
+        _ = *++it;
+      }
+      else
       {
         /* Retain the SID for the old missing glyph ID */
         old_glyph = glyph;
       }
-      sid = glyph_to_sid_map ? glyph_to_sid_map->get (old_glyph) : acc.glyph_to_sid (old_glyph);
+      unsigned sid = glyph_to_sid_map ?
+                     glyph_to_sid_map->arrayZ[old_glyph].code :
+                     acc.glyph_to_sid (old_glyph, &glyph_to_sid_cache);
 
-      if (!acc.is_CID ())
+      if (not_is_cid)
         sid = sidmap.add (sid);
 
-      if ((last_sid == CFF_UNDEF_CODE) || (sid != last_sid + 1))
+      if (sid != last_sid + 1)
+        subset_charset_ranges.push (code_pair_t {sid, glyph});
+
+      if (glyph == old_glyph && skip)
       {
-        code_pair_t pair = { sid, glyph };
-        subset_charset_ranges.push (pair);
+        glyph = hb_min (_.first - 1, glyph_to_sid_map->arrayZ[old_glyph].glyph);
+        sid += glyph - old_glyph;
       }
       last_sid = sid;
     }
 
     if (created_map)
     {
-      if (!(plan->accelerator && plan->accelerator->cff_accelerator) ||
-          !plan->accelerator->cff_accelerator->glyph_to_sid_map.cmpexch (nullptr, glyph_to_sid_map))
-        hb_map_destroy (glyph_to_sid_map);
+      if ((!plan->accelerator && acc.cff_accelerator) ||
+          !acc.cff_accelerator->glyph_to_sid_map.cmpexch (nullptr, glyph_to_sid_map))
+      {
+        glyph_to_sid_map->~glyph_to_sid_map_t ();
+        hb_free (glyph_to_sid_map);
+      }
     }
 
-    bool two_byte = subset_charset_ranges.complete (glyph);
+    bool two_byte = subset_charset_ranges.complete (num_glyphs);
 
-    size0 = Charset0::min_size + HBUINT16::static_size * (plan->num_output_glyphs () - 1);
+    size0 = Charset0::get_size (plan->num_output_glyphs ());
     if (!two_byte)
-      size_ranges = Charset1::min_size + Charset1_Range::static_size * subset_charset_ranges.length;
+      size_ranges = Charset1::get_size_for_ranges (subset_charset_ranges.length);
     else
-      size_ranges = Charset2::min_size + Charset2_Range::static_size * subset_charset_ranges.length;
+      size_ranges = Charset2::get_size_for_ranges (subset_charset_ranges.length);
 
     if (size0 < size_ranges)
       subset_charset_format = 0;
@@ -528,19 +585,18 @@
       subset_charset_format = 1;
     else
       subset_charset_format = 2;
+
+    return true;
   }
 
   bool collect_sids_in_dicts (const OT::cff1::accelerator_subset_t &acc)
   {
-    sidmap.reset ();
-
     for (unsigned int i = 0; i < name_dict_values_t::ValCount; i++)
     {
       unsigned int sid = acc.topDict.nameSIDs[i];
       if (sid != CFF_UNDEF_SID)
       {
-        (void)sidmap.add (sid);
-        topDictModSIDs[i] = sidmap[sid];
+        topDictModSIDs[i] = sidmap.add (sid);
       }
     }
 
@@ -564,19 +620,18 @@
     drop_hints = plan->flags & HB_SUBSET_FLAGS_NO_HINTING;
     desubroutinize = plan->flags & HB_SUBSET_FLAGS_DESUBROUTINIZE;
 
-    /* check whether the subset renumbers any glyph IDs */
-    gid_renum = false;
-    for (hb_codepoint_t new_glyph = 0; new_glyph < plan->num_output_glyphs (); new_glyph++)
-    {
-      if (!plan->old_gid_for_new_gid(new_glyph, &old_glyph))
-        continue;
-      if (new_glyph != old_glyph) {
-        gid_renum = true;
-        break;
+    subset_charset = !acc.is_predef_charset ();
+    if (!subset_charset)
+      /* check whether the subset renumbers any glyph IDs */
+      for (const auto &_ : plan->new_to_old_gid_list)
+      {
+        if (_.first != _.second)
+        {
+          subset_charset = true;
+          break;
+        }
       }
-    }
 
-    subset_charset = gid_renum || !acc.is_predef_charset ();
     subset_encoding = !acc.is_CID() && !acc.is_predef_encoding ();
 
     /* top dict INDEX */
@@ -618,7 +673,8 @@
       if (unlikely (sidmap.get_population () > 0x8000)) /* assumption: a dict won't reference that many strings */
         return false;
 
-      if (subset_charset) plan_subset_charset (acc, plan);
+      if (subset_charset && !plan_subset_charset (acc, plan))
+        return false;
 
       topdict_mod.reassignSIDs (sidmap);
     }
@@ -682,8 +738,9 @@
       ;
     }
 
-    return ((subset_charstrings.length == plan->num_output_glyphs ())
-           && (fontdicts_mod.length == subset_fdcount));
+    return !plan->in_error () &&
+           (subset_charstrings.length == plan->num_output_glyphs ()) &&
+           (fontdicts_mod.length == subset_fdcount);
   }
 
   cff1_top_dict_values_mod_t    topdict_mod;
@@ -722,24 +779,22 @@
 
   bool          desubroutinize = false;
 };
+} // namespace OT
 
-static bool _serialize_cff1 (hb_serialize_context_t *c,
-                             cff_subset_plan &plan,
-                             const OT::cff1::accelerator_subset_t  &acc,
-                             unsigned int num_glyphs)
+bool
+OT::cff1::accelerator_subset_t::serialize (hb_serialize_context_t *c,
+                                           struct OT::cff1_subset_plan &plan) const
 {
   /* private dicts & local subrs */
-  for (int i = (int)acc.privateDicts.length; --i >= 0 ;)
+  for (int i = (int) privateDicts.length; --i >= 0 ;)
   {
     if (plan.fdmap.has (i))
     {
       objidx_t  subrs_link = 0;
       if (plan.subset_localsubrs[i].length > 0)
       {
-        CFF1Subrs *dest = c->start_embed  ();
-        if (unlikely (!dest)) return false;
-        c->push ();
-        if (likely (dest && dest->serialize (c, plan.subset_localsubrs[i])))
+        auto *dest = c->push  ();
+        if (likely (dest->serialize (c, plan.subset_localsubrs[i])))
           subrs_link = c->pop_pack ();
         else
         {
@@ -748,12 +803,10 @@
         }
       }
 
-      PrivateDict *pd = c->start_embed ();
-      if (unlikely (!pd)) return false;
-      c->push ();
+      auto *pd = c->push ();
       cff1_private_dict_op_serializer_t privSzr (plan.desubroutinize, plan.drop_hints);
       /* N.B. local subrs immediately follows its corresponding private dict. i.e., subr offset == private dict size */
-      if (likely (pd->serialize (c, acc.privateDicts[i], privSzr, subrs_link)))
+      if (likely (pd->serialize (c, privateDicts[i], privSzr, subrs_link)))
       {
         unsigned fd = plan.fdmap[i];
         plan.fontdicts_mod[fd].privateDictInfo.size = c->length ();
@@ -767,21 +820,20 @@
     }
   }
 
-  if (!acc.is_CID ())
+  if (!is_CID ())
     plan.info.privateDictInfo = plan.fontdicts_mod[0].privateDictInfo;
 
   /* CharStrings */
   {
     c->push ();
 
-    unsigned total_size = CFF1CharStrings::total_size (plan.subset_charstrings);
+    unsigned data_size = 0;
+    unsigned total_size = CFF1CharStrings::total_size (plan.subset_charstrings, &data_size);
     if (unlikely (!c->start_zerocopy (total_size)))
        return false;
 
-    CFF1CharStrings  *cs = c->start_embed ();
-    if (unlikely (!cs)) return false;
-
-    if (likely (cs->serialize (c, plan.subset_charstrings)))
+    auto *cs = c->start_embed ();
+    if (likely (cs->serialize (c, plan.subset_charstrings, &data_size)))
       plan.info.char_strings_link = c->pop_pack (false);
     else
     {
@@ -791,11 +843,9 @@
   }
 
   /* FDArray (FD Index) */
-  if (acc.fdArray != &Null (CFF1FDArray))
+  if (fdArray != &Null (CFF1FDArray))
   {
-    CFF1FDArray *fda = c->start_embed ();
-    if (unlikely (!fda)) return false;
-    c->push ();
+    auto *fda = c->push ();
     cff1_font_dict_op_serializer_t  fontSzr;
     auto it = + hb_zip (+ hb_iter (plan.fontdicts_mod), + hb_iter (plan.fontdicts_mod));
     if (likely (fda->serialize (c, it, fontSzr)))
@@ -808,10 +858,10 @@
   }
 
   /* FDSelect */
-  if (acc.fdSelect != &Null (CFF1FDSelect))
+  if (fdSelect != &Null (CFF1FDSelect))
   {
     c->push ();
-    if (likely (hb_serialize_cff_fdselect (c, num_glyphs, *acc.fdSelect, acc.fdCount,
+    if (likely (hb_serialize_cff_fdselect (c, plan.num_glyphs, *fdSelect, fdCount,
                                            plan.subset_fdselect_format, plan.info.fd_select.size,
                                            plan.subset_fdselect_ranges)))
       plan.info.fd_select.link = c->pop_pack ();
@@ -825,9 +875,7 @@
   /* Charset */
   if (plan.subset_charset)
   {
-    Charset *dest = c->start_embed ();
-    if (unlikely (!dest)) return false;
-    c->push ();
+    auto *dest = c->push ();
     if (likely (dest->serialize (c,
                                  plan.subset_charset_format,
                                  plan.num_glyphs,
@@ -843,9 +891,7 @@
   /* Encoding */
   if (plan.subset_encoding)
   {
-    Encoding *dest = c->start_embed ();
-    if (unlikely (!dest)) return false;
-    c->push ();
+    auto *dest = c->push ();
     if (likely (dest->serialize (c,
                                  plan.subset_enc_format,
                                  plan.subset_enc_num_codes,
@@ -861,9 +907,7 @@
 
   /* global subrs */
   {
-    c->push ();
-    CFF1Subrs *dest = c->start_embed  ();
-    if (unlikely (!dest)) return false;
+    auto *dest = c->push  ();
     if (likely (dest->serialize (c, plan.subset_globalsubrs)))
       c->pop_pack (false);
     else
@@ -875,10 +919,9 @@
 
   /* String INDEX */
   {
-    CFF1StringIndex *dest = c->start_embed ();
-    if (unlikely (!dest)) return false;
-    c->push ();
-    if (likely (dest->serialize (c, *acc.stringIndex, plan.sidmap)))
+    auto *dest = c->push ();
+    if (likely (!plan.sidmap.in_error () &&
+                dest->serialize (c, *stringIndex, plan.sidmap.vector)))
       c->pop_pack ();
     else
     {
@@ -898,14 +941,12 @@
   cff->offSize = 4; /* unused? */
 
   /* name INDEX */
-  if (unlikely (!(*acc.nameIndex).copy (c))) return false;
+  if (unlikely (!c->embed (*nameIndex))) return false;
 
   /* top dict INDEX */
   {
     /* serialize singleton TopDict */
-    TopDict *top = c->start_embed ();
-    if (!top) return false;
-    c->push ();
+    auto *top = c->push ();
     cff1_top_dict_op_serializer_t topSzr;
     unsigned top_size = 0;
     top_dict_modifiers_t  modifier (plan.info, plan.topDictModSIDs);
@@ -920,36 +961,23 @@
       return false;
     }
     /* serialize INDEX header for above */
-    CFF1Index *dest = c->start_embed ();
-    if (!dest) return false;
-    return dest->serialize_header (c, hb_iter (hb_array_t (&top_size, 1)));
+    auto *dest = c->start_embed ();
+    return dest->serialize_header (c, hb_iter (&top_size, 1), top_size);
   }
 }
 
-static bool
-_hb_subset_cff1 (const OT::cff1::accelerator_subset_t  &acc,
-                hb_subset_context_t     *c)
+bool
+OT::cff1::accelerator_subset_t::subset (hb_subset_context_t *c) const
 {
-  cff_subset_plan cff_plan;
+  cff1_subset_plan cff_plan;
 
-  if (unlikely (!cff_plan.create (acc, c->plan)))
+  if (unlikely (!cff_plan.create (*this, c->plan)))
   {
     DEBUG_MSG(SUBSET, nullptr, "Failed to generate a cff subsetting plan.");
     return false;
   }
 
-  return _serialize_cff1 (c->serializer, cff_plan, acc, c->plan->num_output_glyphs ());
-}
-
-bool
-hb_subset_cff1 (hb_subset_context_t *c)
-{
-  OT::cff1::accelerator_subset_t acc;
-  acc.init (c->plan->source);
-  bool result = likely (acc.is_valid ()) && _hb_subset_cff1 (acc, c);
-  acc.fini ();
-
-  return result;
+  return serialize (c->serializer, cff_plan);
 }
 
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.hh	2024-04-08 05:38:38.000000000 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright © 2018 Adobe Inc.
- *
- *  This is part of HarfBuzz, a text shaping library.
- *
- * Permission is hereby granted, without written agreement and without
- * license or royalty fees, to use, copy, modify, and distribute this
- * software and its documentation for any purpose, provided that the
- * above copyright notice and the following two paragraphs appear in
- * all copies of this software.
- *
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * Adobe Author(s): Michiharu Ariza
- */
-
-#ifndef HB_SUBSET_CFF1_HH
-#define HB_SUBSET_CFF1_HH
-
-#include "hb.hh"
-
-#include "hb-subset-plan.hh"
-
-HB_INTERNAL bool
-hb_subset_cff1 (hb_subset_context_t *c);
-
-#endif /* HB_SUBSET_CFF1_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc	2024-04-08 05:38:38.000000000 +0000
@@ -31,7 +31,6 @@
 #include "hb-open-type.hh"
 #include "hb-ot-cff2-table.hh"
 #include "hb-set.h"
-#include "hb-subset-cff2.hh"
 #include "hb-subset-plan.hh"
 #include "hb-subset-cff-common.hh"
 #include "hb-cff2-interp-cs.hh"
@@ -422,11 +421,17 @@
 };
 
 
+namespace OT {
 struct cff2_subset_plan
 {
   bool create (const OT::cff2::accelerator_subset_t &acc,
               hb_subset_plan_t *plan)
   {
+    /* make sure notdef is first */
+    hb_codepoint_t old_glyph;
+    if (!plan->old_gid_for_new_gid (0, &old_glyph) || (old_glyph != 0)) return false;
+
+    num_glyphs = plan->num_output_glyphs ();
     orig_fdcount = acc.fdArray->count;
 
     drop_hints = plan->flags & HB_SUBSET_FLAGS_NO_HINTING;
@@ -489,6 +494,7 @@
 
   cff2_sub_table_info_t info;
 
+  unsigned int    num_glyphs;
   unsigned int    orig_fdcount = 0;
   unsigned int    subset_fdcount = 1;
   unsigned int    subset_fdselect_size = 0;
@@ -505,18 +511,18 @@
   bool      drop_hints = false;
   bool      desubroutinize = false;
 };
+} // namespace OT
 
-static bool _serialize_cff2 (hb_serialize_context_t *c,
-                             cff2_subset_plan &plan,
-                             const OT::cff2::accelerator_subset_t  &acc,
-                             unsigned int num_glyphs,
-                             hb_array_t normalized_coords)
+bool
+OT::cff2::accelerator_subset_t::serialize (hb_serialize_context_t *c,
+                                           struct cff2_subset_plan &plan,
+                                           hb_array_t normalized_coords) const
 {
   /* private dicts & local subrs */
   hb_vector_t  private_dict_infos;
   if (unlikely (!private_dict_infos.resize (plan.subset_fdcount))) return false;
 
-  for (int i = (int)acc.privateDicts.length; --i >= 0 ;)
+  for (int i = (int)privateDicts.length; --i >= 0 ;)
   {
     if (plan.fdmap.has (i))
     {
@@ -524,9 +530,7 @@
 
       if (plan.subset_localsubrs[i].length > 0)
       {
-        CFF2Subrs *dest = c->start_embed  ();
-        if (unlikely (!dest)) return false;
-        c->push ();
+        auto *dest = c->push  ();
         if (likely (dest->serialize (c, plan.subset_localsubrs[i])))
           subrs_link = c->pop_pack (false);
         else
@@ -535,12 +539,10 @@
           return false;
         }
       }
-      PrivateDict *pd = c->start_embed ();
-      if (unlikely (!pd)) return false;
-      c->push ();
+      auto *pd = c->push ();
       cff2_private_dict_op_serializer_t privSzr (plan.desubroutinize, plan.drop_hints, plan.pinned,
-                                                 acc.varStore, normalized_coords);
-      if (likely (pd->serialize (c, acc.privateDicts[i], privSzr, subrs_link)))
+                                                 varStore, normalized_coords);
+      if (likely (pd->serialize (c, privateDicts[i], privSzr, subrs_link)))
       {
         unsigned fd = plan.fdmap[i];
         private_dict_infos[fd].size = c->length ();
@@ -558,14 +560,13 @@
   {
     c->push ();
 
-    unsigned total_size = CFF2CharStrings::total_size (plan.subset_charstrings);
+    unsigned data_size = 0;
+    unsigned total_size = CFF2CharStrings::total_size (plan.subset_charstrings, &data_size);
     if (unlikely (!c->start_zerocopy (total_size)))
        return false;
 
-    CFF2CharStrings  *cs = c->start_embed ();
-    if (unlikely (!cs)) return false;
-
-    if (likely (cs->serialize (c, plan.subset_charstrings)))
+    auto *cs = c->start_embed ();
+    if (likely (cs->serialize (c, plan.subset_charstrings, &data_size)))
       plan.info.char_strings_link = c->pop_pack (false);
     else
     {
@@ -575,10 +576,10 @@
   }
 
   /* FDSelect */
-  if (acc.fdSelect != &Null (CFF2FDSelect))
+  if (fdSelect != &Null (CFF2FDSelect))
   {
     c->push ();
-    if (likely (hb_serialize_cff_fdselect (c, num_glyphs, *(const FDSelect *)acc.fdSelect,
+    if (likely (hb_serialize_cff_fdselect (c, plan.num_glyphs, *(const FDSelect *)fdSelect,
                                            plan.orig_fdcount,
                                            plan.subset_fdselect_format, plan.subset_fdselect_size,
                                            plan.subset_fdselect_ranges)))
@@ -592,27 +593,32 @@
 
   /* FDArray (FD Index) */
   {
-    c->push ();
-    CFF2FDArray *fda = c->start_embed ();
-    if (unlikely (!fda)) return false;
+    auto *fda = c->push ();
     cff_font_dict_op_serializer_t fontSzr;
     auto it =
-    + hb_zip (+ hb_iter (acc.fontDicts)
+    + hb_zip (+ hb_iter (fontDicts)
               | hb_filter ([&] (const cff2_font_dict_values_t &_)
-                { return plan.fdmap.has (&_ - &acc.fontDicts[0]); }),
+                { return plan.fdmap.has (&_ - &fontDicts[0]); }),
               hb_iter (private_dict_infos))
     ;
-    if (unlikely (!fda->serialize (c, it, fontSzr))) return false;
+    if (unlikely (!fda->serialize (c, it, fontSzr)))
+    {
+      c->pop_discard ();
+      return false;
+    }
     plan.info.fd_array_link = c->pop_pack (false);
   }
 
   /* variation store */
-  if (acc.varStore != &Null (CFF2VariationStore) &&
+  if (varStore != &Null (CFF2VariationStore) &&
       !plan.pinned)
   {
-    c->push ();
-    CFF2VariationStore *dest = c->start_embed ();
-    if (unlikely (!dest || !dest->serialize (c, acc.varStore))) return false;
+    auto *dest = c->push ();
+    if (unlikely (!dest->serialize (c, varStore)))
+    {
+      c->pop_discard ();
+      return false;
+    }
     plan.info.var_store_link = c->pop_pack (false);
   }
 
@@ -628,34 +634,25 @@
   {
     TopDict &dict = cff2 + cff2->topDict;
     cff2_top_dict_op_serializer_t topSzr;
-    if (unlikely (!dict.serialize (c, acc.topDict, topSzr, plan.info))) return false;
+    if (unlikely (!dict.serialize (c, topDict, topSzr, plan.info))) return false;
     cff2->topDictSize = c->head - (const char *)&dict;
   }
 
   /* global subrs */
   {
-    CFF2Subrs *dest = c->start_embed  ();
-    if (unlikely (!dest)) return false;
+    auto *dest = c->start_embed  ();
     return dest->serialize (c, plan.subset_globalsubrs);
   }
 }
 
-static bool
-_hb_subset_cff2 (const OT::cff2::accelerator_subset_t  &acc,
-                 hb_subset_context_t    *c)
+bool
+OT::cff2::accelerator_subset_t::subset (hb_subset_context_t *c) const
 {
   cff2_subset_plan cff2_plan;
 
-  if (unlikely (!cff2_plan.create (acc, c->plan))) return false;
-  return _serialize_cff2 (c->serializer, cff2_plan, acc, c->plan->num_output_glyphs (),
-                          c->plan->normalized_coords.as_array ());
-}
-
-bool
-hb_subset_cff2 (hb_subset_context_t *c)
-{
-  OT::cff2::accelerator_subset_t acc (c->plan->source);
-  return acc.is_valid () && _hb_subset_cff2 (acc, c);
+  if (unlikely (!cff2_plan.create (*this, c->plan))) return false;
+  return serialize (c->serializer, cff2_plan,
+                    c->plan->normalized_coords.as_array ());
 }
 
 #endif
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.hh	2024-04-08 05:38:38.000000000 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright © 2018 Adobe Inc.
- *
- *  This is part of HarfBuzz, a text shaping library.
- *
- * Permission is hereby granted, without written agreement and without
- * license or royalty fees, to use, copy, modify, and distribute this
- * software and its documentation for any purpose, provided that the
- * above copyright notice and the following two paragraphs appear in
- * all copies of this software.
- *
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * Adobe Author(s): Michiharu Ariza
- */
-
-#ifndef HB_SUBSET_CFF2_HH
-#define HB_SUBSET_CFF2_HH
-
-#include "hb.hh"
-
-#include "hb-subset-plan.hh"
-
-HB_INTERNAL bool
-hb_subset_cff2 (hb_subset_context_t *c);
-
-#endif /* HB_SUBSET_CFF2_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc	2024-04-08 05:38:38.000000000 +0000
@@ -69,14 +69,11 @@
   sets.drop_tables->add_array (default_drop_tables, ARRAY_LENGTH (default_drop_tables));
 
   hb_tag_t default_no_subset_tables[] = {
-    HB_TAG ('a', 'v', 'a', 'r'),
     HB_TAG ('g', 'a', 's', 'p'),
     HB_TAG ('f', 'p', 'g', 'm'),
     HB_TAG ('p', 'r', 'e', 'p'),
     HB_TAG ('V', 'D', 'M', 'X'),
     HB_TAG ('D', 'S', 'I', 'G'),
-    HB_TAG ('M', 'V', 'A', 'R'),
-    HB_TAG ('c', 'v', 'a', 'r'),
   };
   sets.no_subset_tables->add_array (default_no_subset_tables,
                                          ARRAY_LENGTH (default_no_subset_tables));
@@ -438,7 +435,8 @@
   if (!hb_ot_var_find_axis_info (face, axis_tag, &axis_info))
     return false;
 
-  return input->axes_location.set (axis_tag, axis_info.default_value);
+  float default_val = axis_info.default_value;
+  return input->axes_location.set (axis_tag, Triple (default_val, default_val, default_val));
 }
 
 /**
@@ -468,8 +466,59 @@
     return false;
 
   float val = hb_clamp(axis_value, axis_info.min_value, axis_info.max_value);
-  return input->axes_location.set (axis_tag, val);
+  return input->axes_location.set (axis_tag, Triple (val, val, val));
 }
+
+#ifdef HB_EXPERIMENTAL_API
+/**
+ * hb_subset_input_set_axis_range: (skip)
+ * @input: a #hb_subset_input_t object.
+ * @face: a #hb_face_t object.
+ * @axis_tag: Tag of the axis
+ * @axis_min_value: Minimum value of the axis variation range to set
+ * @axis_max_value: Maximum value of the axis variation range to set
+ * @axis_def_value: Default value of the axis variation range to set, in case of
+ * null, it'll be determined automatically
+ *
+ * Restricting the range of variation on an axis in the given subset input object.
+ * New min/default/max values will be clamped if they're not within the fvar axis range.
+ * If the new default value is null:
+ * If the fvar axis default value is within the new range, then new default
+ * value is the same as original default value.
+ * If the fvar axis default value is not within the new range, the new default
+ * value will be changed to the new min or max value, whichever is closer to the fvar
+ * axis default.
+ *
+ * Note: input min value can not be bigger than input max value. If the input
+ * default value is not within the new min/max range, it'll be clamped.
+ * Note: currently it supports gvar and cvar tables only.
+ *
+ * Return value: `true` if success, `false` otherwise
+ *
+ * XSince: EXPERIMENTAL
+ **/
+HB_EXTERN hb_bool_t
+hb_subset_input_set_axis_range (hb_subset_input_t  *input,
+                                hb_face_t          *face,
+                                hb_tag_t            axis_tag,
+                                float               axis_min_value,
+                                float               axis_max_value,
+                                float              *axis_def_value /* IN, maybe NULL */)
+{
+  if (axis_min_value > axis_max_value)
+    return false;
+
+  hb_ot_var_axis_info_t axis_info;
+  if (!hb_ot_var_find_axis_info (face, axis_tag, &axis_info))
+    return false;
+
+  float new_min_val = hb_clamp(axis_min_value, axis_info.min_value, axis_info.max_value);
+  float new_max_val = hb_clamp(axis_max_value, axis_info.min_value, axis_info.max_value);
+  float new_default_val = axis_def_value ? *axis_def_value : axis_info.default_value;
+  new_default_val = hb_clamp(new_default_val, new_min_val, new_max_val);
+  return input->axes_location.set (axis_tag, Triple (new_min_val, new_default_val, new_max_val));
+}
+#endif
 #endif
 
 /**
@@ -520,6 +569,37 @@
   return new_source;
 }
 
+/**
+ * hb_subset_input_old_to_new_glyph_mapping:
+ * @input: a #hb_subset_input_t object.
+ *
+ * Returns a map which can be used to provide an explicit mapping from old to new glyph
+ * id's in the produced subset. The caller should populate the map as desired.
+ * If this map is left empty then glyph ids will be automatically mapped to new
+ * values by the subsetter. If populated, the mapping must be unique. That
+ * is no two original glyph ids can be mapped to the same new id.
+ * Additionally, if a mapping is provided then the retain gids option cannot
+ * be enabled.
+ *
+ * Any glyphs that are retained in the subset which are not specified
+ * in this mapping will be assigned glyph ids after the highest glyph
+ * id in the mapping.
+ *
+ * Note: this will accept and apply non-monotonic mappings, however this
+ * may result in unsorted Coverage tables. Such fonts may not work for all
+ * use cases (for example ots will reject unsorted coverage tables). So it's
+ * recommended, if possible, to supply a monotonic mapping.
+ *
+ * Return value: (transfer none): pointer to the #hb_map_t of the custom glyphs ID map.
+ *
+ * Since: 7.3.0
+ **/
+HB_EXTERN hb_map_t*
+hb_subset_input_old_to_new_glyph_mapping (hb_subset_input_t *input)
+{
+  return &input->glyph_map;
+}
+
 #ifdef HB_EXPERIMENTAL_API
 /**
  * hb_subset_input_override_name_table:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-input.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-input.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-input.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-input.hh	2024-04-08 05:38:38.000000000 +0000
@@ -35,6 +35,7 @@
 #include "hb-set.hh"
 #include "hb-cplusplus.hh"
 #include "hb-font.hh"
+#include "hb-subset-instancer-solver.hh"
 
 struct hb_ot_name_record_ids_t
 {
@@ -118,7 +119,8 @@
   // If set loca format will always be the long version.
   bool force_long_loca = false;
 
-  hb_hashmap_t axes_location;
+  hb_hashmap_t axes_location;
+  hb_map_t glyph_map;
 #ifdef HB_EXPERIMENTAL_API
   hb_hashmap_t name_table_overrides;
 #endif
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.cc	1970-01-01 00:00:00.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.cc	2024-04-08 05:38:38.000000000 +0000
@@ -0,0 +1,429 @@
+/*
+ * Copyright © 2023  Behdad Esfahbod
+ *
+ *  This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ */
+
+#include "hb-subset-instancer-solver.hh"
+
+/* This file is a straight port of the following:
+ *
+ * https://github.com/fonttools/fonttools/blob/f73220816264fc383b8a75f2146e8d69e455d398/Lib/fontTools/varLib/instancer/solver.py
+ *
+ * Where that file returns None for a triple, we return Triple{}.
+ * This should be safe.
+ */
+
+constexpr static float EPSILON = 1.f / (1 << 14);
+constexpr static float MAX_F2DOT14 = float (0x7FFF) / (1 << 14);
+
+static inline Triple _reverse_negate(const Triple &v)
+{ return {-v.maximum, -v.middle, -v.minimum}; }
+
+
+static inline float supportScalar (float coord, const Triple &tent)
+{
+  /* Copied from VarRegionAxis::evaluate() */
+  float start = tent.minimum, peak = tent.middle, end = tent.maximum;
+
+  if (unlikely (start > peak || peak > end))
+    return 1.;
+  if (unlikely (start < 0 && end > 0 && peak != 0))
+    return 1.;
+
+  if (peak == 0 || coord == peak)
+    return 1.;
+
+  if (coord <= start || end <= coord)
+    return 0.;
+
+  /* Interpolate */
+  if (coord < peak)
+    return (coord - start) / (peak - start);
+  else
+    return  (end - coord) / (end - peak);
+}
+
+static inline result_t
+_solve (Triple tent, Triple axisLimit, bool negative = false)
+{
+  float axisMin = axisLimit.minimum;
+  float axisDef = axisLimit.middle;
+  float axisMax = axisLimit.maximum;
+  float lower = tent.minimum;
+  float peak  = tent.middle;
+  float upper = tent.maximum;
+
+  // Mirror the problem such that axisDef <= peak
+  if (axisDef > peak)
+  {
+    result_t vec = _solve (_reverse_negate (tent),
+                           _reverse_negate (axisLimit),
+                           !negative);
+
+    for (auto &p : vec)
+      p = hb_pair (p.first, _reverse_negate (p.second));
+
+    return vec;
+  }
+  // axisDef <= peak
+
+  /* case 1: The whole deltaset falls outside the new limit; we can drop it
+   *
+   *                                          peak
+   *  1.........................................o..........
+   *                                           / \
+   *                                          /   \
+   *                                         /     \
+   *                                        /       \
+   *  0---|-----------|----------|-------- o         o----1
+   *    axisMin     axisDef    axisMax   lower     upper
+   */
+  if (axisMax <= lower && axisMax < peak)
+      return result_t{};  // No overlap
+
+  /* case 2: Only the peak and outermost bound fall outside the new limit;
+   * we keep the deltaset, update peak and outermost bound and scale deltas
+   * by the scalar value for the restricted axis at the new limit, and solve
+   * recursively.
+   *
+   *                                  |peak
+   *  1...............................|.o..........
+   *                                  |/ \
+   *                                  /   \
+   *                                 /|    \
+   *                                / |     \
+   *  0--------------------------- o  |      o----1
+   *                           lower  |      upper
+   *                                  |
+   *                                axisMax
+   *
+   * Convert to:
+   *
+   *  1............................................
+   *                                  |
+   *                                  o peak
+   *                                 /|
+   *                                /x|
+   *  0--------------------------- o  o upper ----1
+   *                           lower  |
+   *                                  |
+   *                                axisMax
+   */
+  if (axisMax < peak)
+  {
+    float mult = supportScalar (axisMax, tent);
+    tent = Triple{lower, axisMax, axisMax};
+
+    result_t vec = _solve (tent, axisLimit);
+
+    for (auto &p : vec)
+      p = hb_pair (p.first * mult, p.second);
+
+    return vec;
+  }
+
+  // lower <= axisDef <= peak <= axisMax
+
+  float gain = supportScalar (axisDef, tent);
+  result_t out {hb_pair (gain, Triple{})};
+
+  // First, the positive side
+
+  // outGain is the scalar of axisMax at the tent.
+  float outGain = supportScalar (axisMax, tent);
+
+  /* Case 3a: Gain is more than outGain. The tent down-slope crosses
+   * the axis into negative. We have to split it into multiples.
+   *
+   *                      | peak  |
+   *  1...................|.o.....|..............
+   *                      |/x\_   |
+   *  gain................+....+_.|..............
+   *                     /|    |y\|
+   *  ................../.|....|..+_......outGain
+   *                   /  |    |  | \
+   *  0---|-----------o   |    |  |  o----------1
+   *    axisMin    lower  |    |  |   upper
+   *                      |    |  |
+   *                axisDef    |  axisMax
+   *                           |
+   *                      crossing
+   */
+  if (gain > outGain)
+  {
+    // Crossing point on the axis.
+    float crossing = peak + (1 - gain) * (upper - peak);
+
+    Triple loc{axisDef, peak, crossing};
+    float scalar = 1.f;
+
+    // The part before the crossing point.
+    out.push (hb_pair (scalar - gain, loc));
+
+    /* The part after the crossing point may use one or two tents,
+     * depending on whether upper is before axisMax or not, in one
+     * case we need to keep it down to eternity.
+     *
+     * Case 3a1, similar to case 1neg; just one tent needed, as in
+     * the drawing above.
+     */
+    if (upper >= axisMax)
+    {
+      Triple loc {crossing, axisMax, axisMax};
+      float scalar = outGain;
+
+      out.push (hb_pair (scalar - gain, loc));
+    }
+
+    /* Case 3a2: Similar to case 2neg; two tents needed, to keep
+     * down to eternity.
+     *
+     *                      | peak             |
+     *  1...................|.o................|...
+     *                      |/ \_              |
+     *  gain................+....+_............|...
+     *                     /|    | \xxxxxxxxxxy|
+     *                    / |    |  \_xxxxxyyyy|
+     *                   /  |    |    \xxyyyyyy|
+     *  0---|-----------o   |    |     o-------|--1
+     *    axisMin    lower  |    |      upper  |
+     *                      |    |             |
+     *                axisDef    |             axisMax
+     *                           |
+     *                      crossing
+     */
+    else
+    {
+      // A tent's peak cannot fall on axis default. Nudge it.
+      if (upper == axisDef)
+        upper += EPSILON;
+
+      // Downslope.
+      Triple loc1 {crossing, upper, axisMax};
+      float scalar1 = 0.f;
+
+      // Eternity justify.
+      Triple loc2 {upper, axisMax, axisMax};
+      float scalar2 = 0.f;
+
+      out.push (hb_pair (scalar1 - gain, loc1));
+      out.push (hb_pair (scalar2 - gain, loc2));
+    }
+  }
+
+  else
+  {
+    // Special-case if peak is at axisMax.
+    if (axisMax == peak)
+        upper = peak;
+
+    /* Case 3:
+     * we keep deltas as is and only scale the axis upper to achieve
+     * the desired new tent if feasible.
+     *
+     *                        peak
+     *  1.....................o....................
+     *                       / \_|
+     *  ..................../....+_.........outGain
+     *                     /     | \
+     *  gain..............+......|..+_.............
+     *                   /|      |  | \
+     *  0---|-----------o |      |  |  o----------1
+     *    axisMin    lower|      |  |   upper
+     *                    |      |  newUpper
+     *              axisDef      axisMax
+     */
+    float newUpper = peak + (1 - gain) * (upper - peak);
+    assert (axisMax <= newUpper);  // Because outGain >= gain
+    if (newUpper <= axisDef + (axisMax - axisDef) * 2)
+    {
+      upper = newUpper;
+      if (!negative && axisDef + (axisMax - axisDef) * MAX_F2DOT14 < upper)
+      {
+        // we clamp +2.0 to the max F2Dot14 (~1.99994) for convenience
+        upper = axisDef + (axisMax - axisDef) * MAX_F2DOT14;
+        assert (peak < upper);
+      }
+
+      Triple loc {hb_max (axisDef, lower), peak, upper};
+      float scalar = 1.f;
+
+      out.push (hb_pair (scalar - gain, loc));
+    }
+
+    /* Case 4: New limit doesn't fit; we need to chop into two tents,
+     * because the shape of a triangle with part of one side cut off
+     * cannot be represented as a triangle itself.
+     *
+     *            |   peak |
+     *  1.........|......o.|....................
+     *  ..........|...../x\|.............outGain
+     *            |    |xxy|\_
+     *            |   /xxxy|  \_
+     *            |  |xxxxy|    \_
+     *            |  /xxxxy|      \_
+     *  0---|-----|-oxxxxxx|        o----------1
+     *    axisMin | lower  |        upper
+     *            |        |
+     *          axisDef  axisMax
+     */
+    else
+    {
+      Triple loc1 {hb_max (axisDef, lower), peak, axisMax};
+      float scalar1 = 1.f;
+
+      Triple loc2 {peak, axisMax, axisMax};
+      float scalar2 = outGain;
+
+      out.push (hb_pair (scalar1 - gain, loc1));
+      // Don't add a dirac delta!
+      if (peak < axisMax)
+        out.push (hb_pair (scalar2 - gain, loc2));
+    }
+  }
+
+  /* Now, the negative side
+   *
+   * Case 1neg: Lower extends beyond axisMin: we chop. Simple.
+   *
+   *                     |   |peak
+   *  1..................|...|.o.................
+   *                     |   |/ \
+   *  gain...............|...+...\...............
+   *                     |x_/|    \
+   *                     |/  |     \
+   *                   _/|   |      \
+   *  0---------------o  |   |       o----------1
+   *              lower  |   |       upper
+   *                     |   |
+   *               axisMin   axisDef
+   */
+  if (lower <= axisMin)
+  {
+    Triple loc {axisMin, axisMin, axisDef};
+    float scalar = supportScalar (axisMin, tent);
+
+    out.push (hb_pair (scalar - gain, loc));
+  }
+
+  /* Case 2neg: Lower is betwen axisMin and axisDef: we add two
+   * tents to keep it down all the way to eternity.
+   *
+   *      |               |peak
+   *  1...|...............|.o.................
+   *      |               |/ \
+   *  gain|...............+...\...............
+   *      |yxxxxxxxxxxxxx/|    \
+   *      |yyyyyyxxxxxxx/ |     \
+   *      |yyyyyyyyyyyx/  |      \
+   *  0---|-----------o   |       o----------1
+   *    axisMin    lower  |       upper
+   *                      |
+   *                    axisDef
+   */
+  else
+  {
+    // A tent's peak cannot fall on axis default. Nudge it.
+    if (lower == axisDef)
+      lower -= EPSILON;
+
+    // Downslope.
+    Triple loc1 {axisMin, lower, axisDef};
+    float scalar1 = 0.f;
+
+    // Eternity justify.
+    Triple loc2 {axisMin, axisMin, lower};
+    float scalar2 = 0.f;
+
+    out.push (hb_pair (scalar1 - gain, loc1));
+    out.push (hb_pair (scalar2 - gain, loc2));
+  }
+
+  return out;
+}
+
+static inline TripleDistances _reverse_triple_distances (const TripleDistances &v)
+{ return TripleDistances (v.positive, v.negative); }
+
+float renormalizeValue (float v, const Triple &triple,
+                        const TripleDistances &triple_distances, bool extrapolate)
+{
+  float lower = triple.minimum, def = triple.middle, upper = triple.maximum;
+  assert (lower <= def && def <= upper);
+
+  if (!extrapolate)
+      v = hb_max (hb_min (v, upper), lower);
+
+  if (v == def)
+    return 0.f;
+
+  if (def < 0.f)
+    return -renormalizeValue (-v, _reverse_negate (triple),
+                              _reverse_triple_distances (triple_distances), extrapolate);
+
+  /* default >= 0 and v != default */
+  if (v > def)
+    return (v - def) / (upper - def);
+
+  /* v < def */
+  if (lower >= 0.f)
+    return (v - def) / (def - lower);
+
+  /* lower < 0 and v < default */
+  float total_distance = triple_distances.negative * (-lower) + triple_distances.positive * def;
+
+  float v_distance;
+  if (v >= 0.f)
+    v_distance = (def - v) * triple_distances.positive;
+  else
+    v_distance = (-v) * triple_distances.negative + triple_distances.positive * def;
+
+  return (-v_distance) /total_distance;
+}
+
+result_t
+rebase_tent (Triple tent, Triple axisLimit, TripleDistances axis_triple_distances)
+{
+  assert (-1.f <= axisLimit.minimum && axisLimit.minimum <= axisLimit.middle && axisLimit.middle <= axisLimit.maximum && axisLimit.maximum <= +1.f);
+  assert (-2.f <= tent.minimum && tent.minimum <= tent.middle && tent.middle <= tent.maximum && tent.maximum <= +2.f);
+  assert (tent.middle != 0.f);
+
+  result_t sols = _solve (tent, axisLimit);
+
+  auto n = [&axisLimit, &axis_triple_distances] (float v) { return renormalizeValue (v, axisLimit, axis_triple_distances); };
+
+  result_t out;
+  for (auto &p : sols)
+  {
+    if (!p.first) continue;
+    if (p.second == Triple{})
+    {
+      out.push (p);
+      continue;
+    }
+    Triple t = p.second;
+    out.push (hb_pair (p.first,
+                       Triple{n (t.minimum), n (t.middle), n (t.maximum)}));
+  }
+
+  return out;
+}
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.hh	1970-01-01 00:00:00.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.hh	2024-04-08 05:38:38.000000000 +0000
@@ -0,0 +1,112 @@
+/*
+ * Copyright © 2023  Behdad Esfahbod
+ *
+ *  This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ */
+
+#ifndef HB_SUBSET_INSTANCER_SOLVER_HH
+#define HB_SUBSET_INSTANCER_SOLVER_HH
+
+#include "hb.hh"
+
+/* pre-normalized distances */
+struct TripleDistances
+{
+  TripleDistances (): negative (1.f), positive (1.f) {}
+  TripleDistances (float neg_, float pos_): negative (neg_), positive (pos_) {}
+  TripleDistances (float min, float default_, float max)
+  {
+    negative = default_ - min;
+    positive = max - default_;
+  }
+
+  float negative;
+  float positive;
+};
+
+struct Triple {
+
+  Triple () :
+    minimum (0.f), middle (0.f), maximum (0.f) {}
+
+  Triple (float minimum_, float middle_, float maximum_) :
+    minimum (minimum_), middle (middle_), maximum (maximum_) {}
+
+  bool operator == (const Triple &o) const
+  {
+    return minimum == o.minimum &&
+           middle  == o.middle  &&
+           maximum == o.maximum;
+  }
+
+  bool operator != (const Triple o) const
+  { return !(*this == o); }
+
+  bool is_point () const
+  { return minimum == middle && middle == maximum; }
+
+  bool contains (float point) const
+  { return minimum <= point && point <= maximum; }
+
+  /* from hb_array_t hash ()*/
+  uint32_t hash () const
+  {
+    uint32_t current = /*cbf29ce4*/0x84222325;
+    current = current ^ hb_hash (minimum);
+    current = current * 16777619;
+
+    current = current ^ hb_hash (middle);
+    current = current * 16777619;
+
+    current = current ^ hb_hash (maximum);
+    current = current * 16777619;
+    return current;
+  }
+
+
+  float minimum;
+  float middle;
+  float maximum;
+};
+
+using result_item_t = hb_pair_t;
+using result_t = hb_vector_t;
+
+/* renormalize a normalized value v to the range of an axis,
+ * considering the prenormalized distances as well as the new axis limits.
+ * Ported from fonttools */
+HB_INTERNAL float renormalizeValue (float v, const Triple &triple,
+                                    const TripleDistances &triple_distances,
+                                    bool extrapolate = true);
+/* Given a tuple (lower,peak,upper) "tent" and new axis limits
+ * (axisMin,axisDefault,axisMax), solves how to represent the tent
+ * under the new axis configuration.  All values are in normalized
+ * -1,0,+1 coordinate system. Tent values can be outside this range.
+ *
+ * Return value: a list of tuples. Each tuple is of the form
+ * (scalar,tent), where scalar is a multipler to multiply any
+ * delta-sets by, and tent is a new tent for that output delta-set.
+ * If tent value is Triple{}, that is a special deltaset that should
+ * be always-enabled (called "gain").
+ */
+HB_INTERNAL result_t rebase_tent (Triple tent, Triple axisLimit, TripleDistances axis_triple_distances);
+
+#endif /* HB_SUBSET_INSTANCER_SOLVER_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-plan-member-list.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan-member-list.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-plan-member-list.hh	1970-01-01 00:00:00.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan-member-list.hh	2024-04-08 05:38:38.000000000 +0000
@@ -0,0 +1,137 @@
+/*
+ * Copyright © 2018  Google, Inc.
+ * Copyright © 2023  Behdad Esfahbod
+ *
+ *  This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * Google Author(s): Garret Rieger, Roderick Sheeter
+ */
+
+#ifndef HB_SUBSET_PLAN_MEMBER_LIST_HH
+#define HB_SUBSET_PLAN_MEMBER_LIST_HH
+#endif /* HB_SUBSET_PLAN_MEMBER_LIST_HH */ /* Dummy header guards */
+
+#define E(x, y) x, y
+
+// For each cp that we'd like to retain maps to the corresponding gid.
+HB_SUBSET_PLAN_MEMBER (hb_set_t, unicodes)
+HB_SUBSET_PLAN_MEMBER (hb_sorted_vector_t, unicode_to_new_gid_list)
+
+HB_SUBSET_PLAN_MEMBER (hb_sorted_vector_t, new_to_old_gid_list)
+
+// name_ids we would like to retain
+HB_SUBSET_PLAN_MEMBER (hb_set_t, name_ids)
+
+// name_languages we would like to retain
+HB_SUBSET_PLAN_MEMBER (hb_set_t, name_languages)
+
+//layout features which will be preserved
+HB_SUBSET_PLAN_MEMBER (hb_set_t, layout_features)
+
+// layout scripts which will be preserved.
+HB_SUBSET_PLAN_MEMBER (hb_set_t, layout_scripts)
+
+//glyph ids requested to retain
+HB_SUBSET_PLAN_MEMBER (hb_set_t, glyphs_requested)
+
+// Tables which should not be processed, just pass them through.
+HB_SUBSET_PLAN_MEMBER (hb_set_t, no_subset_tables)
+
+// Tables which should be dropped.
+HB_SUBSET_PLAN_MEMBER (hb_set_t, drop_tables)
+
+// Old -> New glyph id mapping
+HB_SUBSET_PLAN_MEMBER (hb_map_t, glyph_map_gsub)
+
+HB_SUBSET_PLAN_MEMBER (hb_set_t, _glyphset)
+HB_SUBSET_PLAN_MEMBER (hb_set_t, _glyphset_gsub)
+HB_SUBSET_PLAN_MEMBER (hb_set_t, _glyphset_mathed)
+HB_SUBSET_PLAN_MEMBER (hb_set_t, _glyphset_colred)
+
+//active lookups we'd like to retain
+HB_SUBSET_PLAN_MEMBER (hb_map_t, gsub_lookups)
+HB_SUBSET_PLAN_MEMBER (hb_map_t, gpos_lookups)
+
+//active langsys we'd like to retain
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(>), gsub_langsys)
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(>), gpos_langsys)
+
+//active features after removing redundant langsys and prune_features
+HB_SUBSET_PLAN_MEMBER (hb_map_t, gsub_features)
+HB_SUBSET_PLAN_MEMBER (hb_map_t, gpos_features)
+
+//active feature variation records/condition index with variations
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(>), gsub_feature_record_cond_idx_map)
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(>), gpos_feature_record_cond_idx_map)
+
+//feature index-> address of substituation feature table mapping with
+//variations
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(), gsub_feature_substitutes_map)
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(), gpos_feature_substitutes_map)
+
+//active layers/palettes we'd like to retain
+HB_SUBSET_PLAN_MEMBER (hb_map_t, colrv1_layers)
+HB_SUBSET_PLAN_MEMBER (hb_map_t, colr_palettes)
+
+//Old layout item variation index -> (New varidx, delta) mapping
+HB_SUBSET_PLAN_MEMBER (mutable hb_hashmap_t E()>), layout_variation_idx_delta_map)
+
+//gdef varstore retained varidx mapping
+HB_SUBSET_PLAN_MEMBER (hb_vector_t, gdef_varstore_inner_maps)
+
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(>), sanitized_table_cache)
+
+//normalized axes range map
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(), axes_location)
+HB_SUBSET_PLAN_MEMBER (hb_vector_t, normalized_coords)
+
+//user specified axes range map
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(), user_axes_location)
+//axis->TripleDistances map (distances in the pre-normalized space)
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(), axes_triple_distances)
+
+//retained old axis index -> new axis index mapping in fvar axis array
+HB_SUBSET_PLAN_MEMBER (hb_map_t, axes_index_map)
+
+//axis_index->axis_tag mapping in fvar axis array
+HB_SUBSET_PLAN_MEMBER (hb_map_t, axes_old_index_tag_map)
+//vector of retained axis tags in the order of axes given in the 'fvar' table
+HB_SUBSET_PLAN_MEMBER (hb_vector_t, axis_tags)
+
+//hmtx metrics map: new gid->(advance, lsb)
+HB_SUBSET_PLAN_MEMBER (mutable hb_hashmap_t E()>), hmtx_map)
+//vmtx metrics map: new gid->(advance, lsb)
+HB_SUBSET_PLAN_MEMBER (mutable hb_hashmap_t E()>), vmtx_map)
+//boundsWidth map: new gid->boundsWidth, boundWidth=xMax - xMin
+HB_SUBSET_PLAN_MEMBER (mutable hb_vector_t, bounds_width_vec)
+//boundsHeight map: new gid->boundsHeight, boundsHeight=yMax - yMin
+HB_SUBSET_PLAN_MEMBER (mutable hb_vector_t, bounds_height_vec)
+
+//map: new_gid -> contour points vector
+HB_SUBSET_PLAN_MEMBER (mutable hb_hashmap_t E(), new_gid_contour_points_map)
+
+#ifdef HB_EXPERIMENTAL_API
+// name table overrides map: hb_ot_name_record_ids_t-> name string new value or
+// None to indicate should remove
+HB_SUBSET_PLAN_MEMBER (hb_hashmap_t E(), name_table_overrides)
+#endif
+
+#undef E
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc	2024-04-08 05:38:38.000000000 +0000
@@ -48,10 +48,24 @@
 using OT::Layout::GSUB;
 using OT::Layout::GPOS;
 
+
+hb_subset_accelerator_t::~hb_subset_accelerator_t ()
+{
+  if (cmap_cache && destroy_cmap_cache)
+    destroy_cmap_cache ((void*) cmap_cache);
+
+#ifndef HB_NO_SUBSET_CFF
+  cff1_accel.fini ();
+  cff2_accel.fini ();
+#endif
+  hb_face_destroy (source);
+}
+
+
 typedef hb_hashmap_t> script_langsys_map;
 #ifndef HB_NO_SUBSET_CFF
 static inline bool
-_add_cff_seac_components (const OT::cff1::accelerator_t &cff,
+_add_cff_seac_components (const OT::cff1::accelerator_subset_t &cff,
                           hb_codepoint_t gid,
                           hb_set_t *gids_to_retain)
 {
@@ -135,7 +149,8 @@
                                      hb_set_t             *lookup_indices, /* OUT */
                                      hb_set_t             *feature_indices, /* OUT */
                                      hb_hashmap_t> *feature_record_cond_idx_map, /* OUT */
-                                     hb_hashmap_t *feature_substitutes_map /* OUT */)
+                                     hb_hashmap_t *feature_substitutes_map, /* OUT */
+                                     bool& insert_catch_all_feature_variation_record)
 {
   unsigned num_features = table.get_feature_count ();
   hb_vector_t features;
@@ -171,8 +186,11 @@
       &plan->axes_location,
       feature_record_cond_idx_map,
       feature_substitutes_map,
+      insert_catch_all_feature_variation_record,
       feature_indices,
-      true,
+      false,
+      false,
+      false,
       0,
       &conditionset_map
     };
@@ -283,7 +301,8 @@
                                   hb_map_t           *features,
                                   script_langsys_map *langsys_map,
                                   hb_hashmap_t> *feature_record_cond_idx_map,
-                                  hb_hashmap_t *feature_substitutes_map)
+                                  hb_hashmap_t *feature_substitutes_map,
+                                  bool& insert_catch_all_feature_variation_record)
 {
   hb_blob_ptr_t table = plan->source_table ();
   hb_tag_t table_tag = table->tableTag;
@@ -293,7 +312,8 @@
                               &lookup_indices,
                               &feature_indices,
                               feature_record_cond_idx_map,
-                              feature_substitutes_map);
+                              feature_substitutes_map,
+                              insert_catch_all_feature_variation_record);
 
   if (table_tag == HB_OT_TAG_GSUB && !(plan->flags & HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE))
     hb_ot_layout_lookups_substitute_closure (plan->source,
@@ -329,7 +349,7 @@
 {
   if (varidx_set.is_empty () || subtable_count == 0) return;
 
-  inner_maps.resize (subtable_count);
+  if (unlikely (!inner_maps.resize (subtable_count))) return;
   for (unsigned idx : varidx_set)
   {
     uint16_t major = idx >> 16;
@@ -356,7 +376,7 @@
   {
     hb_variation_t var;
     var.tag = _.first;
-    var.value = _.second;
+    var.value = _.second.middle;
     vars.push (var);
   }
 
@@ -379,42 +399,20 @@
     return;
   }
 
-  const OT::VariationStore *var_store = nullptr;
   hb_set_t varidx_set;
-  hb_font_t *font = nullptr;
-  float *store_cache = nullptr;
-  bool collect_delta = plan->pinned_at_default ? false : true;
-  if (collect_delta)
-  {
-    if (unlikely (!plan->check_success (font = _get_hb_font_with_variations (plan)))) {
-      hb_font_destroy (font);
-      gdef.destroy ();
-      gpos.destroy ();
-      return;
-    }
-
-    if (gdef->has_var_store ())
-    {
-      var_store = &(gdef->get_var_store ());
-      store_cache = var_store->create_cache ();
-    }
-  }
-
   OT::hb_collect_variation_indices_context_t c (&varidx_set,
-                                                &plan->layout_variation_idx_delta_map,
-                                                font, var_store,
                                                 &plan->_glyphset_gsub,
-                                                &plan->gpos_lookups,
-                                                store_cache);
+                                                &plan->gpos_lookups);
   gdef->collect_variation_indices (&c);
 
   if (hb_ot_layout_has_positioning (plan->source))
     gpos->collect_variation_indices (&c);
 
-  hb_font_destroy (font);
-  var_store->destroy_cache (store_cache);
-
-  gdef->remap_layout_variation_indices (&varidx_set, &plan->layout_variation_idx_delta_map);
+  gdef->remap_layout_variation_indices (&varidx_set,
+                                        plan->normalized_coords,
+                                        !plan->pinned_at_default,
+                                        plan->all_axes_pinned,
+                                        &plan->layout_variation_idx_delta_map);
 
   unsigned subtable_count = gdef->has_var_store () ? gdef->get_var_store ().get_sub_table_count () : 0;
   _generate_varstore_inner_maps (varidx_set, subtable_count, plan->gdef_varstore_inner_maps);
@@ -549,6 +547,8 @@
         unicodes->get_population () < cmap_unicodes->get_population () &&
         glyphs->get_population () < cmap_unicodes->get_population ())
     {
+      plan->codepoint_to_glyph->alloc (unicodes->get_population () + glyphs->get_population ());
+
       auto &gid_to_unicodes = plan->accelerator->gid_to_unicodes;
       for (hb_codepoint_t gid : *glyphs)
       {
@@ -577,6 +577,7 @@
     }
     else
     {
+      plan->codepoint_to_glyph->alloc (cmap_unicodes->get_population ());
       for (hb_codepoint_t cp : *cmap_unicodes)
       {
         hb_codepoint_t gid = (*unicode_glyphid_map)[cp];
@@ -589,11 +590,15 @@
     }
 
     /* Add gids which where requested, but not mapped in cmap */
-    for (hb_codepoint_t gid : *glyphs)
+    unsigned num_glyphs = plan->source->get_num_glyphs ();
+    hb_codepoint_t first = HB_SET_VALUE_INVALID, last = HB_SET_VALUE_INVALID;
+    for (; glyphs->next_range (&first, &last); )
     {
-      if (gid >= plan->source->get_num_glyphs ())
+      if (first >= num_glyphs)
         break;
-      plan->_glyphset_gsub.add (gid);
+      if (last >= num_glyphs)
+        last = num_glyphs - 1;
+      plan->_glyphset_gsub.add_range (first, last);
     }
   }
 
@@ -616,14 +621,17 @@
                             int operation_count,
                             unsigned depth = 0)
 {
-  if (unlikely (depth++ > HB_MAX_NESTING_LEVEL)) return operation_count;
-  if (unlikely (--operation_count < 0)) return operation_count;
   /* Check if is already visited */
   if (gids_to_retain->has (gid)) return operation_count;
 
   gids_to_retain->add (gid);
 
-  for (auto &item : glyf.glyph_for_gid (gid).get_composite_iterator ())
+  if (unlikely (depth++ > HB_MAX_NESTING_LEVEL)) return operation_count;
+  if (unlikely (--operation_count < 0)) return operation_count;
+
+  auto glyph = glyf.glyph_for_gid (gid);
+
+  for (auto &item : glyph.get_composite_iterator ())
     operation_count =
       _glyf_add_gid_and_children (glyf,
                                   item.get_gid (),
@@ -632,7 +640,7 @@
                                   depth);
 
 #ifndef HB_NO_VAR_COMPOSITES
-  for (auto &item : glyf.glyph_for_gid (gid).get_var_composite_iterator ())
+  for (auto &item : glyph.get_var_composite_iterator ())
    {
     operation_count =
       _glyf_add_gid_and_children (glyf,
@@ -655,7 +663,7 @@
 #endif
 #ifndef HB_NO_VAR
   if (!plan->all_axes_pinned)
-    plan->source->table.fvar->collect_name_ids (&plan->user_axes_location, &plan->name_ids);
+    plan->source->table.fvar->collect_name_ids (&plan->user_axes_location, &plan->axes_old_index_tag_map, &plan->name_ids);
 #endif
 #ifndef HB_NO_COLOR
   if (!drop_tables->has (HB_OT_TAG_CPAL))
@@ -684,7 +692,11 @@
 {
   OT::glyf_accelerator_t glyf (plan->source);
 #ifndef HB_NO_SUBSET_CFF
-  OT::cff1::accelerator_t cff (plan->source);
+  // Note: we cannot use inprogress_accelerator here, since it has not been
+  // created yet. So in case of preprocessed-face (and otherwise), we do an
+  // extra sanitize pass here, which is not ideal.
+  OT::cff1::accelerator_subset_t stack_cff (plan->accelerator ? nullptr : plan->source);
+  const OT::cff1::accelerator_subset_t *cff (plan->accelerator ? plan->accelerator->cff1_accel.get () : &stack_cff);
 #endif
 
   plan->_glyphset_gsub.add (0); // Not-def
@@ -701,7 +713,8 @@
         &plan->gsub_features,
         &plan->gsub_langsys,
         &plan->gsub_feature_record_cond_idx_map,
-        &plan->gsub_feature_substitutes_map);
+        &plan->gsub_feature_substitutes_map,
+        plan->gsub_insert_catch_all_feature_variation_rec);
 
   if (!drop_tables->has (HB_OT_TAG_GPOS))
     _closure_glyphs_lookups_features (
@@ -711,7 +724,8 @@
         &plan->gpos_features,
         &plan->gpos_langsys,
         &plan->gpos_feature_record_cond_idx_map,
-        &plan->gpos_feature_substitutes_map);
+        &plan->gpos_feature_substitutes_map,
+        plan->gpos_insert_catch_all_feature_variation_rec);
 #endif
   _remove_invalid_gids (&plan->_glyphset_gsub, plan->source->get_num_glyphs ());
 
@@ -744,9 +758,9 @@
   if (!plan->accelerator || plan->accelerator->has_seac)
   {
     bool has_seac = false;
-    if (cff.is_valid ())
+    if (cff->is_valid ())
       for (hb_codepoint_t gid : cur_glyphset)
-        if (_add_cff_seac_components (cff, gid, &plan->_glyphset))
+        if (_add_cff_seac_components (*cff, gid, &plan->_glyphset))
           has_seac = true;
     plan->has_seac = has_seac;
   }
@@ -754,7 +768,6 @@
 
   _remove_invalid_gids (&plan->_glyphset, plan->source->get_num_glyphs ());
 
-
 #ifndef HB_NO_VAR
   if (!drop_tables->has (HB_OT_TAG_GDEF))
     _collect_layout_variation_indices (plan);
@@ -766,41 +779,90 @@
                         const hb_map_t* glyph_map,
                         hb_map_t* out)
 {
+  out->alloc (glyph_set_gsub->get_population ());
   + hb_iter (glyph_set_gsub)
   | hb_map ([&] (hb_codepoint_t gid) {
-    return hb_pair_t (gid,
-                                                      glyph_map->get (gid));
+    return hb_codepoint_pair_t (gid, glyph_map->get (gid));
   })
   | hb_sink (out)
   ;
 }
 
-static void
+static bool
 _create_old_gid_to_new_gid_map (const hb_face_t *face,
                                 bool             retain_gids,
                                 const hb_set_t  *all_gids_to_retain,
+                                const hb_map_t  *requested_glyph_map,
                                 hb_map_t        *glyph_map, /* OUT */
                                 hb_map_t        *reverse_glyph_map, /* OUT */
+                                hb_sorted_vector_t *new_to_old_gid_list /* OUT */,
                                 unsigned int    *num_glyphs /* OUT */)
 {
   unsigned pop = all_gids_to_retain->get_population ();
-  reverse_glyph_map->resize (pop);
-  glyph_map->resize (pop);
+  reverse_glyph_map->alloc (pop);
+  glyph_map->alloc (pop);
+  new_to_old_gid_list->alloc (pop);
+
+  if (*requested_glyph_map)
+  {
+    hb_set_t new_gids(requested_glyph_map->values());
+    if (new_gids.get_population() != requested_glyph_map->get_population())
+    {
+      DEBUG_MSG (SUBSET, nullptr, "The provided custom glyph mapping is not unique.");
+      return false;
+    }
+
+    if (retain_gids)
+    {
+      DEBUG_MSG (SUBSET, nullptr,
+        "HB_SUBSET_FLAGS_RETAIN_GIDS cannot be set if "
+        "a custom glyph mapping has been provided.");
+      return false;
+    }
+
+    hb_codepoint_t max_glyph = 0;
+    hb_set_t remaining;
+    for (auto old_gid : all_gids_to_retain->iter ())
+    {
+      if (old_gid == 0) {
+        new_to_old_gid_list->push (hb_pair (0u, 0u));
+        continue;
+      }
 
-  if (!retain_gids)
+      hb_codepoint_t* new_gid;
+      if (!requested_glyph_map->has (old_gid, &new_gid))
+      {
+        remaining.add(old_gid);
+        continue;
+      }
+
+      if (*new_gid > max_glyph)
+        max_glyph = *new_gid;
+      new_to_old_gid_list->push (hb_pair (*new_gid, old_gid));
+    }
+    new_to_old_gid_list->qsort ();
+
+    // Anything that wasn't mapped by the requested mapping should
+    // be placed after the requested mapping.
+    for (auto old_gid : remaining)
+      new_to_old_gid_list->push (hb_pair (++max_glyph, old_gid));
+
+    *num_glyphs = max_glyph + 1;
+  }
+  else if (!retain_gids)
   {
     + hb_enumerate (hb_iter (all_gids_to_retain), (hb_codepoint_t) 0)
-    | hb_sink (reverse_glyph_map)
+    | hb_sink (new_to_old_gid_list)
     ;
-    *num_glyphs = reverse_glyph_map->get_population ();
+    *num_glyphs = new_to_old_gid_list->length;
   }
   else
   {
     + hb_iter (all_gids_to_retain)
     | hb_map ([] (hb_codepoint_t _) {
-                return hb_pair_t (_, _);
+                return hb_codepoint_pair_t (_, _);
               })
-    | hb_sink (reverse_glyph_map)
+    | hb_sink (new_to_old_gid_list)
     ;
 
     hb_codepoint_t max_glyph = HB_SET_VALUE_INVALID;
@@ -809,10 +871,15 @@
     *num_glyphs = max_glyph + 1;
   }
 
-  + reverse_glyph_map->iter ()
-  | hb_map (&hb_pair_t::reverse)
+  + hb_iter (new_to_old_gid_list)
+  | hb_sink (reverse_glyph_map)
+  ;
+  + hb_iter (new_to_old_gid_list)
+  | hb_map (&hb_codepoint_pair_t::reverse)
   | hb_sink (glyph_map)
   ;
+
+  return true;
 }
 
 #ifndef HB_NO_VAR
@@ -841,24 +908,38 @@
     hb_tag_t axis_tag = axis.get_axis_tag ();
     plan->axes_old_index_tag_map.set (old_axis_idx, axis_tag);
 
-    if (!plan->user_axes_location.has (axis_tag))
+    if (!plan->user_axes_location.has (axis_tag) ||
+        !plan->user_axes_location.get (axis_tag).is_point ())
     {
       axis_not_pinned = true;
       plan->axes_index_map.set (old_axis_idx, new_axis_idx);
+      plan->axis_tags.push (axis_tag);
       new_axis_idx++;
     }
-    else
+
+    Triple *axis_range;
+    if (plan->user_axes_location.has (axis_tag, &axis_range))
     {
-      int normalized_v = axis.normalize_axis_value (plan->user_axes_location.get (axis_tag));
+      plan->axes_triple_distances.set (axis_tag, axis.get_triple_distances ());
+
+      int normalized_min = axis.normalize_axis_value (axis_range->minimum);
+      int normalized_default = axis.normalize_axis_value (axis_range->middle);
+      int normalized_max = axis.normalize_axis_value (axis_range->maximum);
+
       if (has_avar && old_axis_idx < avar_axis_count)
       {
-        normalized_v = seg_maps->map (normalized_v);
+        normalized_min = seg_maps->map (normalized_min);
+        normalized_default = seg_maps->map (normalized_default);
+        normalized_max = seg_maps->map (normalized_max);
       }
-      plan->axes_location.set (axis_tag, normalized_v);
-      if (normalized_v != 0)
+      plan->axes_location.set (axis_tag, Triple (static_cast (normalized_min / 16384.f),
+                                                 static_cast (normalized_default / 16384.f),
+                                                 static_cast (normalized_max / 16384.f)));
+
+      if (normalized_default != 0)
         plan->pinned_at_default = false;
 
-      plan->normalized_coords[old_axis_idx] = normalized_v;
+      plan->normalized_coords[old_axis_idx] = normalized_default;
     }
 
     old_axis_idx++;
@@ -925,7 +1006,7 @@
           continue;
       }
       plan->hmtx_map.set (new_gid, hb_pair ((unsigned) hori_aw, lsb));
-      plan->bounds_width_map.set (new_gid, extents.width);
+      plan->bounds_width_vec[new_gid] = extents.width;
     }
 
     if (_vmtx.has_data ())
@@ -942,7 +1023,7 @@
           continue;
       }
       plan->vmtx_map.set (new_gid, hb_pair ((unsigned) vert_aw, tsb));
-      plan->bounds_height_map.set (new_gid, extents.height);
+      plan->bounds_height_vec[new_gid] = extents.height;
     }
   }
   hb_font_destroy (font);
@@ -951,6 +1032,36 @@
   if (vvar_store_cache)
     _vmtx.var_table->get_var_store ().destroy_cache (vvar_store_cache);
 }
+
+static bool
+_get_instance_glyphs_contour_points (hb_subset_plan_t *plan)
+{
+  /* contour_points vector only needed for updating gvar table (infer delta)
+   * during partial instancing */
+  if (plan->user_axes_location.is_empty () || plan->all_axes_pinned)
+    return true;
+
+  OT::glyf_accelerator_t glyf (plan->source);
+
+  for (auto &_ : plan->new_to_old_gid_list)
+  {
+    hb_codepoint_t new_gid = _.first;
+    contour_point_vector_t all_points;
+    if (new_gid == 0 && !(plan->flags & HB_SUBSET_FLAGS_NOTDEF_OUTLINE))
+    {
+      if (unlikely (!plan->new_gid_contour_points_map.set (new_gid, all_points)))
+        return false;
+      continue;
+    }
+
+    hb_codepoint_t old_gid = _.second;
+    if (unlikely (!glyf.glyph_for_gid (old_gid).get_all_points_without_var (plan->source, all_points)))
+      return false;
+    if (unlikely (!plan->new_gid_contour_points_map.set (new_gid, all_points)))
+      return false;
+  }
+  return true;
+}
 #endif
 
 hb_subset_plan_t::hb_subset_plan_t (hb_face_t *face,
@@ -975,6 +1086,8 @@
   glyph_map = hb_map_create ();
   reverse_glyph_map = hb_map_create ();
 
+  gsub_insert_catch_all_feature_variation_rec = false;
+  gpos_insert_catch_all_feature_variation_rec = false;
   gdef_varstore_inner_maps.init ();
 
   user_axes_location = input->axes_location;
@@ -1002,7 +1115,6 @@
   if (accel)
     accelerator = (hb_subset_accelerator_t*) accel;
 
-
   if (unlikely (in_error ()))
     return;
 
@@ -1016,12 +1128,17 @@
   if (unlikely (in_error ()))
     return;
 
-  _create_old_gid_to_new_gid_map (face,
-                                  input->flags & HB_SUBSET_FLAGS_RETAIN_GIDS,
-                                  &_glyphset,
-                                  glyph_map,
-                                  reverse_glyph_map,
-                                  &_num_output_glyphs);
+  if (!check_success(_create_old_gid_to_new_gid_map(
+          face,
+          input->flags & HB_SUBSET_FLAGS_RETAIN_GIDS,
+          &_glyphset,
+          &input->glyph_map,
+          glyph_map,
+          reverse_glyph_map,
+          &new_to_old_gid_list,
+          &_num_output_glyphs))) {
+    return;
+  }
 
   _create_glyph_map_gsub (
       &_glyphset_gsub,
@@ -1036,33 +1153,61 @@
         glyph_map->get(unicode_to_new_gid_list.arrayZ[i].second);
   }
 
+  bounds_width_vec.resize (_num_output_glyphs, false);
+  for (auto &v : bounds_width_vec)
+    v = 0xFFFFFFFF;
+  bounds_height_vec.resize (_num_output_glyphs, false);
+  for (auto &v : bounds_height_vec)
+    v = 0xFFFFFFFF;
+
   if (unlikely (in_error ()))
     return;
 
 #ifndef HB_NO_VAR
   _update_instance_metrics_map_from_cff2 (this);
+  if (!check_success (_get_instance_glyphs_contour_points (this)))
+      return;
 #endif
 
   if (attach_accelerator_data)
   {
-    hb_multimap_t gid_to_unicodes;
-
-    hb_map_t &unicode_to_gid = *codepoint_to_glyph;
-
-    for (auto unicode : unicodes)
-    {
-      auto gid = unicode_to_gid[unicode];
-      gid_to_unicodes.add (gid, unicode);
-    }
-
     inprogress_accelerator =
-      hb_subset_accelerator_t::create (*codepoint_to_glyph,
-                                       gid_to_unicodes,
+      hb_subset_accelerator_t::create (source,
+                                       *codepoint_to_glyph,
                                        unicodes,
                                        has_seac);
+
+    check_success (inprogress_accelerator);
   }
+
+#define HB_SUBSET_PLAN_MEMBER(Type, Name) check_success (!Name.in_error ());
+#include "hb-subset-plan-member-list.hh"
+#undef HB_SUBSET_PLAN_MEMBER
 }
 
+hb_subset_plan_t::~hb_subset_plan_t()
+{
+  hb_face_destroy (dest);
+
+  hb_map_destroy (codepoint_to_glyph);
+  hb_map_destroy (glyph_map);
+  hb_map_destroy (reverse_glyph_map);
+#ifndef HB_NO_SUBSET_CFF
+  cff1_accel.fini ();
+  cff2_accel.fini ();
+#endif
+  hb_face_destroy (source);
+
+#ifdef HB_EXPERIMENTAL_API
+  for (auto _ : name_table_overrides.iter_ref ())
+    _.second.fini ();
+#endif
+
+  if (inprogress_accelerator)
+    hb_subset_accelerator_t::destroy ((void*) inprogress_accelerator);
+}
+
+
 /**
  * hb_subset_plan_create_or_fail:
  * @face: font face to create the plan for.
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh	2024-04-08 05:38:38.000000000 +0000
@@ -67,28 +67,51 @@
 
 typedef struct head_maxp_info_t head_maxp_info_t;
 
-struct hb_subset_plan_t
+struct contour_point_t
 {
-  HB_INTERNAL hb_subset_plan_t (hb_face_t *,
-                                const hb_subset_input_t *input);
+  void init (float x_ = 0.f, float y_ = 0.f, bool is_end_point_ = false)
+  { flag = 0; x = x_; y = y_; is_end_point = is_end_point_; }
 
-  ~hb_subset_plan_t()
+  void transform (const float (&matrix)[4])
   {
-    hb_face_destroy (source);
-    hb_face_destroy (dest);
+    float x_ = x * matrix[0] + y * matrix[2];
+          y  = x * matrix[1] + y * matrix[3];
+    x  = x_;
+  }
+  HB_ALWAYS_INLINE
+  void translate (const contour_point_t &p) { x += p.x; y += p.y; }
 
-    hb_map_destroy (codepoint_to_glyph);
-    hb_map_destroy (glyph_map);
-    hb_map_destroy (reverse_glyph_map);
-
-#ifdef HB_EXPERIMENTAL_API
-    for (auto _ : name_table_overrides)
-      _.second.fini ();
-#endif
 
-    if (inprogress_accelerator)
-      hb_subset_accelerator_t::destroy ((void*) inprogress_accelerator);
+  float x;
+  float y;
+  uint8_t flag;
+  bool is_end_point;
+};
+
+struct contour_point_vector_t : hb_vector_t
+{
+  void extend (const hb_array_t &a)
+  {
+    unsigned int old_len = length;
+    if (unlikely (!resize (old_len + a.length, false)))
+      return;
+    auto arrayZ = this->arrayZ + old_len;
+    unsigned count = a.length;
+    hb_memcpy (arrayZ, a.arrayZ, count * sizeof (arrayZ[0]));
   }
+};
+
+namespace OT {
+  struct cff1_subset_accelerator_t;
+  struct cff2_subset_accelerator_t;
+}
+
+struct hb_subset_plan_t
+{
+  HB_INTERNAL hb_subset_plan_t (hb_face_t *,
+                                const hb_subset_input_t *input);
+
+  HB_INTERNAL ~hb_subset_plan_t();
 
   hb_object_header_t header;
 
@@ -97,137 +120,71 @@
   bool attach_accelerator_data = false;
   bool force_long_loca = false;
 
-  // For each cp that we'd like to retain maps to the corresponding gid.
-  hb_set_t unicodes;
-  hb_sorted_vector_t> unicode_to_new_gid_list;
-
-  // name_ids we would like to retain
-  hb_set_t name_ids;
-
-  // name_languages we would like to retain
-  hb_set_t name_languages;
-
-  //layout features which will be preserved
-  hb_set_t layout_features;
-
-  // layout scripts which will be preserved.
-  hb_set_t layout_scripts;
-
-  //glyph ids requested to retain
-  hb_set_t glyphs_requested;
-
-  // Tables which should not be processed, just pass them through.
-  hb_set_t no_subset_tables;
-
-  // Tables which should be dropped.
-  hb_set_t drop_tables;
-
   // The glyph subset
   hb_map_t *codepoint_to_glyph; // Needs to be heap-allocated
 
   // Old -> New glyph id mapping
   hb_map_t *glyph_map; // Needs to be heap-allocated
   hb_map_t *reverse_glyph_map; // Needs to be heap-allocated
-  hb_map_t glyph_map_gsub;
 
   // Plan is only good for a specific source/dest so keep them with it
   hb_face_t *source;
+#ifndef HB_NO_SUBSET_CFF
+  // These have to be immediately after source:
+  hb_face_lazy_loader_t cff1_accel;
+  hb_face_lazy_loader_t cff2_accel;
+#endif
+
   hb_face_t *dest;
 
   unsigned int _num_output_glyphs;
-  hb_set_t _glyphset;
-  hb_set_t _glyphset_gsub;
-  hb_set_t _glyphset_mathed;
-  hb_set_t _glyphset_colred;
-
-  //active lookups we'd like to retain
-  hb_map_t gsub_lookups;
-  hb_map_t gpos_lookups;
-
-  //active langsys we'd like to retain
-  hb_hashmap_t> gsub_langsys;
-  hb_hashmap_t> gpos_langsys;
-
-  //active features after removing redundant langsys and prune_features
-  hb_map_t gsub_features;
-  hb_map_t gpos_features;
-
-  //active feature variation records/condition index with variations
-  hb_hashmap_t> gsub_feature_record_cond_idx_map;
-  hb_hashmap_t> gpos_feature_record_cond_idx_map;
-
-  //feature index-> address of substituation feature table mapping with
-  //variations
-  hb_hashmap_t gsub_feature_substitutes_map;
-  hb_hashmap_t gpos_feature_substitutes_map;
-
-  //active layers/palettes we'd like to retain
-  hb_map_t colrv1_layers;
-  hb_map_t colr_palettes;
-
-  //Old layout item variation index -> (New varidx, delta) mapping
-  hb_hashmap_t> layout_variation_idx_delta_map;
-
-  //gdef varstore retained varidx mapping
-  hb_vector_t gdef_varstore_inner_maps;
-
-  hb_hashmap_t> sanitized_table_cache;
-  //normalized axes location map
-  hb_hashmap_t axes_location;
-  hb_vector_t normalized_coords;
-  //user specified axes location map
-  hb_hashmap_t user_axes_location;
-  //retained old axis index -> new axis index mapping in fvar axis array
-  hb_map_t axes_index_map;
-  //axis_index->axis_tag mapping in fvar axis array
-  hb_map_t axes_old_index_tag_map;
+
   bool all_axes_pinned;
   bool pinned_at_default;
   bool has_seac;
 
-  //hmtx metrics map: new gid->(advance, lsb)
-  mutable hb_hashmap_t> hmtx_map;
-  //vmtx metrics map: new gid->(advance, lsb)
-  mutable hb_hashmap_t> vmtx_map;
-  //boundsWidth map: new gid->boundsWidth, boundWidth=xMax - xMin
-  mutable hb_map_t bounds_width_map;
-  //boundsHeight map: new gid->boundsHeight, boundsHeight=yMax - yMin
-  mutable hb_map_t bounds_height_map;
+  // whether to insert a catch-all FeatureVariationRecord
+  bool gsub_insert_catch_all_feature_variation_rec;
+  bool gpos_insert_catch_all_feature_variation_rec;
+
+#define HB_SUBSET_PLAN_MEMBER(Type, Name) Type Name;
+#include "hb-subset-plan-member-list.hh"
+#undef HB_SUBSET_PLAN_MEMBER
 
   //recalculated head/maxp table info after instancing
   mutable head_maxp_info_t head_maxp_info;
 
-#ifdef HB_EXPERIMENTAL_API
-  // name table overrides map: hb_ot_name_record_ids_t-> name string new value or
-  // None to indicate should remove
-  hb_hashmap_t name_table_overrides;
-#endif
-
   const hb_subset_accelerator_t* accelerator;
   hb_subset_accelerator_t* inprogress_accelerator;
 
  public:
 
   template
-  hb_blob_ptr_t source_table()
+  struct source_table_loader
   {
-    hb_lock_t lock (accelerator ? &accelerator->sanitized_table_cache_lock : nullptr);
+    hb_blob_ptr_t operator () (hb_subset_plan_t *plan)
+    {
+      hb_lock_t lock (plan->accelerator ? &plan->accelerator->sanitized_table_cache_lock : nullptr);
 
-    auto *cache = accelerator ? &accelerator->sanitized_table_cache : &sanitized_table_cache;
-    if (cache
-        && !cache->in_error ()
-        && cache->has (+T::tableTag)) {
-      return hb_blob_reference (cache->get (+T::tableTag).get ());
-    }
+      auto *cache = plan->accelerator ? &plan->accelerator->sanitized_table_cache : &plan->sanitized_table_cache;
+      if (cache
+          && !cache->in_error ()
+          && cache->has (+T::tableTag)) {
+        return hb_blob_reference (cache->get (+T::tableTag).get ());
+      }
 
-    hb::unique_ptr table_blob {hb_sanitize_context_t ().reference_table (source)};
-    hb_blob_t* ret = hb_blob_reference (table_blob.get ());
+      hb::unique_ptr table_blob {hb_sanitize_context_t ().reference_table (plan->source)};
+      hb_blob_t* ret = hb_blob_reference (table_blob.get ());
 
-    if (likely (cache))
-      cache->set (+T::tableTag, std::move (table_blob));
+      if (likely (cache))
+        cache->set (+T::tableTag, std::move (table_blob));
 
-    return ret;
-  }
+      return ret;
+    }
+  };
+
+  template
+  auto source_table() HB_AUTO_RETURN (source_table_loader {} (this))
 
   bool in_error () const { return !successful; }
 
@@ -266,15 +223,6 @@
     return _num_output_glyphs;
   }
 
-  /*
-   * Given an output gid , returns true if that glyph id is an empty
-   * glyph (ie. it's a gid that we are dropping all data for).
-   */
-  inline bool is_empty_glyph (hb_codepoint_t gid) const
-  {
-    return !_glyphset.has (gid);
-  }
-
   inline bool new_gid_for_codepoint (hb_codepoint_t codepoint,
                                      hb_codepoint_t *new_gid) const
   {
@@ -324,4 +272,5 @@
   }
 };
 
+
 #endif /* HB_SUBSET_PLAN_HH */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset.cc openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset.cc
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset.cc	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset.cc	2024-04-08 05:38:38.000000000 +0000
@@ -43,21 +43,19 @@
 #include "OT/Color/sbix/sbix.hh"
 #include "hb-ot-os2-table.hh"
 #include "hb-ot-post-table.hh"
-
-#if !defined(AIX)
 #include "hb-ot-post-table-v2subset.hh"
-#endif
-
 #include "hb-ot-cff1-table.hh"
 #include "hb-ot-cff2-table.hh"
 #include "hb-ot-vorg-table.hh"
 #include "hb-ot-name-table.hh"
 #include "hb-ot-layout-gsub-table.hh"
 #include "hb-ot-layout-gpos-table.hh"
+#include "hb-ot-var-avar-table.hh"
 #include "hb-ot-var-cvar-table.hh"
 #include "hb-ot-var-fvar-table.hh"
 #include "hb-ot-var-gvar-table.hh"
 #include "hb-ot-var-hvar-table.hh"
+#include "hb-ot-var-mvar-table.hh"
 #include "hb-ot-math-table.hh"
 #include "hb-ot-stat-table.hh"
 #include "hb-repacker.hh"
@@ -66,6 +64,27 @@
 using OT::Layout::GSUB;
 using OT::Layout::GPOS;
 
+
+#ifndef HB_NO_SUBSET_CFF
+template<>
+struct hb_subset_plan_t::source_table_loader
+{
+  auto operator () (hb_subset_plan_t *plan)
+  HB_AUTO_RETURN (plan->accelerator ? plan->accelerator->cff1_accel :
+                  plan->inprogress_accelerator ? plan->inprogress_accelerator->cff1_accel :
+                  plan->cff1_accel)
+};
+template<>
+struct hb_subset_plan_t::source_table_loader
+{
+  auto operator () (hb_subset_plan_t *plan)
+  HB_AUTO_RETURN (plan->accelerator ? plan->accelerator->cff2_accel :
+                  plan->inprogress_accelerator ? plan->inprogress_accelerator->cff2_accel :
+                  plan->cff2_accel)
+};
+#endif
+
+
 /**
  * SECTION:hb-subset
  * @title: hb-subset
@@ -100,8 +119,8 @@
   HB_OT_TAG_BASE,
   HB_OT_TAG_CBDT,
   HB_OT_TAG_CBLC,
-  HB_OT_TAG_cff1,
-  HB_OT_TAG_cff2,
+  HB_OT_TAG_CFF1,
+  HB_OT_TAG_CFF2,
   HB_OT_TAG_cmap,
   HB_OT_TAG_COLR,
   HB_OT_TAG_CPAL,
@@ -196,15 +215,36 @@
 static unsigned
 _plan_estimate_subset_table_size (hb_subset_plan_t *plan,
                                   unsigned table_len,
-                                  bool same_size)
+                                  hb_tag_t table_tag)
 {
   unsigned src_glyphs = plan->source->get_num_glyphs ();
   unsigned dst_glyphs = plan->glyphset ()->get_population ();
 
+  unsigned bulk = 8192;
+  /* Tables that we want to allocate same space as the source table. For GSUB/GPOS it's
+   * because those are expensive to subset, so giving them more room is fine. */
+  bool same_size = table_tag == HB_OT_TAG_GSUB ||
+                   table_tag == HB_OT_TAG_GPOS ||
+                   table_tag == HB_OT_TAG_name;
+
+  if (plan->flags & HB_SUBSET_FLAGS_RETAIN_GIDS)
+  {
+    if (table_tag == HB_OT_TAG_CFF1)
+    {
+      /* Add some extra room for the CFF charset. */
+      bulk += src_glyphs * 16;
+    }
+    else if (table_tag == HB_OT_TAG_CFF2)
+    {
+      /* Just extra CharString offsets. */
+      bulk += src_glyphs * 4;
+    }
+  }
+
   if (unlikely (!src_glyphs) || same_size)
-    return 512 + table_len;
+    return bulk + table_len;
 
-  return 512 + (unsigned) (table_len * sqrt ((double) dst_glyphs / src_glyphs));
+  return bulk + (unsigned) (table_len * sqrt ((double) dst_glyphs / src_glyphs));
 }
 
 /*
@@ -235,7 +275,7 @@
              hb_vector_t* buf,
              hb_subset_context_t* c /* OUT */)
 {
-  c->serializer->start_serialize ();
+  c->serializer->start_serialize ();
   if (c->serializer->in_error ()) return false;
 
   bool needed = table->subset (c);
@@ -266,45 +306,46 @@
   return _try_subset (table, buf, c);
 }
 
+template 
+static auto _do_destroy (T &t, hb_priority<1>) HB_RETURN (void, t.destroy ())
+
+template 
+static void _do_destroy (T &t, hb_priority<0>) {}
+
 template
 static bool
 _subset (hb_subset_plan_t *plan, hb_vector_t &buf)
 {
-  hb_blob_ptr_t source_blob = plan->source_table ();
-  const TableType *table = source_blob.get ();
+  auto &&source_blob = plan->source_table ();
+  auto *table = source_blob.get ();
 
   hb_tag_t tag = TableType::tableTag;
-  if (!source_blob.get_blob()->data)
+  hb_blob_t *blob = source_blob.get_blob();
+  if (unlikely (!blob || !blob->data))
   {
     DEBUG_MSG (SUBSET, nullptr,
                "OT::%c%c%c%c::subset sanitize failed on source table.", HB_UNTAG (tag));
-    source_blob.destroy ();
+    _do_destroy (source_blob, hb_prioritize);
     return false;
   }
 
-  /* Tables that we want to allocate same space as the source table. For GSUB/GPOS it's
-   * because those are expensive to subset, so giving them more room is fine. */
-  bool same_size_table = TableType::tableTag == HB_OT_TAG_GSUB ||
-                         TableType::tableTag == HB_OT_TAG_GPOS ||
-                         TableType::tableTag == HB_OT_TAG_name;
-
-  unsigned buf_size = _plan_estimate_subset_table_size (plan, source_blob.get_length (), same_size_table);
+  unsigned buf_size = _plan_estimate_subset_table_size (plan, blob->length, TableType::tableTag);
   DEBUG_MSG (SUBSET, nullptr,
              "OT::%c%c%c%c initial estimated table size: %u bytes.", HB_UNTAG (tag), buf_size);
   if (unlikely (!buf.alloc (buf_size)))
   {
     DEBUG_MSG (SUBSET, nullptr, "OT::%c%c%c%c failed to allocate %u bytes.", HB_UNTAG (tag), buf_size);
-    source_blob.destroy ();
+    _do_destroy (source_blob, hb_prioritize);
     return false;
   }
 
   bool needed = false;
   hb_serialize_context_t serializer (buf.arrayZ, buf.allocated);
   {
-    hb_subset_context_t c (source_blob.get_blob (), plan, &serializer, tag);
+    hb_subset_context_t c (blob, plan, &serializer, tag);
     needed = _try_subset (table, &buf, &c);
   }
-  source_blob.destroy ();
+  _do_destroy (source_blob, hb_prioritize);
 
   if (serializer.in_error () && !serializer.only_offset_overflow ())
   {
@@ -420,6 +461,8 @@
   case HB_OT_TAG_vmtx:
   case HB_OT_TAG_maxp:
     return !plan->normalized_coords || !pending_subset_tags.has (HB_OT_TAG_glyf);
+  case HB_OT_TAG_GPOS:
+    return !plan->normalized_coords || plan->all_axes_pinned || !pending_subset_tags.has (HB_OT_TAG_GDEF);
   default:
     return true;
   }
@@ -461,8 +504,8 @@
   case HB_OT_TAG_MATH: return _subset (plan, buf);
 
 #ifndef HB_NO_SUBSET_CFF
-  case HB_OT_TAG_cff1: return _subset (plan, buf);
-  case HB_OT_TAG_cff2: return _subset (plan, buf);
+  case HB_OT_TAG_CFF1: return _subset (plan, buf);
+  case HB_OT_TAG_CFF2: return _subset (plan, buf);
   case HB_OT_TAG_VORG: return _subset (plan, buf);
 #endif
 
@@ -474,13 +517,24 @@
   case HB_OT_TAG_HVAR: return _subset (plan, buf);
   case HB_OT_TAG_VVAR: return _subset (plan, buf);
 #endif
+
+#ifndef HB_NO_VAR
   case HB_OT_TAG_fvar:
     if (plan->user_axes_location.is_empty ()) return _passthrough (plan, tag);
     return _subset (plan, buf);
+  case HB_OT_TAG_avar:
+    if (plan->user_axes_location.is_empty ()) return _passthrough (plan, tag);
+    return _subset (plan, buf);
+  case HB_OT_TAG_cvar:
+    if (plan->user_axes_location.is_empty ()) return _passthrough (plan, tag);
+    return _subset (plan, buf);
+  case HB_OT_TAG_MVAR:
+    if (plan->user_axes_location.is_empty ()) return _passthrough (plan, tag);
+    return _subset (plan, buf);
+#endif
+
   case HB_OT_TAG_STAT:
-    /*TODO(qxliu): change the condition as we support more complex
-     * instancing operation*/
-    if (plan->all_axes_pinned) return _subset (plan, buf);
+    if (!plan->user_axes_location.is_empty ()) return _subset (plan, buf);
     else return _passthrough (plan, tag);
 
   case HB_TAG ('c', 'v', 't', ' '):
@@ -591,46 +645,49 @@
     offset += num_tables;
   }
 
-  hb_vector_t buf;
-  buf.alloc (4096 - 16);
-
-
   bool success = true;
 
-  while (!pending_subset_tags.is_empty ())
   {
-    if (subsetted_tags.in_error ()
-        || pending_subset_tags.in_error ()) {
-      success = false;
-      goto end;
-    }
+    // Grouping to deallocate buf before calling hb_face_reference (plan->dest).
 
-    bool made_changes = false;
-    for (hb_tag_t tag : pending_subset_tags)
+    hb_vector_t buf;
+    buf.alloc (8192 - 16);
+
+    while (!pending_subset_tags.is_empty ())
     {
-      if (!_dependencies_satisfied (plan, tag,
-                                    subsetted_tags,
-                                    pending_subset_tags))
-      {
-        // delayed subsetting for some tables since they might have dependency on other tables
-        // in some cases: e.g: during instantiating glyf tables, hmetrics/vmetrics are updated
-        // and saved in subset plan, hmtx/vmtx subsetting need to use these updated metrics values
-        continue;
+      if (subsetted_tags.in_error ()
+          || pending_subset_tags.in_error ()) {
+        success = false;
+        goto end;
       }
 
-      pending_subset_tags.del (tag);
-      subsetted_tags.add (tag);
-      made_changes = true;
+      bool made_changes = false;
+      for (hb_tag_t tag : pending_subset_tags)
+      {
+        if (!_dependencies_satisfied (plan, tag,
+                                      subsetted_tags,
+                                      pending_subset_tags))
+        {
+          // delayed subsetting for some tables since they might have dependency on other tables
+          // in some cases: e.g: during instantiating glyf tables, hmetrics/vmetrics are updated
+          // and saved in subset plan, hmtx/vmtx subsetting need to use these updated metrics values
+          continue;
+        }
+
+        pending_subset_tags.del (tag);
+        subsetted_tags.add (tag);
+        made_changes = true;
 
-      success = _subset_table (plan, buf, tag);
-      if (unlikely (!success)) goto end;
-    }
+        success = _subset_table (plan, buf, tag);
+        if (unlikely (!success)) goto end;
+      }
 
-    if (!made_changes)
-    {
-      DEBUG_MSG (SUBSET, nullptr, "Table dependencies unable to be satisfied. Subset failed.");
-      success = false;
-      goto end;
+      if (!made_changes)
+      {
+        DEBUG_MSG (SUBSET, nullptr, "Table dependencies unable to be satisfied. Subset failed.");
+        success = false;
+        goto end;
+      }
     }
   }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-subset.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-subset.h	2024-04-08 05:38:38.000000000 +0000
@@ -154,6 +154,9 @@
 HB_EXTERN hb_set_t *
 hb_subset_input_set (hb_subset_input_t *input, hb_subset_sets_t set_type);
 
+HB_EXTERN hb_map_t*
+hb_subset_input_old_to_new_glyph_mapping (hb_subset_input_t *input);
+
 HB_EXTERN hb_subset_flags_t
 hb_subset_input_get_flags (hb_subset_input_t *input);
 
@@ -174,6 +177,14 @@
 
 #ifdef HB_EXPERIMENTAL_API
 HB_EXTERN hb_bool_t
+hb_subset_input_set_axis_range (hb_subset_input_t  *input,
+                                hb_face_t          *face,
+                                hb_tag_t            axis_tag,
+                                float               axis_min_value,
+                                float               axis_max_value,
+                                float              *axis_def_value);
+
+HB_EXTERN hb_bool_t
 hb_subset_input_override_name_table (hb_subset_input_t  *input,
                                      hb_ot_name_id_t     name_id,
                                      unsigned            platform_id,
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -4,7 +4,7 @@
  *
  *   ./gen-ucd-table.py ucd.nounihan.grouped.xml
  *
- * on file with this description: Unicode 15.0.0
+ * on file with this description: Unicode 15.1.0
  */
 
 #ifndef HB_UCD_TABLE_HH
@@ -1069,7 +1069,7 @@
 #ifndef HB_OPTIMIZE_SIZE
 
 static const uint8_t
-_hb_ucd_u8[17868] =
+_hb_ucd_u8[17884] =
 {
     0,  1,  2,  3,  4,  5,  6,  7,  7,  8,  7,  7,  7,  7,  7,  7,
     7,  7,  7,  7,  9, 10,  7,  7,  7,  7, 11, 12, 13, 13, 13, 14,
@@ -1146,13 +1146,13 @@
    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,243, 34,
   244, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,245, 34, 34,
-   34, 34, 34, 34, 34, 34, 34,246,122,122,122,122,122,122,122,122,
-   34, 34, 34, 34,247,122,122,122,122,122,122,122,122,122,122,122,
-   34, 34, 34, 34, 34, 34,248, 34, 34, 34, 34, 34, 34, 34, 34, 34,
-   34, 34, 34, 34, 34, 34, 34,249,122,122,122,122,122,122,122,122,
-  250,122,251,252,122,122,122,122,122,122,122,122,122,122,122,122,
-  107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,253,
+   34, 34, 34, 34, 34, 34, 34,246, 34, 34, 34, 34,247,122,122,122,
+   34, 34, 34, 34,248,122,122,122,122,122,122,122,122,122,122,122,
+   34, 34, 34, 34, 34, 34,249, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+   34, 34, 34, 34, 34, 34, 34,250,122,122,122,122,122,122,122,122,
+  251,122,252,253,122,122,122,122,122,122,122,122,122,122,122,122,
   107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,254,
+  107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,255,
     0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  3,  2,  4,  5,  6,  2,
     7,  7,  7,  7,  7,  2,  8,  9, 10, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16,
@@ -1315,11 +1315,11 @@
   121,  4,  4,  4,  4,  2,  2, 88,  2,  2,  2,  2,  2,120,  2,  2,
   108,151,  2,  2,  2,  2,  2,  2, 67,  2,152,148,148,148,153, 44,
    67, 67, 67, 67, 67, 55, 67, 67, 67, 67, 44, 44, 44, 44, 44, 44,
-   67, 67, 67, 44, 44, 44, 44, 44, 67, 67, 67, 67, 67, 67, 44, 44,
-    1,  2,154,155,  4,  4,  4,  4,  4, 67,  4,  4,  4,  4,156,157,
-  158,105,105,105,105, 43, 43, 86,159, 40, 40, 67,105,160, 63, 67,
-   36, 36, 36, 61, 57,161,162, 69, 36, 36, 36, 36, 36, 63, 40, 69,
-   44, 44, 62, 36, 36, 36, 36, 36, 67, 27, 27, 67, 67, 67, 67, 67,
+   67, 67, 67, 44, 44, 44, 44, 44,  1,  2,154,155,  4,  4,  4,  4,
+    4, 67,  4,  4,  4,  4,156,157,158,105,105,105,105, 43, 43, 86,
+  159, 40, 40, 67,105,160, 63, 67, 36, 36, 36, 61, 57,161,162, 69,
+   36, 36, 36, 36, 36, 63, 40, 69, 44, 44, 62, 36, 36, 36, 36, 36,
+   67, 27, 27, 67, 67, 67, 67, 67, 67, 67, 44, 44, 44, 44, 44, 55,
    67, 67, 67, 67, 67, 67, 67, 92, 27, 27, 27, 27, 27, 67, 67, 67,
    67, 67, 67, 67, 27, 27, 27, 27,163, 27, 27, 27, 27, 27, 27, 27,
    36, 36, 83, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,164,  2,
@@ -1487,215 +1487,215 @@
    44, 61, 44, 62, 62, 62, 62, 36, 62, 61, 61, 62, 62, 62, 62, 62,
    62, 61, 61, 62, 36, 61, 36, 36, 36, 61, 36, 36, 62, 36, 61, 61,
    36, 36, 36, 36, 36, 62, 36, 36, 62, 36, 62, 36, 36, 62, 36, 36,
-    8, 44, 44, 44, 44, 44, 44, 44, 55, 67, 67, 67, 67, 67, 67, 67,
-   27, 27, 27, 27, 27, 27, 91, 67, 67, 67, 67, 67, 67, 67, 67, 44,
-   44, 44, 44, 67, 67, 67, 67, 67, 67, 92, 44, 44, 44, 44, 44, 44,
-   67, 67, 67, 67, 92, 44, 44, 44, 67, 44, 44, 44, 44, 44, 44, 44,
-   67, 67, 67, 67, 67, 25, 41, 41, 67, 67, 67, 67, 44, 44, 67, 67,
-   67, 67, 67, 92, 44, 55, 67, 67, 67, 67, 67, 67, 44, 44, 44, 44,
-   67, 67, 67, 67, 67, 67, 67, 55, 67, 67, 67, 44, 44, 44, 44, 67,
-   67, 92, 67, 67, 67, 67, 67, 67, 79, 44, 44, 44, 44, 44, 44, 44,
-  171,171,171,171,171,171,171, 44,171,171,171,171,171,171,171,  0,
-    0,  0, 29, 21, 21, 21, 23, 21, 22, 18, 21, 25, 21, 17, 13, 13,
-   25, 25, 25, 21, 21,  9,  9,  9,  9, 22, 21, 18, 24, 16, 24,  5,
-    5,  5,  5, 22, 25, 18, 25,  0, 23, 23, 26, 21, 24, 26,  7, 20,
-   25,  1, 26, 24, 26, 25, 15, 15, 24, 15,  7, 19, 15, 21,  9, 25,
-    9,  5,  5, 25,  5,  9,  5,  7,  7,  7,  9,  8,  8,  5,  7,  5,
-    6,  6, 24, 24,  6, 24, 12, 12,  2,  2,  6,  5,  9, 21,  9,  2,
-    2,  9, 25,  9, 26, 12, 11, 11,  2,  6,  5, 21, 17,  2,  2, 26,
-   26, 23,  2, 12, 17, 12, 21, 12, 12, 21,  7,  2,  2,  7,  7, 21,
-   21,  2,  1,  1, 21, 23, 26, 26,  1, 21,  6,  7,  7, 12, 12,  7,
-   21,  7, 12,  1, 12,  6,  6, 12, 12, 26,  7, 26, 26,  7,  2,  1,
-   12,  2,  6,  2, 24,  7,  7,  6,  1, 12, 12, 10, 10, 10, 10, 12,
-   21,  6,  2, 10, 10,  2, 15, 26, 26,  2,  2, 21,  7, 10, 15,  7,
-    2, 23, 21, 26, 10,  7, 21, 15, 15,  2, 17,  7, 29,  7,  7, 22,
-   18,  2, 14, 14, 14,  7, 10, 21, 17, 21, 11, 12,  5,  2,  5,  6,
-    8,  8,  8, 24,  5, 24,  2, 24,  9, 24, 24,  2, 29, 29, 29,  1,
-   17, 17, 20, 19, 22, 20, 27, 28,  1, 29, 21, 20, 19, 21, 21, 16,
-   16, 21, 25, 22, 18, 21, 21, 29,  1,  2, 15,  6, 18,  6, 23,  2,
-   12, 11,  9, 26, 26,  9, 26,  5,  5, 26, 14,  9,  5, 14, 14, 15,
-   25, 26, 26, 22, 18, 26, 18, 25, 18, 22,  5, 12,  2,  5, 22, 21,
-   21, 22, 18, 17, 26,  6,  7, 14, 17, 22, 18, 18, 26, 14, 17,  6,
-   14,  6, 12, 24, 24,  6, 26, 15,  6, 21, 11, 21, 24,  9,  6,  9,
-   23, 26,  6, 10,  4,  4,  3,  3,  7, 25, 17, 16, 16, 22, 16, 16,
-   25, 17, 25,  2, 25, 24,  2, 15, 12, 15, 14,  2, 21, 14,  7, 15,
-   12, 17, 21,  1, 26, 10, 10,  1, 23, 15,  0,  1,  2,  3,  4,  5,
-    6,  7,  8,  9,  0, 10, 11, 12, 13,  0, 14,  0,  0,  0,  0,  0,
-   15,  0, 16,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 17, 18, 19,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0, 20,  0, 21, 22, 23,  0,  0,  0, 24,
-   25, 26, 27, 28, 29, 30, 31, 32, 33, 34,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 35,
-    0, 36,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0, 37,  0,  0,  0,  0,  0,  0,  0,
-    0,  0, 38, 39,  0,  0,  0,  0,  0,  0, 40, 41, 42,  0, 43,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  0,  0,
-    0,  0,  3,  0,  0,  0,  4,  5,  6,  7,  0,  8,  9, 10,  0, 11,
-   12, 13, 14, 15, 16, 17, 16, 18, 16, 19, 16, 19, 16, 19,  0, 19,
-   16, 20, 16, 19, 21, 19,  0, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-   31,  0, 32,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  0,  0,
-    0,  0,  0,  0, 34,  0,  0, 35,  0,  0, 36,  0, 37,  0,  0,  0,
-   38, 39, 40, 41, 42, 43, 44, 45, 46,  0,  0, 47,  0,  0,  0, 48,
-    0,  0,  0, 49,  0,  0,  0,  0,  0,  0,  0, 50,  0, 51,  0, 52,
-   53,  0, 54,  0,  0,  0,  0,  0,  0, 55, 56, 57,  0,  0,  0,  0,
-   58,  0,  0, 59, 60, 61, 62, 63,  0,  0, 64, 65,  0,  0,  0, 66,
-    0,  0,  0,  0, 67,  0,  0,  0, 68,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0, 69,  0,  0,  0, 70,  0, 71,  0,  0,
-   72,  0,  0, 73,  0,  0,  0,  0,  0,  0,  0,  0, 74,  0,  0,  0,
-    0,  0, 75, 76,  0, 77, 78,  0,  0, 79, 80,  0, 81, 62,  0, 82,
-   83,  0,  0, 84, 85, 86,  0,  0,  0, 87,  0, 88,  0,  0, 51, 89,
-   51,  0, 90,  0, 91,  0,  0,  0, 80,  0,  0,  0, 92, 93,  0, 94,
-   95, 96, 97,  0,  0,  0,  0,  0, 51,  0,  0,  0,  0, 98, 99,  0,
-    0,  0,  0,  0,  0,100,  0,  0,  0,  0,  0,101,102,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,103,  0,  0,104,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,105,106,  0,  0,107,  0,  0,  0,  0,  0,  0,
-  108,  0,109,  0,102,  0,  0,  0,  0,  0,110,111,  0,  0,  0,  0,
-    0,  0,  0,112,  0,  0,  0,  0,  0,  0,  0,113,  0,114,  0,  0,
-    0,  0,  0,  0,  1,  2,  3,  4,  5,  6,  7,  0,  8,  0,  0,  0,
-    0,  9, 10, 11, 12,  0,  0,  0,  0, 13,  0,  0, 14, 15,  0, 16,
-    0, 17, 18,  0,  0, 19,  0, 20, 21,  0,  0,  0,  0,  0, 22, 23,
-    0, 24, 25,  0,  0, 26,  0,  0,  0, 27,  0,  0, 28, 29, 30, 31,
-    0,  0,  0, 32, 33, 34,  0,  0, 33,  0,  0, 35, 33,  0,  0,  0,
-   33, 36,  0,  0,  0,  0,  0, 37, 38,  0,  0,  0,  0,  0,  0, 39,
-   40,  0,  0,  0,  0,  0,  0, 41, 42,  0,  0,  0,  0, 43,  0, 44,
-    0,  0,  0, 45, 46,  0,  0,  0, 47,  0,  0,  0,  0,  0,  0, 48,
-   49,  0,  0,  0,  0, 50,  0,  0,  0, 51,  0, 52,  0, 53,  0,  0,
-    0,  0, 54,  0,  0,  0,  0, 55,  0, 56,  0,  0,  0,  0, 57, 58,
-    0,  0,  0, 59, 60,  0,  0,  0,  0,  0,  0, 61, 52,  0, 62, 63,
-    0,  0, 64,  0,  0,  0, 65, 66,  0,  0,  0, 67,  0, 68, 69, 70,
-   71, 72,  1, 73,  0, 74, 75, 76,  0,  0, 77, 78,  0,  0,  0, 79,
-    0,  0,  1,  1,  0,  0, 80,  0,  0, 81,  0,  0,  0,  0, 77, 82,
-    0, 83,  0,  0,  0,  0,  0, 78, 84,  0, 85,  0, 52,  0,  1, 78,
-    0,  0, 86,  0,  0, 87,  0,  0,  0,  0,  0, 88, 57,  0,  0,  0,
-    0,  0,  0, 89, 90,  0,  0, 84,  0,  0, 33,  0,  0, 91,  0,  0,
-    0,  0, 92,  0,  0,  0,  0, 49,  0,  0, 93,  0,  0,  0,  0, 94,
-   95,  0,  0, 96,  0,  0, 97,  0,  0,  0, 98,  0,  0,  0, 99,  0,
-    0,  0,  0,100,101, 93,  0,  0,102,  0,  0,  0, 84,  0,  0,103,
-    0,  0,  0,104,105,  0,  0,106,107,  0,  0,  0,  0,  0,  0,108,
-    0,  0,109,  0,  0,  0,  0,110, 33,  0,111,112,113, 35,  0,  0,
-  114,  0,  0,  0,115,  0,  0,  0,  0,  0,  0,116,  0,  0,117,  0,
-    0,  0,  0,118, 88,  0,  0,  0,  0,  0, 57,  0,  0,  0,  0, 52,
-  119,  0,  0,  0,  0,120,  0,  0,121,  0,  0,  0,  0,119,  0,  0,
-  122,  0,  0,  0,  0,  0,  0,123,  0,  0,  0,124,  0,  0,  0,125,
-    0,126,  0,  0,  0,  0,127,128,129,  0,130,  0,131,  0,  0,  0,
-  132,133,134,  0, 77,  0,  0,  0,  0,  0, 35,  0,  0,  0,135,  0,
-    0,  0,136,  0,  0,137,  0,  0,138,  0,  0,  0,  0,  0,  0,  0,
-    1,  1,  1,  1,  1,  2,  3,  4,  5,  6,  7,  4,  4,  8,  9, 10,
-    1, 11, 12, 13, 14, 15, 16, 17, 18,  1,  1,  1, 19,  1,  0,  0,
-   20, 21, 22,  1, 23,  4, 21, 24, 25, 26, 27, 28, 29, 30,  0,  0,
-    1,  1, 31,  0,  0,  0, 32, 33, 34, 35,  1, 36, 37,  0,  0,  0,
-    0, 38,  1, 39, 14, 39, 40, 41, 42,  0,  0,  0, 43, 36, 44, 45,
-   21, 45, 46,  0,  0,  0, 19,  1, 21,  0,  0, 47,  0, 38, 48,  1,
-    1, 49, 49, 50,  0,  0, 51,  0,  0,  0, 52,  1,  0,  0, 38, 14,
-    4,  1,  1,  1, 53, 21, 43, 52, 54, 21, 35,  1,  0,  0,  0, 55,
-    0,  0,  0, 56, 57, 58,  0,  0,  0,  0,  0, 59,  0, 60,  0,  0,
-    0,  0, 61, 62,  0,  0, 63,  0,  0,  0, 64,  0,  0,  0, 65,  0,
-    0,  0, 66,  0,  0,  0, 67,  0,  0,  0, 68,  0,  0, 69, 70,  0,
-   71, 72, 73, 74, 75, 76,  0,  0,  0, 77,  0,  0,  0, 78, 79,  0,
-    0,  0,  0, 47,  0,  0,  0, 49,  0, 80,  0,  0,  0, 62,  0,  0,
-   63,  0,  0, 81,  0,  0, 82,  0,  0,  0, 83,  0,  0, 19, 84,  0,
-   62,  0,  0,  0,  0, 49,  1, 85,  1, 52, 15, 86, 36, 10, 21, 87,
-    0, 55,  0,  0,  0,  0, 19, 10,  1,  0,  0,  0,  0,  0, 88,  0,
-    0, 89,  0,  0, 88,  0,  0,  0,  0, 78,  0,  0, 87,  9, 12,  4,
-   90,  8, 91, 47,  0, 58, 50,  0, 21,  1, 21, 92, 93,  1,  1,  1,
-    1, 94, 95, 96, 97,  1, 98, 58, 81, 99,100,  4, 58,  0,  0,  0,
-    0,  0,  0, 19, 50,  0,  0,  0,  0,  0,  0, 61,  0,  0,101,102,
-    0,  0,103,  0,  0,  1,  1, 50,  0,  0,  0, 38,  0, 63,  0,  0,
-    0,  0,  0, 62,  0,  0,104, 68, 61,  0,  0,  0, 78,  0,  0,  0,
-  105,106, 58, 38, 81,  0,  0,  0,  0,  0,  0,107,  1, 14,  4, 12,
-   84,  0,  0,  0,  0, 38, 87,  0,  0,  0,  0,108,  0,  0,109, 61,
-    0,110,  0,  0,  0,  1,  0,  0,  0,  0, 19, 58,  0,  0,  0, 51,
-    0,111, 14, 52,112, 41,  0,  0, 62,  0,  0, 61,  0,  0,113,  0,
-   87,  0,  0,  0, 61, 62,  0,  0, 62,  0, 89,  0,  0,113,  0,  0,
-    0,  0,114,  0,  0,  0, 78, 55,  0, 38,  1, 58,  1, 58,  0,  0,
-   63, 89,  0,  0,115,  0,  0,  0, 55,  0,  0,  0,  0,115,  0,  0,
-    0,  0, 61,  0,  0,  0,  0, 79,  0, 61,  0,  0,  0,  0, 56,  0,
-   89, 80,  0,  0, 79,  0,  0,  0,  8, 91,  0,  0,  1, 87,  0,  0,
-  116,  0,  0,  0,  0,  0,  0,117,  0,118,119,120,121,  0,104,  4,
-  122, 49, 23,  0,  0,  0, 38, 50, 38, 58,  0,  0,  1, 87,  1,  1,
-    1,  1, 39,  1, 48,105, 87,  0,  0,  0,  0,  1,  0,  0,  0,123,
-    4,122,  0,  0,  0,  1,124,  0,  0,  0,  0,  0,230,230,230,230,
-  230,232,220,220,220,220,232,216,220,220,220,220,220,202,202,220,
-  220,220,220,202,202,220,220,220,  1,  1,  1,  1,  1,220,220,220,
-  220,230,230,230,230,240,230,220,220,220,230,230,230,220,220,  0,
-  230,230,230,220,220,220,220,230,232,220,220,230,233,234,234,233,
-  234,234,233,230,  0,  0,  0,230,  0,220,230,230,230,230,220,230,
-  230,230,222,220,230,230,220,220,230,222,228,230, 10, 11, 12, 13,
-   14, 15, 16, 17, 18, 19, 19, 20, 21, 22,  0, 23,  0, 24, 25,  0,
-  230,220,  0, 18, 30, 31, 32,  0,  0,  0,  0, 27, 28, 29, 30, 31,
-   32, 33, 34,230,230,220,220,230,220,230,230,220, 35,  0,  0,  0,
-    0,  0,230,230,230,  0,  0,230,230,  0,220,230,230,220,  0,  0,
-    0, 36,  0,  0,230,220,230,230,220,220,230,220,220,230,220,230,
-  220,230,230,  0,  0,220,  0,  0,230,230,  0,230,  0,230,230,230,
-  230,230,  0,  0,  0,220,220,220,230,220,220,220,230,230,  0,220,
-   27, 28, 29,230,  7,  0,  0,  0,  0,  9,  0,  0,  0,230,220,230,
-  230,  0,  0,  0,  0,  0,230,  0,  0, 84, 91,  0,  0,  0,  0,  9,
-    9,  0,  0,  0,  0,  0,  9,  0,103,103,  9,  0,107,107,107,107,
-  118,118,  9,  0,122,122,122,122,220,220,  0,  0,  0,220,  0,220,
-    0,216,  0,  0,  0,129,130,  0,132,  0,  0,  0,  0,  0,130,130,
-  130,130,  0,  0,130,  0,230,230,  9,  0,230,230,  0,  0,220,  0,
-    0,  0,  0,  7,  0,  9,  9,  0,  9,  9,  0,  0,  0,230,  0,  0,
-    0,228,  0,  0,  0,222,230,220,220,  0,  0,  0,230,  0,  0,220,
-  230,220,  0,220,230,230,230,  0,  0,  0,  9,  9,  0,  0,  7,  0,
-  230,  0,  1,  1,  1,  0,  0,  0,230,234,214,220,202,230,230,230,
-  230,230,232,228,228,220,218,230,233,220,230,220,230,230,  1,  1,
-    1,  1,  1,230,  0,  1,  1,230,220,230,  1,  1,  0,  0,218,228,
-  232,222,224,224,  0,  8,  8,  0,  0,  0,  0,220,230,  0,230,230,
-  220,  0,  0,230,  0,  0, 26,  0,  0,220,  0,230,230,  1,220,  0,
-    0,230,220,  0,  0,  0,220,220,  0,  0,230,220,  0,  9,  7,  0,
-    0,  7,  9,  0,  0,  0,  9,  7,  6,  6,  0,  0,  0,  0,  1,  0,
-    0,216,216,  1,  1,  1,  0,  0,  0,226,216,216,216,216,216,  0,
-  220,220,220,  0,232,232,220,230,230,230,  7,  0, 16, 17, 17, 17,
-   17, 17, 17, 33, 17, 17, 17, 19, 17, 17, 17, 17, 20,101, 17,113,
-  129,169, 17, 27, 28, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+    8, 44, 44, 44, 44, 44, 44, 44, 67, 67, 67, 67, 67, 67, 44, 44,
+   55, 67, 67, 67, 67, 67, 67, 67, 27, 27, 27, 27, 27, 27, 91, 67,
+   67, 67, 67, 67, 67, 67, 67, 44, 44, 44, 44, 67, 67, 67, 67, 67,
+   67, 92, 44, 44, 44, 44, 44, 44, 67, 67, 67, 67, 92, 44, 44, 44,
+   67, 44, 44, 44, 44, 44, 44, 44, 67, 67, 67, 67, 67, 25, 41, 41,
+   67, 67, 67, 67, 44, 44, 67, 67, 67, 67, 67, 92, 44, 55, 67, 67,
+   67, 67, 67, 67, 44, 44, 44, 44, 67, 67, 67, 67, 67, 67, 67, 55,
+   67, 67, 67, 44, 44, 44, 44, 67, 67, 92, 67, 67, 67, 67, 67, 67,
+   79, 44, 44, 44, 44, 44, 44, 44,171,171,171,171,171,171,171, 44,
+  171,171,171,171,171,171,171,  0,  0,  0, 29, 21, 21, 21, 23, 21,
+   22, 18, 21, 25, 21, 17, 13, 13, 25, 25, 25, 21, 21,  9,  9,  9,
+    9, 22, 21, 18, 24, 16, 24,  5,  5,  5,  5, 22, 25, 18, 25,  0,
+   23, 23, 26, 21, 24, 26,  7, 20, 25,  1, 26, 24, 26, 25, 15, 15,
+   24, 15,  7, 19, 15, 21,  9, 25,  9,  5,  5, 25,  5,  9,  5,  7,
+    7,  7,  9,  8,  8,  5,  7,  5,  6,  6, 24, 24,  6, 24, 12, 12,
+    2,  2,  6,  5,  9, 21,  9,  2,  2,  9, 25,  9, 26, 12, 11, 11,
+    2,  6,  5, 21, 17,  2,  2, 26, 26, 23,  2, 12, 17, 12, 21, 12,
+   12, 21,  7,  2,  2,  7,  7, 21, 21,  2,  1,  1, 21, 23, 26, 26,
+    1, 21,  6,  7,  7, 12, 12,  7, 21,  7, 12,  1, 12,  6,  6, 12,
+   12, 26,  7, 26, 26,  7,  2,  1, 12,  2,  6,  2, 24,  7,  7,  6,
+    1, 12, 12, 10, 10, 10, 10, 12, 21,  6,  2, 10, 10,  2, 15, 26,
+   26,  2,  2, 21,  7, 10, 15,  7,  2, 23, 21, 26, 10,  7, 21, 15,
+   15,  2, 17,  7, 29,  7,  7, 22, 18,  2, 14, 14, 14,  7, 10, 21,
+   17, 21, 11, 12,  5,  2,  5,  6,  8,  8,  8, 24,  5, 24,  2, 24,
+    9, 24, 24,  2, 29, 29, 29,  1, 17, 17, 20, 19, 22, 20, 27, 28,
+    1, 29, 21, 20, 19, 21, 21, 16, 16, 21, 25, 22, 18, 21, 21, 29,
+    1,  2, 15,  6, 18,  6, 23,  2, 12, 11,  9, 26, 26,  9, 26,  5,
+    5, 26, 14,  9,  5, 14, 14, 15, 25, 26, 26, 22, 18, 26, 18, 25,
+   18, 22,  5, 12,  2,  5, 22, 21, 21, 22, 18, 17, 26,  6,  7, 14,
+   17, 22, 18, 18, 26, 14, 17,  6, 14,  6, 12, 24, 24,  6, 26, 15,
+    6, 21, 11, 21, 24,  9,  6,  9, 23, 26,  6, 10,  4,  4,  3,  3,
+    7, 25, 17, 16, 16, 22, 16, 16, 25, 17, 25,  2, 25, 24,  2, 15,
+   12, 15, 14,  2, 21, 14,  7, 15, 12, 17, 21,  1, 26, 10, 10,  1,
+   23, 15,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  0, 10, 11, 12,
+   13,  0, 14,  0,  0,  0,  0,  0, 15,  0, 16,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0, 17, 18, 19,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,
+    0, 21, 22, 23,  0,  0,  0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+   33, 34,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0, 35,  0, 36,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+   37,  0,  0,  0,  0,  0,  0,  0,  0,  0, 38, 39,  0,  0,  0,  0,
+    0,  0, 40, 41, 42,  0, 43,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  1,  2,  0,  0,  0,  0,  3,  0,  0,  0,  4,  5,
+    6,  7,  0,  8,  9, 10,  0, 11, 12, 13, 14, 15, 16, 17, 16, 18,
+   16, 19, 16, 19, 16, 19,  0, 19, 16, 20, 16, 19, 21, 19,  0, 22,
+   23, 24, 25, 26, 27, 28, 29, 30, 31,  0, 32,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0, 33,  0,  0,  0,  0,  0,  0, 34,  0,  0, 35,
+    0,  0, 36,  0, 37,  0,  0,  0, 38, 39, 40, 41, 42, 43, 44, 45,
+   46,  0,  0, 47,  0,  0,  0, 48,  0,  0,  0, 49,  0,  0,  0,  0,
+    0,  0,  0, 50,  0, 51,  0, 52, 53,  0, 54,  0,  0,  0,  0,  0,
+    0, 55, 56, 57,  0,  0,  0,  0, 58,  0,  0, 59, 60, 61, 62, 63,
+    0,  0, 64, 65,  0,  0,  0, 66,  0,  0,  0,  0, 67,  0,  0,  0,
+   68,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 69,
+    0,  0,  0, 70,  0, 71,  0,  0, 72,  0,  0, 73,  0,  0,  0,  0,
+    0,  0,  0,  0, 74,  0,  0,  0,  0,  0, 75, 76,  0, 77, 78,  0,
+    0, 79, 80,  0, 81, 62,  0, 82, 83,  0,  0, 84, 85, 86,  0,  0,
+    0, 87,  0, 88,  0,  0, 51, 89, 51,  0, 90,  0, 91,  0,  0,  0,
+   80,  0,  0,  0, 92, 93,  0, 94, 95, 96, 97,  0,  0,  0,  0,  0,
+   51,  0,  0,  0,  0, 98, 99,  0,  0,  0,  0,  0,  0,100,  0,  0,
+    0,  0,  0,101,102,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,103,
+    0,  0,104,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,105,106,  0,
+    0,107,  0,  0,  0,  0,  0,  0,108,  0,109,  0,102,  0,  0,  0,
+    0,  0,110,111,  0,  0,  0,  0,  0,  0,  0,112,  0,  0,  0,  0,
+    0,  0,  0,113,  0,114,  0,  0,  0,  0,  0,  0,  1,  2,  3,  4,
+    5,  6,  7,  0,  8,  0,  0,  0,  0,  9, 10, 11, 12,  0,  0,  0,
+    0, 13,  0,  0, 14, 15,  0, 16,  0, 17, 18,  0,  0, 19,  0, 20,
+   21,  0,  0,  0,  0,  0, 22, 23,  0, 24, 25,  0,  0, 26,  0,  0,
+    0, 27,  0,  0, 28, 29, 30, 31,  0,  0,  0, 32, 33, 34,  0,  0,
+   33,  0,  0, 35, 33,  0,  0,  0, 33, 36,  0,  0,  0,  0,  0, 37,
+   38,  0,  0,  0,  0,  0,  0, 39, 40,  0,  0,  0,  0,  0,  0, 41,
+   42,  0,  0,  0,  0, 43,  0, 44,  0,  0,  0, 45, 46,  0,  0,  0,
+   47,  0,  0,  0,  0,  0,  0, 48, 49,  0,  0,  0,  0, 50,  0,  0,
+    0, 51,  0, 52,  0, 53,  0,  0,  0,  0, 54,  0,  0,  0,  0, 55,
+    0, 56,  0,  0,  0,  0, 57, 58,  0,  0,  0, 59, 60,  0,  0,  0,
+    0,  0,  0, 61, 52,  0, 62, 63,  0,  0, 64,  0,  0,  0, 65, 66,
+    0,  0,  0, 67,  0, 68, 69, 70, 71, 72,  1, 73,  0, 74, 75, 76,
+    0,  0, 77, 78,  0,  0,  0, 79,  0,  0,  1,  1,  0,  0, 80,  0,
+    0, 81,  0,  0,  0,  0, 77, 82,  0, 83,  0,  0,  0,  0,  0, 78,
+   84,  0, 85,  0, 52,  0,  1, 78,  0,  0, 86,  0,  0, 87,  0,  0,
+    0,  0,  0, 88, 57,  0,  0,  0,  0,  0,  0, 89, 90,  0,  0, 84,
+    0,  0, 33,  0,  0, 91,  0,  0,  0,  0, 92,  0,  0,  0,  0, 49,
+    0,  0, 93,  0,  0,  0,  0, 94, 95,  0,  0, 96,  0,  0, 97,  0,
+    0,  0, 98,  0,  0,  0, 99,  0,  0,  0,  0,100,101, 93,  0,  0,
+  102,  0,  0,  0, 84,  0,  0,103,  0,  0,  0,104,105,  0,  0,106,
+  107,  0,  0,  0,  0,  0,  0,108,  0,  0,109,  0,  0,  0,  0,110,
+   33,  0,111,112,113, 35,  0,  0,114,  0,  0,  0,115,  0,  0,  0,
+    0,  0,  0,116,  0,  0,117,  0,  0,  0,  0,118, 88,  0,  0,  0,
+    0,  0, 57,  0,  0,  0,  0, 52,119,  0,  0,  0,  0,120,  0,  0,
+  121,  0,  0,  0,  0,119,  0,  0,122,  0,  0,  0,  0,  0,  0,123,
+    0,  0,  0,124,  0,  0,  0,125,  0,126,  0,  0,  0,  0,127,128,
+  129,  0,130,  0,131,  0,  0,  0,132,133,134,  0, 77,  0,  0,  0,
+    0,  0, 35,  0,  0,  0,135,  0,  0,  0,136,  0,  0,137,  0,  0,
+  138,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  2,  3,  4,
+    5,  6,  7,  4,  4,  8,  9, 10,  1, 11, 12, 13, 14, 15, 16, 17,
+   18,  1,  1,  1, 19,  1,  0,  0, 20, 21, 22,  1, 23,  4, 21, 24,
+   25, 26, 27, 28, 29, 30,  0,  0,  1,  1, 31,  0,  0,  0, 32, 33,
+   34, 35,  1, 36, 37,  0,  0,  0,  0, 38,  1, 39, 14, 39, 40, 41,
+   42,  0,  0,  0, 43, 36, 44, 45, 21, 45, 46,  0,  0,  0, 19,  1,
+   21,  0,  0, 47,  0, 38, 48,  1,  1, 49, 49, 50,  0,  0, 51,  0,
+    0,  0, 52,  1,  0,  0, 38, 14,  4,  1,  1,  1, 53, 21, 43, 52,
+   54, 21, 35,  1,  0,  0,  0, 55,  0,  0,  0, 56, 57, 58,  0,  0,
+    0,  0,  0, 59,  0, 60,  0,  0,  0,  0, 61, 62,  0,  0, 63,  0,
+    0,  0, 64,  0,  0,  0, 65,  0,  0,  0, 66,  0,  0,  0, 67,  0,
+    0,  0, 68,  0,  0, 69, 70,  0, 71, 72, 73, 74, 75, 76,  0,  0,
+    0, 77,  0,  0,  0, 78, 79,  0,  0,  0,  0, 47,  0,  0,  0, 49,
+    0, 80,  0,  0,  0, 62,  0,  0, 63,  0,  0, 81,  0,  0, 82,  0,
+    0,  0, 83,  0,  0, 19, 84,  0, 62,  0,  0,  0,  0, 49,  1, 85,
+    1, 52, 15, 86, 36, 10, 21, 87,  0, 55,  0,  0,  0,  0, 19, 10,
+    1,  0,  0,  0,  0,  0, 88,  0,  0, 89,  0,  0, 88,  0,  0,  0,
+    0, 78,  0,  0, 87,  9, 12,  4, 90,  8, 91, 47,  0, 58, 50,  0,
+   21,  1, 21, 92, 93,  1,  1,  1,  1, 94, 95, 96, 97,  1, 98, 58,
+   81, 99,100,  4, 58,  0,  0,  0,  0,  0,  0, 19, 50,  0,  0,  0,
+    0,  0,  0, 61,  0,  0,101,102,  0,  0,103,  0,  0,  1,  1, 50,
+    0,  0,  0, 38,  0, 63,  0,  0,  0,  0,  0, 62,  0,  0,104, 68,
+   61,  0,  0,  0, 78,  0,  0,  0,105,106, 58, 38, 81,  0,  0,  0,
+    0,  0,  0,107,  1, 14,  4, 12, 84,  0,  0,  0,  0, 38, 87,  0,
+    0,  0,  0,108,  0,  0,109, 61,  0,110,  0,  0,  0,  1,  0,  0,
+    0,  0, 19, 58,  0,  0,  0, 51,  0,111, 14, 52,112, 41,  0,  0,
+   62,  0,  0, 61,  0,  0,113,  0, 87,  0,  0,  0, 61, 62,  0,  0,
+   62,  0, 89,  0,  0,113,  0,  0,  0,  0,114,  0,  0,  0, 78, 55,
+    0, 38,  1, 58,  1, 58,  0,  0, 63, 89,  0,  0,115,  0,  0,  0,
+   55,  0,  0,  0,  0,115,  0,  0,  0,  0, 61,  0,  0,  0,  0, 79,
+    0, 61,  0,  0,  0,  0, 56,  0, 89, 80,  0,  0, 79,  0,  0,  0,
+    8, 91,  0,  0,  1, 87,  0,  0,116,  0,  0,  0,  0,  0,  0,117,
+    0,118,119,120,121,  0,104,  4,122, 49, 23,  0,  0,  0, 38, 50,
+   38, 58,  0,  0,  1, 87,  1,  1,  1,  1, 39,  1, 48,105, 87,  0,
+    0,  0,  0,  1,  0,  0,  0,123,  4,122,  0,  0,  0,  1,124,  0,
+    0,  0,  0,  0,230,230,230,230,230,232,220,220,220,220,232,216,
+  220,220,220,220,220,202,202,220,220,220,220,202,202,220,220,220,
+    1,  1,  1,  1,  1,220,220,220,220,230,230,230,230,240,230,220,
+  220,220,230,230,230,220,220,  0,230,230,230,220,220,220,220,230,
+  232,220,220,230,233,234,234,233,234,234,233,230,  0,  0,  0,230,
+    0,220,230,230,230,230,220,230,230,230,222,220,230,230,220,220,
+  230,222,228,230, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20,
+   21, 22,  0, 23,  0, 24, 25,  0,230,220,  0, 18, 30, 31, 32,  0,
+    0,  0,  0, 27, 28, 29, 30, 31, 32, 33, 34,230,230,220,220,230,
+  220,230,230,220, 35,  0,  0,  0,  0,  0,230,230,230,  0,  0,230,
+  230,  0,220,230,230,220,  0,  0,  0, 36,  0,  0,230,220,230,230,
+  220,220,230,220,220,230,220,230,220,230,230,  0,  0,220,  0,  0,
+  230,230,  0,230,  0,230,230,230,230,230,  0,  0,  0,220,220,220,
+  230,220,220,220,230,230,  0,220, 27, 28, 29,230,  7,  0,  0,  0,
+    0,  9,  0,  0,  0,230,220,230,230,  0,  0,  0,  0,  0,230,  0,
+    0, 84, 91,  0,  0,  0,  0,  9,  9,  0,  0,  0,  0,  0,  9,  0,
+  103,103,  9,  0,107,107,107,107,118,118,  9,  0,122,122,122,122,
+  220,220,  0,  0,  0,220,  0,220,  0,216,  0,  0,  0,129,130,  0,
+  132,  0,  0,  0,  0,  0,130,130,130,130,  0,  0,130,  0,230,230,
+    9,  0,230,230,  0,  0,220,  0,  0,  0,  0,  7,  0,  9,  9,  0,
+    9,  9,  0,  0,  0,230,  0,  0,  0,228,  0,  0,  0,222,230,220,
+  220,  0,  0,  0,230,  0,  0,220,230,220,  0,220,230,230,230,  0,
+    0,  0,  9,  9,  0,  0,  7,  0,230,  0,  1,  1,  1,  0,  0,  0,
+  230,234,214,220,202,230,230,230,230,230,232,228,228,220,218,230,
+  233,220,230,220,230,230,  1,  1,  1,  1,  1,230,  0,  1,  1,230,
+  220,230,  1,  1,  0,  0,218,228,232,222,224,224,  0,  8,  8,  0,
+    0,  0,  0,220,230,  0,230,230,220,  0,  0,230,  0,  0, 26,  0,
+    0,220,  0,230,230,  1,220,  0,  0,230,220,  0,  0,  0,220,220,
+    0,  0,230,220,  0,  9,  7,  0,  0,  7,  9,  0,  0,  0,  9,  7,
+    6,  6,  0,  0,  0,  0,  1,  0,  0,216,216,  1,  1,  1,  0,  0,
+    0,226,216,216,216,216,216,  0,220,220,220,  0,232,232,220,230,
+  230,230,  7,  0, 16, 17, 17, 17, 17, 17, 17, 33, 17, 17, 17, 19,
+   17, 17, 17, 17, 20,101, 17,113,129,169, 17, 27, 28, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
-   17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,237,  0,  1,  2,  2,
-    0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,  0,  6,  7,  8,
-    9,  0,  0,  0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,  0,  0,
-    0,  0,  0,  0,  0,  0,  0, 20,  0,  0, 21, 22,  0,  0,  0,  0,
-   23, 24, 25, 26,  0, 27,  0, 28, 29, 30, 31, 32,  0,  0,  0,  0,
-    0,  0,  0, 33, 34, 35, 36,  0,  0,  0,  0,  0, 37,  0,  0,  0,
-    0,  0,  0,  0,  0,  0, 38, 39,  0,  0,  0,  0,  1,  2, 40, 41,
-    0,  1,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,
-    0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  3,  4,  0,  0,  5,  0,
-    0,  0,  6,  0,  0,  0,  0,  0,  0,  0,  7,  1,  0,  0,  0,  0,
-    0,  0,  8,  9,  0,  0,  0,  0,  0,  0, 10,  0,  0, 10,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0, 10,
-    0,  0,  0,  0,  0,  0, 11, 12,  0, 13,  0, 14, 15, 16,  0,  0,
-    0,  0,  0,  1, 17, 18,  0, 19,  7,  1,  0,  0,  0, 20, 20,  7,
-   20, 20, 20, 20, 20, 20, 20,  8, 21,  0, 22,  0,  7, 23, 24,  0,
-   20, 20, 25,  0,  0,  0, 26, 27,  1,  7, 20, 20, 20, 20, 20,  1,
-   28, 29, 30, 31,  0,  0, 20,  0,  0,  0,  0,  0,  0,  0, 10,  0,
-    0,  0,  0,  0,  0,  0, 20, 20, 20,  1,  0,  0,  8, 21, 32,  4,
-    0, 10,  0, 33,  7, 20, 20, 20,  0,  0,  0,  0,  8, 34, 34, 35,
-   36, 34, 37,  0, 38,  1, 20, 20,  0,  0, 39,  0,  1,  1,  0,  8,
-   21,  1, 20,  0,  0,  0,  1,  0,  0, 40,  1,  1,  0,  0,  8, 21,
-    0,  1,  0,  1,  0,  1,  0,  0,  0,  0, 26, 34, 34, 34, 34, 34,
-   34, 34, 34, 34, 21,  7, 20, 41, 34, 34, 34, 34, 34, 34, 34, 34,
-   34, 21,  0, 42, 43, 44,  0, 45,  0,  8, 21,  0,  0,  0,  0,  0,
-    0,  0,  0, 46,  7,  1, 10,  1,  0,  0,  0,  1, 20, 20,  1,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0, 26, 34,  9,  0,  0, 20, 20,
-    1, 20, 20,  0,  0,  0,  0,  0,  0,  0, 26, 21,  0,  1,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3, 47, 48,  0,  0,  0,
-    0,  0,  0,  0,  0,  1,  2,  3,  4,  5,  6,  7,  7,  8,  7,  7,
-    7,  7,  7,  7,  7,  7,  7,  7,  9, 10, 11, 11, 11, 11, 12, 13,
-   13, 13, 13, 14, 15, 16, 17, 18, 19, 20, 21, 13, 22, 13, 13, 13,
-   13, 23, 24, 24, 25, 26, 13, 13, 13, 27, 28, 29, 13, 30, 31, 32,
-   33, 34, 35, 36,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
-    7,  7,  7,  7,  7,  7,  7,  7, 37,  7, 38, 39,  7, 40,  7,  7,
-    7, 41, 13, 42,  7,  7, 43,  7, 44, 13, 13, 13, 13, 13, 13, 13,
-   13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+   17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+   17, 17, 17,237,  0,  1,  2,  2,  0,  3,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    5,  0,  0,  0,  0,  6,  7,  8,  9,  0,  0,  0, 10, 11, 12, 13,
+   14, 15, 16, 17, 18, 19,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,
+    0,  0, 21, 22,  0,  0,  0,  0, 23, 24, 25, 26,  0, 27,  0, 28,
+   29, 30, 31, 32,  0,  0,  0,  0,  0,  0,  0, 33, 34, 35, 36,  0,
+    0,  0,  0,  0, 37,  0,  0,  0,  0,  0,  0,  0,  0,  0, 38, 39,
+    0,  0,  0,  0,  1,  2, 40, 41,  0,  1,  2,  2,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  2,  0,  0,  0,  0,
+    0,  0,  3,  4,  0,  0,  5,  0,  0,  0,  6,  0,  0,  0,  0,  0,
+    0,  0,  7,  1,  0,  0,  0,  0,  0,  0,  8,  9,  0,  0,  0,  0,
+    0,  0, 10,  0,  0, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0, 10,  0,  0,  0, 10,  0,  0,  0,  0,  0,  0, 11, 12,
+    0, 13,  0, 14, 15, 16,  0,  0,  0,  0,  0,  1, 17, 18,  0, 19,
+    7,  1,  0,  0,  0, 20, 20,  7, 20, 20, 20, 20, 20, 20, 20,  8,
+   21,  0, 22,  0,  7, 23, 24,  0, 20, 20, 25,  0,  0,  0, 26, 27,
+    1,  7, 20, 20, 20, 20, 20,  1, 28, 29, 30, 31,  0,  0, 20,  0,
+    0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  0,  0,  0, 20, 20,
+   20,  1,  0,  0,  8, 21, 32,  4,  0, 10,  0, 33,  7, 20, 20, 20,
+    0,  0,  0,  0,  8, 34, 34, 35, 36, 34, 37,  0, 38,  1, 20, 20,
+    0,  0, 39,  0,  1,  1,  0,  8, 21,  1, 20,  0,  0,  0,  1,  0,
+    0, 40,  1,  1,  0,  0,  8, 21,  0,  1,  0,  1,  0,  1,  0,  0,
+    0,  0, 26, 34, 34, 34, 34, 34, 34, 34, 34, 34, 21,  7, 20, 41,
+   34, 34, 34, 34, 34, 34, 34, 34, 34, 21,  0, 42, 43, 44,  0, 45,
+    0,  8, 21,  0,  0,  0,  0,  0,  0,  0,  0, 46,  7,  1, 10,  1,
+    0,  0,  0,  1, 20, 20,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0, 26, 34,  9,  0,  0, 20, 20,  1, 20, 20,  0,  0,  0,  0,  0,
+    0,  0, 26, 21,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  3, 47, 48,  0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  3,
+    4,  5,  6,  7,  7,  8,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
+    9, 10, 11, 11, 11, 11, 12, 13, 13, 13, 13, 14, 15, 16, 17, 18,
+   19, 20, 21, 13, 22, 13, 13, 13, 13, 23, 24, 24, 25, 26, 13, 13,
+   13, 27, 28, 29, 13, 30, 31, 32, 33, 34, 35, 36,  7,  7,  7,  7,
+    7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
+   37,  7, 38, 39,  7, 40,  7,  7,  7, 41, 13, 42,  7,  7, 43,  7,
+   44, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
@@ -1716,201 +1716,202 @@
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
-   13, 13, 13, 13, 45,  0,  0,  1,  2,  2,  2,  3,  4,  5,  6,  7,
-    8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
-   24, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 35, 36, 37, 37,
-   37, 37, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-   51, 52,  2,  2, 53, 54, 55, 56, 57, 58, 59, 59, 59, 59, 60, 59,
-   59, 59, 59, 59, 59, 59, 61, 61, 59, 59, 59, 59, 62, 63, 64, 65,
-   66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 59, 70, 70,
-   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+   13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 45,  0,  0,  1,
+    2,  2,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
+   16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+   32, 32, 33, 34, 35, 36, 37, 37, 37, 37, 37, 38, 39, 40, 41, 42,
+   43, 44, 45, 46, 47, 48, 49, 50, 51, 52,  2,  2, 53, 54, 55, 56,
+   57, 58, 59, 59, 59, 59, 60, 59, 59, 59, 59, 59, 59, 59, 61, 61,
+   59, 59, 59, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+   74, 75, 76, 77, 78, 59, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
    70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-   70, 79, 70, 70, 70, 70, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81,
-   82, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 32, 32,
-   32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+   70, 70, 70, 70, 70, 70, 70, 70, 70, 79, 70, 70, 70, 70, 80, 80,
+   80, 80, 80, 80, 80, 80, 80, 81, 82, 82, 83, 84, 85, 86, 87, 88,
+   89, 90, 91, 92, 93, 94, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
-   32, 32, 32, 32, 32, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96, 96, 96, 70, 70, 97, 98, 99,100,101,101,
-  102,103,104,105,106,107,108,109,110,111, 96,112,113,114,115,116,
-  117,118,119,119,120,121,122,123,124,125,126,127,128,129,130,131,
-  132, 96,133,134,135,136,137,138,139,140,141,142,143, 96,144,145,
-   96,146,147,148,149, 96,150,151,152,153,154,155,156, 96,157,158,
-  159,160, 96,161,162,163,164,164,164,164,164,164,164,165,166,164,
-  167, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96,168,169,169,169,169,169,169,169,169,170, 96,
-   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,171,171,
-  171,171,172, 96, 96, 96,173,173,173,173,174,175,176,177, 96, 96,
-   96, 96,178,179,180,181,182,182,182,182,182,182,182,182,182,182,
-  182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
-  182,182,182,182,182,183,182,182,182,182,182,182,184,184,184,185,
-  186, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96,187,188,189,190,191,191,192, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,193,194,
+   32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 96, 96,
    96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96,195,196, 59,197,198,199,200,201,202, 96,203,204,
-  205, 59, 59,206, 59,207,208,208,208,208,208,209, 96, 96, 96, 96,
-   96, 96, 96, 96,210, 96,211,212,213, 96, 96,214, 96, 96, 96,215,
-   96, 96, 96, 96, 96,216,217,218,219, 96, 96, 96, 96, 96,220,221,
-  222, 96,223,224, 96, 96,225,226, 59,227,228, 96, 59, 59, 59, 59,
-   59, 59, 59,229,230,231,232,233, 59, 59,234,235, 59,236, 96, 96,
-   96, 96, 96, 96, 96, 96, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-   70, 70, 70,237, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-   70, 70, 70, 70,238, 70,239, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+   70, 70, 97, 98, 99,100,101,101,102,103,104,105,106,107,108,109,
+  110,111, 96,112,113,114,115,116,117,118,119,119,120,121,122,123,
+  124,125,126,127,128,129,130,131,132, 96,133,134,135,136,137,138,
+  139,140,141,142,143, 96,144,145, 96,146,147,148,149, 96,150,151,
+  152,153,154,155,156, 96,157,158,159,160, 96,161,162,163,164,164,
+  164,164,164,164,164,165,166,164,167, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,168,169,169,
+  169,169,169,169,169,169,170, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96,171,171,171,171,172, 96, 96, 96,173,173,
+  173,173,174,175,176,177, 96, 96, 96, 96,178,179,180,181,182,182,
+  182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
+  182,182,182,182,182,182,182,182,182,182,182,182,182,183,182,182,
+  182,182,182,182,184,184,184,185,186, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,187,188,189,
+  190,191,191,192, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96,193,194, 96, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,195,196, 59,197,
+  198,199,200,201,202, 96,203,204,205, 59, 59,206, 59,207,208,208,
+  208,208,208,209, 96, 96, 96, 96, 96, 96, 96, 96,210, 96,211,212,
+  213, 96, 96,214, 96, 96, 96,215, 96, 96, 96, 96, 96,216,217,218,
+  219, 96, 96, 96, 96, 96,220,221,222, 96,223,224, 96, 96,225,226,
+   59,227,228, 96, 59, 59, 59, 59, 59, 59, 59,229,230,231,232,233,
+   59, 59,234,235, 59,236, 96, 96, 96, 96, 96, 96, 96, 96, 70, 70,
+   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,237, 70, 70, 70, 70,
+   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,238, 70,239, 70,
    70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-   70, 70, 70,240, 70, 70, 70, 70, 70, 70, 70, 70, 70,241, 96, 96,
-   96, 96, 96, 96, 96, 96, 70, 70, 70, 70,242, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96, 70, 70, 70, 70, 70, 70,243, 70, 70, 70,
-   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,244, 96, 96,
-   96, 96, 96, 96, 96, 96,245, 96,246,247,  0,  1,  2,  2,  0,  1,
-    2,  2,  2,  3,  4,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0, 19,
-   19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
-   19,  0,  0,  0,  0,  0,  0,  0, 19,  0,  0,  0,  0,  0, 19, 19,
-   19, 19, 19, 19, 19,  0, 19,  0,  0,  0,  0,  0,  0,  0, 19, 19,
-   19, 19, 19,  0,  0,  0,  0,  0, 26, 26,  0,  0,  0,  0,  1,  1,
-    1,  1,  1,  1,  1,  1,  9,  9,  9,  9,  0,  9,  9,  9,  2,  2,
-    9,  9,  9,  9,  0,  9,  2,  2,  2,  2,  9,  0,  9,  0,  9,  9,
-    9,  2,  9,  2,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
-    2,  9,  9,  9,  9,  9,  9,  9, 55, 55, 55, 55, 55, 55, 55, 55,
-   55, 55, 55, 55, 55, 55,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
-    6,  6,  6,  1,  1,  6,  2,  4,  4,  4,  4,  4,  4,  4,  4,  4,
-    4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  4,  4,
-    4,  2,  2,  4,  4,  4,  2, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-   14, 14, 14, 14, 14, 14,  2,  2,  2,  2,  2,  2,  2,  2, 14, 14,
-   14,  2,  2,  2,  2, 14, 14, 14, 14, 14, 14,  2,  2,  2,  3,  3,
-    3,  3,  3,  0,  3,  3,  3,  3,  3,  3,  0,  3,  3,  3,  3,  3,
-    3,  3,  3,  3,  3,  3,  3,  3,  3,  0,  3,  3,  3,  0,  0,  3,
-    3,  3,  3,  3,  3,  3,  3,  3,  3,  1,  1,  1,  1,  1,  1,  1,
-    1,  1,  1,  1,  3,  3,  1,  3,  3,  3,  3,  3,  3,  3, 37, 37,
-   37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,  2, 37, 37, 37,
-   37,  2,  2, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
-    2,  2,  2,  2,  2,  2, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-   64,  2,  2, 64, 64, 64, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
-   90, 90, 90, 90,  2,  2, 90, 90, 90, 90, 90, 90, 90,  2, 95, 95,
-   95, 95, 95, 95, 95, 95, 95, 95, 95, 95,  2,  2, 95,  2, 37, 37,
-   37,  2,  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  2,  3,  3,
-    2,  2,  2,  2,  2,  2,  3,  3,  0,  3,  3,  3,  3,  3,  7,  7,
-    7,  7,  7,  7,  7,  7,  7,  1,  1,  1,  1,  7,  7,  7,  7,  7,
-    7,  7,  0,  0,  7,  7,  5,  5,  5,  5,  2,  5,  5,  5,  5,  5,
-    5,  5,  5,  2,  2,  5,  5,  2,  2,  5,  5,  5,  5,  5,  5,  5,
-    5,  5,  5,  5,  5,  5,  5,  2,  5,  5,  5,  5,  5,  5,  5,  2,
-    5,  2,  2,  2,  5,  5,  5,  5,  2,  2,  5,  5,  5,  5,  5,  2,
-    2,  5,  5,  5,  5,  2,  2,  2,  2,  2,  2,  2,  2,  5,  2,  2,
-    2,  2,  5,  5,  2,  5,  5,  5,  5,  5,  2,  2,  5,  5,  5,  5,
-    5,  5,  5,  5,  5,  2,  2, 11, 11, 11,  2, 11, 11, 11, 11, 11,
-   11,  2,  2,  2,  2, 11, 11,  2,  2, 11, 11, 11, 11, 11, 11, 11,
-   11, 11, 11, 11, 11, 11, 11,  2, 11, 11, 11, 11, 11, 11, 11,  2,
-   11, 11,  2, 11, 11,  2, 11, 11,  2,  2, 11,  2, 11, 11, 11,  2,
-    2, 11, 11, 11,  2,  2,  2, 11,  2,  2,  2,  2,  2,  2,  2, 11,
-   11, 11, 11,  2, 11,  2,  2,  2,  2,  2,  2,  2, 11, 11, 11, 11,
-   11, 11, 11, 11, 11,  2,  2, 10, 10, 10,  2, 10, 10, 10, 10, 10,
-   10, 10, 10, 10,  2, 10, 10, 10,  2, 10, 10, 10, 10, 10, 10, 10,
-   10, 10, 10, 10, 10, 10, 10,  2, 10, 10, 10, 10, 10, 10, 10,  2,
-   10, 10,  2, 10, 10, 10, 10, 10,  2,  2, 10, 10, 10, 10, 10, 10,
-    2, 10, 10, 10,  2,  2, 10,  2,  2,  2,  2,  2,  2,  2, 10, 10,
-   10, 10,  2,  2, 10, 10, 10, 10,  2,  2,  2,  2,  2,  2,  2, 10,
-   10, 10, 10, 10, 10, 10,  2, 21, 21, 21,  2, 21, 21, 21, 21, 21,
-   21, 21, 21,  2,  2, 21, 21,  2,  2, 21, 21, 21, 21, 21, 21, 21,
-   21, 21, 21, 21, 21, 21, 21,  2, 21, 21, 21, 21, 21, 21, 21,  2,
-   21, 21,  2, 21, 21, 21, 21, 21,  2,  2, 21, 21, 21, 21, 21,  2,
-    2, 21, 21, 21,  2,  2,  2,  2,  2,  2,  2, 21, 21, 21,  2,  2,
-    2,  2, 21, 21,  2, 21, 21, 21, 21, 21,  2,  2, 21, 21,  2,  2,
-   22, 22,  2, 22, 22, 22, 22, 22, 22,  2,  2,  2, 22, 22, 22,  2,
-   22, 22, 22, 22,  2,  2,  2, 22, 22,  2, 22,  2, 22, 22,  2,  2,
-    2, 22, 22,  2,  2,  2, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
-    2,  2,  2,  2, 22, 22, 22,  2,  2,  2,  2,  2,  2, 22,  2,  2,
-    2,  2,  2,  2, 22, 22, 22, 22, 22,  2,  2,  2,  2,  2, 23, 23,
-   23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,  2, 23, 23, 23,  2,
-   23, 23, 23, 23, 23, 23, 23, 23,  2,  2, 23, 23, 23, 23, 23,  2,
-   23, 23, 23, 23,  2,  2,  2,  2,  2,  2,  2, 23, 23,  2, 23, 23,
-   23,  2,  2, 23,  2,  2, 23, 23, 23, 23,  2,  2, 23, 23,  2,  2,
-    2,  2,  2,  2,  2, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-   16, 16, 16,  2, 16, 16, 16,  2, 16, 16, 16, 16, 16, 16, 16, 16,
-   16, 16,  2, 16, 16, 16, 16, 16,  2,  2, 16, 16, 16, 16, 16,  2,
-   16, 16, 16, 16,  2,  2,  2,  2,  2,  2,  2, 16, 16,  2, 16, 16,
-   16, 16,  2,  2, 16, 16,  2, 16, 16, 16,  2,  2,  2,  2, 20, 20,
-   20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,  2, 20, 20, 20,  2,
-   20, 20, 20, 20, 20, 20,  2,  2,  2,  2, 20, 20, 20, 20, 20, 20,
-   20, 20,  2,  2, 20, 20,  2, 36, 36, 36,  2, 36, 36, 36, 36, 36,
-   36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,  2,  2,  2,
-   36, 36, 36, 36, 36, 36, 36, 36,  2, 36, 36, 36, 36, 36, 36, 36,
-   36, 36,  2, 36,  2,  2,  2,  2, 36,  2,  2,  2,  2, 36, 36, 36,
-   36, 36, 36,  2, 36,  2,  2,  2,  2,  2,  2,  2, 36, 36,  2,  2,
-   36, 36, 36,  2,  2,  2,  2, 24, 24, 24, 24, 24, 24, 24, 24, 24,
-   24, 24, 24, 24, 24, 24, 24, 24, 24,  2,  2,  2,  2,  0, 24, 24,
-   24, 24,  2,  2,  2,  2,  2, 18, 18,  2, 18,  2, 18, 18, 18, 18,
-   18,  2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
-   18, 18,  2, 18,  2, 18, 18, 18, 18, 18, 18, 18,  2,  2, 18, 18,
-   18, 18, 18,  2, 18,  2, 18, 18, 18, 18, 18, 18, 18,  2, 18, 18,
-    2,  2, 18, 18, 18, 18, 25, 25, 25, 25, 25, 25, 25, 25,  2, 25,
-   25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,  2,  2,  2, 25, 25,
-   25, 25, 25,  2, 25, 25, 25, 25, 25, 25, 25,  0,  0,  0,  0, 25,
-   25,  2,  2,  2,  2,  2, 33, 33, 33, 33, 33, 33, 33, 33,  8,  8,
-    8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  2,  8,  2,  2,
-    2,  2,  2,  8,  2,  2,  8,  8,  8,  0,  8,  8,  8,  8, 12, 12,
-   12, 12, 12, 12, 12, 12, 30, 30, 30, 30, 30, 30, 30, 30, 30,  2,
-   30, 30, 30, 30,  2,  2, 30, 30, 30, 30, 30, 30, 30,  2, 30, 30,
-   30,  2,  2, 30, 30, 30, 30, 30, 30, 30, 30,  2,  2,  2, 30, 30,
-    2,  2,  2,  2,  2,  2, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-   29, 29, 29, 29,  2,  2, 28, 28, 28, 28, 28, 28, 28, 28, 34, 34,
-   34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,  2,  2,  2, 35, 35,
-   35, 35, 35, 35, 35, 35, 35, 35, 35,  0,  0,  0, 35, 35, 35,  2,
-    2,  2,  2,  2,  2,  2, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
-   45, 45, 45, 45,  2,  2,  2,  2,  2,  2,  2,  2,  2, 45, 44, 44,
-   44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,  0,  0,  2, 43, 43,
-   43, 43, 43, 43, 43, 43, 43, 43, 43, 43,  2,  2,  2,  2, 46, 46,
-   46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,  2, 46, 46, 46,  2,
-   46, 46,  2,  2,  2,  2, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
-   31, 31, 31, 31,  2,  2, 31, 31,  2,  2,  2,  2,  2,  2, 32, 32,
-    0,  0, 32,  0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
-    2,  2,  2,  2,  2,  2, 32,  2,  2,  2,  2,  2,  2,  2, 32, 32,
-   32,  2,  2,  2,  2,  2, 28, 28, 28, 28, 28, 28,  2,  2, 48, 48,
-   48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,  2, 48, 48,
-   48, 48,  2,  2,  2,  2, 48,  2,  2,  2, 48, 48, 48, 48, 52, 52,
-   52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,  2,  2, 52, 52,
-   52, 52, 52,  2,  2,  2, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
-   58, 58,  2,  2,  2,  2, 58, 58,  2,  2,  2,  2,  2,  2, 58, 58,
-   58,  2,  2,  2, 58, 58, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
-   54, 54,  2,  2, 54, 54, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
-   91, 91, 91, 91, 91,  2, 91, 91, 91, 91, 91,  2,  2, 91, 91, 91,
-    2,  2,  2,  2,  2,  2, 91, 91, 91, 91, 91, 91,  2,  2,  1,  1,
-    1,  1,  1,  1,  1,  2, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
-   62, 62, 62,  2,  2,  2, 62, 62, 62, 62, 62, 62, 62,  2, 76, 76,
-   76, 76, 76, 76, 76, 76, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
-   93, 93,  2,  2,  2,  2,  2,  2,  2,  2, 93, 93, 93, 93, 70, 70,
-   70, 70, 70, 70, 70, 70,  2,  2,  2, 70, 70, 70, 70, 70, 70, 70,
-    2,  2,  2, 70, 70, 70, 73, 73, 73, 73, 73, 73, 73, 73,  6,  2,
-    2,  2,  2,  2,  2,  2,  8,  8,  8,  2,  2,  8,  8,  8,  1,  1,
-    1,  0,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,
-    0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  1,
-    0,  2,  2,  2,  2,  2, 19, 19, 19, 19, 19, 19,  9,  9,  9,  9,
-    9,  6, 19, 19, 19, 19, 19, 19, 19, 19, 19,  9,  9,  9,  9,  9,
-   19, 19, 19, 19,  9,  9,  9,  9,  9, 19, 19, 19, 19, 19,  6, 19,
-   19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,  9,  9,  9,
-    9,  9,  9,  9,  2,  2,  2,  9,  2,  9,  2,  9,  2,  9,  9,  9,
-    9,  9,  9,  2,  9,  9,  9,  9,  9,  9,  2,  2,  9,  9,  9,  9,
-    9,  9,  2,  9,  9,  9,  2,  2,  9,  9,  9,  2,  9,  9,  9,  9,
-    9,  9,  9,  9,  9,  2,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,
-    0,  0,  0,  2,  0,  0,  0, 19,  2,  2,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0, 19,  0,  0,  0,  0,  0,  0,  0,  2, 19, 19,
-   19, 19, 19,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  1,  2,
-    2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  9,  0,  0,  0,
-   19, 19,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 19,  0, 19,  0,
-    0,  0,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2,  2,  2, 27, 27,
-   27, 27, 27, 27, 27, 27,  0,  0,  0,  0,  2,  2,  0,  0,  0,  0,
-    0,  0,  0,  0,  2,  0, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55,
-   55, 55,  2,  2,  2,  2,  2, 55, 55, 55, 55, 55, 55, 55, 61, 61,
-   61, 61, 61, 61, 61, 61,  2,  2,  2,  2,  2,  2,  2, 61, 61,  2,
-    2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  2,  2, 13, 13,
-   13, 13, 13, 13, 13, 13, 13, 13,  2, 13, 13, 13, 13, 13, 13, 13,
-   13, 13,  2,  2,  2,  2, 13, 13, 13, 13, 13, 13,  2,  2,  0,  0,
-    0,  0,  2,  2,  2,  2,  0,  0,  0,  0,  0, 13,  0, 13,  0, 13,
+   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,240, 70, 70, 70, 70,
+   70, 70, 70, 70, 70,241, 70, 70, 70, 70,242, 96, 96, 96, 70, 70,
+   70, 70,243, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 70, 70,
+   70, 70, 70, 70,244, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+   70, 70, 70, 70, 70,245, 96, 96, 96, 96, 96, 96, 96, 96,246, 96,
+  247,248,  0,  1,  2,  2,  0,  1,  2,  2,  2,  3,  4,  5,  0,  0,
+    0,  0,  0,  0,  0,  0,  0, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+   19, 19, 19, 19, 19, 19, 19, 19, 19,  0,  0,  0,  0,  0,  0,  0,
+   19,  0,  0,  0,  0,  0, 19, 19, 19, 19, 19, 19, 19,  0, 19,  0,
+    0,  0,  0,  0,  0,  0, 19, 19, 19, 19, 19,  0,  0,  0,  0,  0,
+   26, 26,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  9,  9,
+    9,  9,  0,  9,  9,  9,  2,  2,  9,  9,  9,  9,  0,  9,  2,  2,
+    2,  2,  9,  0,  9,  0,  9,  9,  9,  2,  9,  2,  9,  9,  9,  9,
+    9,  9,  9,  9,  9,  9,  9,  9,  2,  9,  9,  9,  9,  9,  9,  9,
+   55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,  6,  6,
+    6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  1,  1,  6,  2,  4,
+    4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
+    4,  4,  4,  4,  4,  2,  4,  4,  4,  2,  2,  4,  4,  4,  2, 14,
+   14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,  2,  2,
+    2,  2,  2,  2,  2,  2, 14, 14, 14,  2,  2,  2,  2, 14, 14, 14,
+   14, 14, 14,  2,  2,  2,  3,  3,  3,  3,  3,  0,  3,  3,  3,  3,
+    3,  3,  0,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
+    3,  0,  3,  3,  3,  0,  0,  3,  3,  3,  3,  3,  3,  3,  3,  3,
+    3,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  3,  3,  1,  3,
+    3,  3,  3,  3,  3,  3, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+   37, 37, 37, 37,  2, 37, 37, 37, 37,  2,  2, 37, 37, 37, 38, 38,
+   38, 38, 38, 38, 38, 38, 38, 38,  2,  2,  2,  2,  2,  2, 64, 64,
+   64, 64, 64, 64, 64, 64, 64, 64, 64,  2,  2, 64, 64, 64, 90, 90,
+   90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,  2,  2, 90, 90,
+   90, 90, 90, 90, 90,  2, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+   95, 95,  2,  2, 95,  2, 37, 37, 37,  2,  2,  2,  2,  2,  3,  3,
+    3,  3,  3,  3,  3,  2,  3,  3,  2,  2,  2,  2,  2,  2,  3,  3,
+    0,  3,  3,  3,  3,  3,  7,  7,  7,  7,  7,  7,  7,  7,  7,  1,
+    1,  1,  1,  7,  7,  7,  7,  7,  7,  7,  0,  0,  7,  7,  5,  5,
+    5,  5,  2,  5,  5,  5,  5,  5,  5,  5,  5,  2,  2,  5,  5,  2,
+    2,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  2,
+    5,  5,  5,  5,  5,  5,  5,  2,  5,  2,  2,  2,  5,  5,  5,  5,
+    2,  2,  5,  5,  5,  5,  5,  2,  2,  5,  5,  5,  5,  2,  2,  2,
+    2,  2,  2,  2,  2,  5,  2,  2,  2,  2,  5,  5,  2,  5,  5,  5,
+    5,  5,  2,  2,  5,  5,  5,  5,  5,  5,  5,  5,  5,  2,  2, 11,
+   11, 11,  2, 11, 11, 11, 11, 11, 11,  2,  2,  2,  2, 11, 11,  2,
+    2, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,  2,
+   11, 11, 11, 11, 11, 11, 11,  2, 11, 11,  2, 11, 11,  2, 11, 11,
+    2,  2, 11,  2, 11, 11, 11,  2,  2, 11, 11, 11,  2,  2,  2, 11,
+    2,  2,  2,  2,  2,  2,  2, 11, 11, 11, 11,  2, 11,  2,  2,  2,
+    2,  2,  2,  2, 11, 11, 11, 11, 11, 11, 11, 11, 11,  2,  2, 10,
+   10, 10,  2, 10, 10, 10, 10, 10, 10, 10, 10, 10,  2, 10, 10, 10,
+    2, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,  2,
+   10, 10, 10, 10, 10, 10, 10,  2, 10, 10,  2, 10, 10, 10, 10, 10,
+    2,  2, 10, 10, 10, 10, 10, 10,  2, 10, 10, 10,  2,  2, 10,  2,
+    2,  2,  2,  2,  2,  2, 10, 10, 10, 10,  2,  2, 10, 10, 10, 10,
+    2,  2,  2,  2,  2,  2,  2, 10, 10, 10, 10, 10, 10, 10,  2, 21,
+   21, 21,  2, 21, 21, 21, 21, 21, 21, 21, 21,  2,  2, 21, 21,  2,
+    2, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,  2,
+   21, 21, 21, 21, 21, 21, 21,  2, 21, 21,  2, 21, 21, 21, 21, 21,
+    2,  2, 21, 21, 21, 21, 21,  2,  2, 21, 21, 21,  2,  2,  2,  2,
+    2,  2,  2, 21, 21, 21,  2,  2,  2,  2, 21, 21,  2, 21, 21, 21,
+   21, 21,  2,  2, 21, 21,  2,  2, 22, 22,  2, 22, 22, 22, 22, 22,
+   22,  2,  2,  2, 22, 22, 22,  2, 22, 22, 22, 22,  2,  2,  2, 22,
+   22,  2, 22,  2, 22, 22,  2,  2,  2, 22, 22,  2,  2,  2, 22, 22,
+   22, 22, 22, 22, 22, 22, 22, 22,  2,  2,  2,  2, 22, 22, 22,  2,
+    2,  2,  2,  2,  2, 22,  2,  2,  2,  2,  2,  2, 22, 22, 22, 22,
+   22,  2,  2,  2,  2,  2, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+   23, 23, 23,  2, 23, 23, 23,  2, 23, 23, 23, 23, 23, 23, 23, 23,
+    2,  2, 23, 23, 23, 23, 23,  2, 23, 23, 23, 23,  2,  2,  2,  2,
+    2,  2,  2, 23, 23,  2, 23, 23, 23,  2,  2, 23,  2,  2, 23, 23,
+   23, 23,  2,  2, 23, 23,  2,  2,  2,  2,  2,  2,  2, 23, 16, 16,
+   16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,  2, 16, 16, 16,  2,
+   16, 16, 16, 16, 16, 16, 16, 16, 16, 16,  2, 16, 16, 16, 16, 16,
+    2,  2, 16, 16, 16, 16, 16,  2, 16, 16, 16, 16,  2,  2,  2,  2,
+    2,  2,  2, 16, 16,  2, 16, 16, 16, 16,  2,  2, 16, 16,  2, 16,
+   16, 16,  2,  2,  2,  2, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+   20, 20, 20,  2, 20, 20, 20,  2, 20, 20, 20, 20, 20, 20,  2,  2,
+    2,  2, 20, 20, 20, 20, 20, 20, 20, 20,  2,  2, 20, 20,  2, 36,
+   36, 36,  2, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+   36, 36, 36, 36, 36,  2,  2,  2, 36, 36, 36, 36, 36, 36, 36, 36,
+    2, 36, 36, 36, 36, 36, 36, 36, 36, 36,  2, 36,  2,  2,  2,  2,
+   36,  2,  2,  2,  2, 36, 36, 36, 36, 36, 36,  2, 36,  2,  2,  2,
+    2,  2,  2,  2, 36, 36,  2,  2, 36, 36, 36,  2,  2,  2,  2, 24,
+   24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+   24,  2,  2,  2,  2,  0, 24, 24, 24, 24,  2,  2,  2,  2,  2, 18,
+   18,  2, 18,  2, 18, 18, 18, 18, 18,  2, 18, 18, 18, 18, 18, 18,
+   18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  2, 18,  2, 18, 18, 18,
+   18, 18, 18, 18,  2,  2, 18, 18, 18, 18, 18,  2, 18,  2, 18, 18,
+   18, 18, 18, 18, 18,  2, 18, 18,  2,  2, 18, 18, 18, 18, 25, 25,
+   25, 25, 25, 25, 25, 25,  2, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+   25, 25, 25,  2,  2,  2, 25, 25, 25, 25, 25,  2, 25, 25, 25, 25,
+   25, 25, 25,  0,  0,  0,  0, 25, 25,  2,  2,  2,  2,  2, 33, 33,
+   33, 33, 33, 33, 33, 33,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
+    8,  8,  8,  8,  2,  8,  2,  2,  2,  2,  2,  8,  2,  2,  8,  8,
+    8,  0,  8,  8,  8,  8, 12, 12, 12, 12, 12, 12, 12, 12, 30, 30,
+   30, 30, 30, 30, 30, 30, 30,  2, 30, 30, 30, 30,  2,  2, 30, 30,
+   30, 30, 30, 30, 30,  2, 30, 30, 30,  2,  2, 30, 30, 30, 30, 30,
+   30, 30, 30,  2,  2,  2, 30, 30,  2,  2,  2,  2,  2,  2, 29, 29,
+   29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,  2,  2, 28, 28,
+   28, 28, 28, 28, 28, 28, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+   34, 34, 34,  2,  2,  2, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+   35,  0,  0,  0, 35, 35, 35,  2,  2,  2,  2,  2,  2,  2, 45, 45,
+   45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,  2,  2,  2,  2,
+    2,  2,  2,  2,  2, 45, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+   44, 44, 44,  0,  0,  2, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
+   43, 43,  2,  2,  2,  2, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
+   46, 46, 46,  2, 46, 46, 46,  2, 46, 46,  2,  2,  2,  2, 31, 31,
+   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,  2,  2, 31, 31,
+    2,  2,  2,  2,  2,  2, 32, 32,  0,  0, 32,  0, 32, 32, 32, 32,
+   32, 32, 32, 32, 32, 32, 32, 32,  2,  2,  2,  2,  2,  2, 32,  2,
+    2,  2,  2,  2,  2,  2, 32, 32, 32,  2,  2,  2,  2,  2, 28, 28,
+   28, 28, 28, 28,  2,  2, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+   48, 48, 48, 48, 48,  2, 48, 48, 48, 48,  2,  2,  2,  2, 48,  2,
+    2,  2, 48, 48, 48, 48, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+   52, 52, 52, 52,  2,  2, 52, 52, 52, 52, 52,  2,  2,  2, 58, 58,
+   58, 58, 58, 58, 58, 58, 58, 58, 58, 58,  2,  2,  2,  2, 58, 58,
+    2,  2,  2,  2,  2,  2, 58, 58, 58,  2,  2,  2, 58, 58, 54, 54,
+   54, 54, 54, 54, 54, 54, 54, 54, 54, 54,  2,  2, 54, 54, 91, 91,
+   91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,  2, 91, 91,
+   91, 91, 91,  2,  2, 91, 91, 91,  2,  2,  2,  2,  2,  2, 91, 91,
+   91, 91, 91, 91,  2,  2,  1,  1,  1,  1,  1,  1,  1,  2, 62, 62,
+   62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,  2,  2,  2, 62, 62,
+   62, 62, 62, 62, 62,  2, 76, 76, 76, 76, 76, 76, 76, 76, 93, 93,
+   93, 93, 93, 93, 93, 93, 93, 93, 93, 93,  2,  2,  2,  2,  2,  2,
+    2,  2, 93, 93, 93, 93, 70, 70, 70, 70, 70, 70, 70, 70,  2,  2,
+    2, 70, 70, 70, 70, 70, 70, 70,  2,  2,  2, 70, 70, 70, 73, 73,
+   73, 73, 73, 73, 73, 73,  6,  2,  2,  2,  2,  2,  2,  2,  8,  8,
+    8,  2,  2,  8,  8,  8,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,
+    1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,
+    0,  0,  1,  0,  0,  0,  1,  1,  0,  2,  2,  2,  2,  2, 19, 19,
+   19, 19, 19, 19,  9,  9,  9,  9,  9,  6, 19, 19, 19, 19, 19, 19,
+   19, 19, 19,  9,  9,  9,  9,  9, 19, 19, 19, 19,  9,  9,  9,  9,
+    9, 19, 19, 19, 19, 19,  6, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+   19, 19, 19, 19, 19,  9,  9,  9,  9,  9,  9,  9,  2,  2,  2,  9,
+    2,  9,  2,  9,  2,  9,  9,  9,  9,  9,  9,  2,  9,  9,  9,  9,
+    9,  9,  2,  2,  9,  9,  9,  9,  9,  9,  2,  9,  9,  9,  2,  2,
+    9,  9,  9,  2,  9,  9,  9,  9,  9,  9,  9,  9,  9,  2,  0,  0,
+    0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0, 19,
+    2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 19,  0,  0,
+    0,  0,  0,  0,  0,  2, 19, 19, 19, 19, 19,  2,  2,  2,  0,  2,
+    2,  2,  2,  2,  2,  2,  1,  2,  2,  2,  2,  2,  2,  2,  0,  0,
+    0,  0,  0,  0,  9,  0,  0,  0, 19, 19,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0, 19,  0, 19,  0,  0,  0,  2,  2,  2,  2,  0,  0,
+    0,  2,  2,  2,  2,  2, 27, 27, 27, 27, 27, 27, 27, 27,  0,  0,
+    0,  0,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0, 56, 56,
+   56, 56, 56, 56, 56, 56, 55, 55, 55, 55,  2,  2,  2,  2,  2, 55,
+   55, 55, 55, 55, 55, 55, 61, 61, 61, 61, 61, 61, 61, 61,  2,  2,
+    2,  2,  2,  2,  2, 61, 61,  2,  2,  2,  2,  2,  2,  2,  0,  0,
+    0,  0,  0,  0,  2,  2, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+    2, 13, 13, 13, 13, 13, 13, 13, 13, 13,  2,  2,  2,  2, 13, 13,
+   13, 13, 13, 13,  2,  2,  0,  0,  0,  0,  0, 13,  0, 13,  0, 13,
    13, 13, 13, 13, 13, 13, 13, 13,  1,  1,  1,  1, 12, 12, 13, 13,
    13, 13,  0,  0,  0,  0,  2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,  2,  2,  1,
     1,  0,  0, 15, 15, 15,  0, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17,  0,  0, 17, 17, 17,  2,  2,
     2,  2,  2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,  2, 12,
-   12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,  2, 12, 12,
+   12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,  2,  0,  0,
+    0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0, 12, 12,
    12, 12, 12, 12, 12,  0, 17, 17, 17, 17, 17, 17, 17,  0, 39, 39,
    39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,  2,  2,  2, 39, 39,
    39, 39, 39, 39, 39,  2, 86, 86, 86, 86, 86, 86, 86, 86, 77, 77,
@@ -2190,7 +2191,7 @@
     0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  3,  4,
 };
 static const uint16_t
-_hb_ucd_u16[9320] =
+_hb_ucd_u16[9344] =
 {
      0,   0,   1,   2,   3,   4,   5,   6,   0,   0,   7,   8,   9,  10,  11,  12,
     13,  13,  13,  14,  15,  13,  13,  16,  17,  18,  19,  20,  21,  22,  13,  23,
@@ -2233,9 +2234,9 @@
    209, 306, 209, 209, 209, 209, 209, 209,   9,   9,   9,  11,  11,  11, 307, 308,
     13,  13,  13,  13,  13,  13, 309, 310,  11,  11, 311,  48,  48,  48, 312, 313,
     48, 314, 315, 315, 315, 315,  32,  32, 316, 317, 318, 319, 320, 321, 140, 140,
-   209, 322, 209, 209, 209, 209, 209, 323, 209, 209, 209, 209, 209, 324, 140, 325,
-   326, 327, 328, 329, 136,  48,  48,  48,  48, 330, 178,  48,  48,  48,  48, 331,
-   332,  48,  48, 136,  48,  48,  48,  48, 200, 333,  48,  48, 209, 209, 323,  48,
+   209, 322, 209, 209, 209, 209, 209, 323, 209, 209, 209, 209, 209, 324, 140, 209,
+   325, 326, 327, 328, 136,  48,  48,  48,  48, 329, 178,  48,  48,  48,  48, 330,
+   331,  48,  48, 136,  48,  48,  48,  48, 200, 332,  48,  48, 209, 209, 333,  48,
    209, 334, 335, 209, 336, 337, 209, 209, 335, 209, 209, 337, 209, 209, 209, 209,
     48,  48,  48,  48, 209, 209, 209, 209,  48, 338,  48,  48,  48,  48,  48,  48,
    151, 209, 209, 209, 287,  48,  48, 229, 339,  48, 340, 140,  13,  13, 341, 342,
@@ -2306,475 +2307,476 @@
      9,   9, 607,  11, 654, 370, 140, 140, 140, 140, 140, 140, 140, 140, 140, 499,
    271, 271, 655, 656, 140, 140, 140, 140, 499, 271, 657, 658, 140, 140, 140, 140,
    659,  48, 660, 661, 662, 663, 664, 665, 666, 206, 667, 206, 140, 140, 140, 668,
-   209, 209, 325, 209, 209, 209, 209, 209, 209, 323, 334, 669, 669, 669, 209, 324,
-   670, 209, 209, 209, 209, 209, 209, 209, 209, 209, 671, 140, 140, 140, 672, 209,
-   673, 209, 209, 325, 674, 675, 324, 140, 209, 209, 209, 209, 209, 209, 209, 676,
-   209, 209, 209, 209, 209, 677, 426, 426, 209, 209, 209, 209, 209, 209, 209, 678,
-   209, 209, 209, 209, 209, 176, 325, 427, 325, 209, 209, 209, 679, 176, 209, 209,
-   679, 209, 671, 675, 140, 140, 140, 140, 209, 209, 209, 209, 209, 323, 671, 426,
-   674, 209, 209, 680, 681, 325, 674, 674, 209, 682, 209, 209, 288, 140, 140, 192,
+   209, 209, 669, 209, 209, 209, 209, 209, 209, 323, 334, 670, 670, 670, 209, 324,
+   671, 209, 209, 209, 209, 209, 209, 209, 209, 209, 672, 140, 140, 140, 673, 209,
+   674, 209, 209, 669, 675, 676, 324, 140, 209, 209, 209, 209, 209, 209, 209, 677,
+   209, 209, 209, 209, 209, 678, 426, 426, 209, 209, 209, 209, 209, 209, 209, 679,
+   209, 209, 209, 209, 209, 176, 669, 427, 669, 209, 209, 209, 680, 176, 209, 209,
+   680, 209, 672, 676, 140, 140, 140, 140, 209, 209, 209, 209, 209, 323, 672, 426,
+   675, 209, 209, 681, 682, 669, 675, 675, 209, 683, 209, 209, 288, 140, 140, 192,
     48,  48,  48,  48,  48,  48, 140, 140,  48,  48,  48, 207,  48,  48,  48,  48,
     48, 204,  48,  48,  48,  48,  48,  48,  48,  48, 478,  48,  48,  48,  48,  48,
-    48,  48,  48,  48,  48,  48, 100, 140,  48, 204, 140, 140, 140, 140, 140, 140,
-    48,  48,  48,  48,  71,  48,  48,  48,  48,  48,  48, 140, 140, 140, 140, 140,
-   683, 140, 570, 570, 570, 570, 570, 570,  32,  32,  32,  32,  32,  32,  32,  32,
-    32,  32,  32,  32,  32,  32,  32, 140, 391, 391, 391, 391, 391, 391, 391, 684,
-   391, 391, 391, 391, 391, 391, 391, 685,   0,   0,   0,   0,   0,   0,   0,   0,
-     1,   2,   2,   3,   1,   2,   2,   3,   0,   0,   0,   0,   0,   4,   0,   4,
-     2,   2,   5,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-     2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   6,
-     0,   0,   0,   0,   7,   8,   0,   0,   9,   9,   9,   9,   9,   9,   9,   9,
-     9,   9,   9,   9,   9,   9,  10,  11,  12,  13,  14,  14,  15,  14,  14,  14,
-    14,  14,  14,  14,  16,  17,  14,  14,  18,  18,  18,  18,  18,  18,  18,  18,
-    18,  18,  18,  18,  18,  18,  18,  18,  19,  18,  18,  18,  18,  18,  18,  18,
-    18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  20,  21,
-    21,  21,  22,  20,  21,  21,  21,  21,  21,  23,  24,  25,  25,  25,  25,  25,
-    25,  26,  25,  25,  25,  27,  28,  26,  29,  30,  31,  32,  31,  31,  31,  31,
-    33,  34,  35,  31,  31,  31,  36,  31,  31,  31,  31,  31,  31,  31,  31,  31,
-    31,  31,  31,  29,  31,  31,  31,  31,  37,  38,  37,  37,  37,  37,  37,  37,
-    37,  39,  31,  31,  31,  31,  31,  31,  40,  40,  40,  40,  40,  40,  41,  26,
-    42,  42,  42,  42,  42,  42,  42,  43,  44,  44,  44,  44,  44,  45,  44,  46,
-    47,  47,  47,  48,  37,  49,  31,  31,  31,  50,  51,  31,  31,  31,  31,  31,
-    31,  31,  31,  31,  52,  31,  31,  31,  53,  53,  53,  53,  53,  53,  53,  53,
-    53,  53,  54,  53,  55,  53,  53,  53,  56,  57,  58,  59,  59,  60,  61,  62,
-    57,  63,  64,  65,  66,  59,  59,  67,  68,  69,  70,  71,  71,  72,  73,  74,
-    69,  75,  76,  77,  78,  71,  79,  26,  80,  81,  82,  83,  83,  84,  85,  86,
-    81,  87,  88,  26,  89,  83,  90,  91,  92,  93,  94,  95,  95,  96,  97,  98,
-    93,  99, 100, 101, 102,  95,  95,  26, 103, 104, 105, 106, 107, 104, 108, 109,
-   104, 105, 110,  26, 111, 108, 108, 112, 113, 114, 115, 113, 113, 115, 113, 116,
-   114, 117, 118, 119, 120, 113, 121, 113, 122, 123, 124, 122, 122, 124, 125, 126,
-   123, 127, 128, 128, 129, 122, 130,  26, 131, 132, 133, 131, 131, 131, 131, 131,
-   132, 133, 134, 131, 135, 131, 131, 131, 136, 137, 138, 139, 137, 137, 140, 141,
-   138, 142, 143, 137, 144, 137, 145,  26, 146, 147, 147, 147, 147, 147, 147, 148,
-   147, 147, 147, 149,  26,  26,  26,  26, 150, 151, 152, 152, 153, 152, 152, 154,
-   155, 156, 152, 157,  26,  26,  26,  26, 158, 158, 158, 158, 158, 158, 158, 158,
-   158, 159, 158, 158, 158, 160, 159, 158, 158, 158, 158, 159, 158, 158, 158, 161,
-   158, 161, 162, 163,  26,  26,  26,  26, 164, 164, 164, 164, 164, 164, 164, 164,
-   164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 165, 165, 165,
-   166, 167, 165, 165, 165, 165, 165, 168, 169, 169, 169, 169, 169, 169, 169, 169,
-   169, 169, 169, 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, 170,
-   170, 171, 172, 171, 170, 170, 170, 170, 170, 171, 170, 170, 170, 170, 171, 172,
-   171, 170, 172, 170, 170, 170, 170, 170, 170, 170, 171, 170, 170, 170, 170, 170,
-   170, 170, 170, 173, 170, 170, 170, 174, 170, 170, 170, 175, 176, 176, 176, 176,
-   176, 176, 176, 176, 176, 176, 177, 177, 178, 178, 178, 178, 178, 178, 178, 178,
-   178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 179, 180, 181, 181, 181, 181,
-   181, 181, 181, 181, 181, 182, 181, 183, 184, 184, 185, 186, 187, 187, 188,  26,
-   189, 189, 190,  26, 191, 192, 193,  26, 194, 194, 194, 194, 194, 194, 194, 194,
-   194, 194, 194, 195, 194, 196, 194, 196, 197, 198, 198, 199, 198, 198, 198, 198,
-   198, 198, 198, 198, 198, 198, 198, 200, 198, 198, 198, 198, 198, 201, 178, 178,
-   178, 178, 178, 178, 178, 178, 202,  26, 203, 203, 203, 204, 203, 205, 203, 205,
-   206, 203, 207, 207, 207, 208, 209,  26, 210, 210, 210, 210, 210, 211, 210, 210,
-   210, 212, 210, 213, 194, 194, 194, 194, 214, 214, 214, 215, 216, 216, 216, 216,
-   216, 216, 216, 217, 216, 216, 216, 218, 216, 219, 216, 219, 216, 220,   9,   9,
-     9, 221,  26,  26,  26,  26,  26,  26, 222, 222, 222, 222, 222, 222, 222, 222,
-   222, 223, 222, 222, 222, 222, 222, 224, 225, 225, 225, 225, 225, 225, 225, 225,
-   226, 226, 226, 226, 226, 226, 227, 228, 229, 229, 229, 229, 229, 229, 229, 230,
-   229, 231, 232, 232, 232, 232, 232, 232,  18, 233, 165, 165, 165, 165, 165, 234,
-   225,  26, 235,   9, 236, 237, 238, 239,   2,   2,   2,   2, 240, 241,   2,   2,
-     2,   2,   2, 242, 243, 244,   2, 245,   2,   2,   2,   2,   2,   2,   2, 246,
-     9,   9,   9,   9,   9,   9,   9,   9,  14,  14, 247, 247,  14,  14,  14,  14,
-   247, 247,  14, 248,  14,  14,  14, 247,  14,  14,  14,  14,  14,  14, 249,  14,
-   249,  14, 250, 251,  14,  14, 252, 253,   0, 254,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0, 255,   0, 256, 257,   0, 258,   2, 259,   0,   0,   0,   0,
-   260,  26,   9,   9,   9,   9, 261,  26,   0,   0,   0,   0, 262, 263,   4,   0,
-     0, 264,   0,   0,   2,   2,   2,   2,   2, 265,   0,   0,   0,   0,   0,   0,
+    48,  48,  48,  48,  48,  48, 100,  48,  48,  48,  48,  48,  48, 204, 140, 140,
+    48, 204, 140, 140, 140, 140, 140, 140,  48,  48,  48,  48,  71,  48,  48,  48,
+    48,  48,  48, 140, 140, 140, 140, 140, 684, 140, 570, 570, 570, 570, 570, 570,
+    32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32, 140,
+   391, 391, 391, 391, 391, 391, 391, 685, 391, 391, 391, 391, 391, 391, 391, 686,
+     0,   0,   0,   0,   0,   0,   0,   0,   1,   2,   2,   3,   1,   2,   2,   3,
+     0,   0,   0,   0,   0,   4,   0,   4,   2,   2,   5,   2,   2,   2,   5,   2,
+     2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+     2,   2,   2,   2,   2,   2,   2,   6,   0,   0,   0,   0,   7,   8,   0,   0,
+     9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,  10,  11,
+    12,  13,  14,  14,  15,  14,  14,  14,  14,  14,  14,  14,  16,  17,  14,  14,
+    18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,
+    19,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,
+    18,  18,  18,  18,  18,  18,  20,  21,  21,  21,  22,  20,  21,  21,  21,  21,
+    21,  23,  24,  25,  25,  25,  25,  25,  25,  26,  25,  25,  25,  27,  28,  26,
+    29,  30,  31,  32,  31,  31,  31,  31,  33,  34,  35,  31,  31,  31,  36,  31,
+    31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  29,  31,  31,  31,  31,
+    37,  38,  37,  37,  37,  37,  37,  37,  37,  39,  31,  31,  31,  31,  31,  31,
+    40,  40,  40,  40,  40,  40,  41,  26,  42,  42,  42,  42,  42,  42,  42,  43,
+    44,  44,  44,  44,  44,  45,  44,  46,  47,  47,  47,  48,  37,  49,  31,  31,
+    31,  50,  51,  31,  31,  31,  31,  31,  31,  31,  31,  31,  52,  31,  31,  31,
+    53,  53,  53,  53,  53,  53,  53,  53,  53,  53,  54,  53,  55,  53,  53,  53,
+    56,  57,  58,  59,  59,  60,  61,  62,  57,  63,  64,  65,  66,  59,  59,  67,
+    68,  69,  70,  71,  71,  72,  73,  74,  69,  75,  76,  77,  78,  71,  79,  26,
+    80,  81,  82,  83,  83,  84,  85,  86,  81,  87,  88,  26,  89,  83,  90,  91,
+    92,  93,  94,  95,  95,  96,  97,  98,  93,  99, 100, 101, 102,  95,  95,  26,
+   103, 104, 105, 106, 107, 104, 108, 109, 104, 105, 110,  26, 111, 108, 108, 112,
+   113, 114, 115, 113, 113, 115, 113, 116, 114, 117, 118, 119, 120, 113, 121, 113,
+   122, 123, 124, 122, 122, 124, 125, 126, 123, 127, 128, 128, 129, 122, 130,  26,
+   131, 132, 133, 131, 131, 131, 131, 131, 132, 133, 134, 131, 135, 131, 131, 131,
+   136, 137, 138, 139, 137, 137, 140, 141, 138, 142, 143, 137, 144, 137, 145,  26,
+   146, 147, 147, 147, 147, 147, 147, 148, 147, 147, 147, 149,  26,  26,  26,  26,
+   150, 151, 152, 152, 153, 152, 152, 154, 155, 156, 152, 157,  26,  26,  26,  26,
+   158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 158, 158, 158, 160, 159, 158,
+   158, 158, 158, 159, 158, 158, 158, 161, 158, 161, 162, 163,  26,  26,  26,  26,
+   164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+   164, 164, 164, 164, 165, 165, 165, 165, 166, 167, 165, 165, 165, 165, 165, 168,
+   169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
+   170, 170, 170, 170, 170, 170, 170, 170, 170, 171, 172, 171, 170, 170, 170, 170,
+   170, 171, 170, 170, 170, 170, 171, 172, 171, 170, 172, 170, 170, 170, 170, 170,
+   170, 170, 171, 170, 170, 170, 170, 170, 170, 170, 170, 173, 170, 170, 170, 174,
+   170, 170, 170, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 177,
+   178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+   179, 179, 179, 180, 181, 181, 181, 181, 181, 181, 181, 181, 181, 182, 181, 183,
+   184, 184, 185, 186, 187, 187, 188,  26, 189, 189, 190,  26, 191, 192, 193,  26,
+   194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 195, 194, 196, 194, 196,
+   197, 198, 198, 199, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 200,
+   198, 198, 198, 198, 198, 201, 178, 178, 178, 178, 178, 178, 178, 178, 202,  26,
+   203, 203, 203, 204, 203, 205, 203, 205, 206, 203, 207, 207, 207, 208, 209,  26,
+   210, 210, 210, 210, 210, 211, 210, 210, 210, 212, 210, 213, 194, 194, 194, 194,
+   214, 214, 214, 215, 216, 216, 216, 216, 216, 216, 216, 217, 216, 216, 216, 218,
+   216, 219, 216, 219, 216, 220,   9,   9,   9, 221,  26,  26,  26,  26,  26,  26,
+   222, 222, 222, 222, 222, 222, 222, 222, 222, 223, 222, 222, 222, 222, 222, 224,
+   225, 225, 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, 226, 227, 228,
+   229, 229, 229, 229, 229, 229, 229, 230, 229, 231, 232, 232, 232, 232, 232, 232,
+    18, 233, 165, 165, 165, 165, 165, 234, 225,  26, 235,   9, 236, 237, 238, 239,
+     2,   2,   2,   2, 240, 241,   2,   2,   2,   2,   2, 242, 243, 244,   2, 245,
+     2,   2,   2,   2,   2,   2,   2, 246,   9,   9,   9,   9,   9,   9,   9,   9,
+    14,  14, 247, 247,  14,  14,  14,  14, 247, 247,  14, 248,  14,  14,  14, 247,
+    14,  14,  14,  14,  14,  14, 249,  14, 249,  14, 250, 251,  14,  14, 252, 253,
+     0, 254,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255,   0, 256, 257,
+     0, 258,   2, 259,   0,   0,   0,   0, 260,  26,   9,   9,   9,   9, 261,  26,
+     0,   0,   0,   0, 262, 263,   4,   0,   0, 264,   0,   0,   2,   2,   2,   2,
+     2, 265,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 258,  26,  26,  26,
-     0, 266,  26,  26,   0,   0,   0,   0, 267, 267, 267, 267, 267, 267, 267, 267,
-   267, 267, 267, 267, 267, 267, 267, 267,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0, 268,   0,   0,   0, 269,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0, 270, 270, 270, 270, 270, 270, 270, 270,
-   270, 270, 270, 270,   2,   2,   2,   2,  17,  17,  17,  17,  17,  17,  17,  17,
-    17,  17,  17,  17,  17,  17, 271, 272, 165, 165, 165, 165, 166, 167, 273, 273,
-   273, 273, 273, 273, 273, 274, 275, 274, 170, 170, 172,  26, 172, 172, 172, 172,
-   172, 172, 172, 172,  18,  18,  18,  18,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0, 276,  26,  26,  26,  26, 277, 277, 277, 278, 277, 277, 277, 277,
-   277, 277, 277, 277, 277, 277, 279,  26, 277, 277, 277, 277, 277, 277, 277, 277,
+     0,   0,   0,   0, 258,  26,  26,  26,   0, 266,  26,  26,   0,   0,   0,   0,
+   267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 268,   0,
+     0,   0, 269,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+   270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,   2,   2,   2,   2,
+    17,  17,  17,  17,  17,  17,  17,  17,  17,  17,  17,  17,  17,  17, 271, 272,
+   165, 165, 165, 165, 166, 167, 273, 273, 273, 273, 273, 273, 273, 274, 275, 274,
+   170, 170, 172,  26, 172, 172, 172, 172, 172, 172, 172, 172,  18,  18,  18,  18,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 276,  26,  26,  26,  26,
+   277, 277, 277, 278, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 279,  26,
    277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
-   277, 277, 280,  26,  26,  26,   0, 281, 282,   0,   0,   0, 283, 284,   0, 285,
-   286, 287, 287, 287, 287, 287, 287, 287, 287, 287, 288, 289, 290, 291, 291, 291,
-   291, 291, 291, 291, 291, 291, 291, 292, 293, 294, 294, 294, 294, 294, 295, 169,
-   169, 169, 169, 169, 169, 169, 169, 169, 169, 296,   0,   0, 294, 294, 294, 294,
-     0,   0,   0,   0, 281,  26, 291, 291, 169, 169, 169, 296,   0,   0,   0,   0,
-     0,   0,   0,   0, 169, 169, 169, 297,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0, 291, 291, 291, 291, 291, 298, 291, 291, 291, 291, 291, 291, 291, 291,
-   291, 291, 291,   0,   0,   0,   0,   0, 277, 277, 277, 277, 277, 277, 277, 277,
-     0,   0,   0,   0,   0,   0,   0,   0, 299, 299, 299, 299, 299, 299, 299, 299,
-   299, 299, 299, 299, 299, 299, 299, 299, 299, 300, 299, 299, 299, 299, 299, 299,
-   301,  26, 302, 302, 302, 302, 302, 302, 303, 303, 303, 303, 303, 303, 303, 303,
-   303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 304,  26,  26,
-    18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18, 305, 305, 305, 305,
-   305, 305, 305, 305, 305, 305, 305,  26,   0,   0,   0,   0, 306,   2,   2,   2,
-     2,   2,   2,   2,   2,   2,   2,   2,   2, 307,   2,   2,   2,   2,   2,   2,
-     2, 308, 309, 310,  26,  26, 311,   2, 312, 312, 312, 312, 312, 313,   0, 314,
-   315, 315, 315, 315, 315, 315, 315,  26, 316, 316, 316, 316, 316, 316, 316, 316,
-   317, 318, 316, 319,  53,  53,  53,  53, 320, 320, 320, 320, 320, 321, 322, 322,
-   322, 322, 323, 324, 169, 169, 169, 325, 326, 326, 326, 326, 326, 326, 326, 326,
-   326, 327, 326, 328, 164, 164, 164, 329, 330, 330, 330, 330, 330, 330, 331,  26,
-   330, 332, 330, 333, 164, 164, 164, 164, 334, 334, 334, 334, 334, 334, 334, 334,
-   335,  26,  26, 336, 337, 337, 338,  26, 339, 339, 339,  26, 172, 172,   2,   2,
-     2,   2,   2, 340, 341, 342, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
-   337, 337, 337, 337, 337, 343, 337, 344, 169, 169, 169, 169, 345,  26, 169, 169,
-   296, 346, 169, 169, 169, 169, 169, 345,  26,  26,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 277, 277, 277, 277, 277, 277, 277, 277,
-   277, 277, 277, 277, 277, 280, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
-   277, 277, 277, 347,  26,  26,  26,  26, 348,  26, 349, 350,  25,  25, 351, 352,
-   353,  25,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,
-   354,  26, 355,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,
-    31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31, 356,
-    31,  31,  31,  31,  31,  31,  31,  31,  31,  31, 357,  31,  31,  31,  31,  31,
-    31, 358,  26,  26,  26,  26,  31,  31,   9,   9,   0, 314,   9, 359,   0,   0,
-     0,   0, 360,   0, 258, 281, 361,  31,  31,  31,  31,  31,  31,  31,  31,  31,
-    31,  31,  31,  31,  31,  31,  31, 362, 363,   0,   0,   0,   1,   2,   2,   3,
-     1,   2,   2,   3, 364, 291, 290, 291, 291, 291, 291, 365, 169, 169, 169, 296,
-   366, 366, 366, 367, 258, 258,  26, 368, 369, 370, 369, 369, 371, 369, 369, 372,
-   369, 373, 369, 373,  26,  26,  26,  26, 369, 369, 369, 369, 369, 369, 369, 369,
-   369, 369, 369, 369, 369, 369, 369, 374, 375,   0,   0,   0,   0,   0, 376,   0,
-    14,  14,  14,  14,  14,  14,  14,  14,  14, 253,   0, 377, 378,  26,  26,  26,
-    26,  26,   0,   0,   0,   0,   0, 379, 380, 380, 380, 381, 382, 382, 382, 382,
-   382, 382, 383,  26, 384,   0,   0, 281, 385, 385, 385, 385, 386, 387, 388, 388,
-   388, 389, 390, 390, 390, 390, 390, 391, 392, 392, 392, 393, 394, 394, 394, 394,
-   395, 394, 396,  26,  26,  26,  26,  26, 397, 397, 397, 397, 397, 397, 397, 397,
-   397, 397, 398, 398, 398, 398, 398, 398, 399, 399, 399, 400, 399, 401, 402, 402,
-   402, 402, 403, 402, 402, 402, 402, 403, 404, 404, 404, 404, 404,  26, 405, 405,
-   405, 405, 405, 405, 406, 407, 408, 409, 408, 409, 410, 408, 411, 408, 411, 412,
-    26,  26,  26,  26,  26,  26,  26,  26, 413, 413, 413, 413, 413, 413, 413, 413,
-   413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 414,  26,
-   413, 413, 415,  26, 413,  26,  26,  26, 416,   2,   2,   2,   2,   2, 417, 308,
-    26,  26,  26,  26,  26,  26,  26,  26, 418, 419, 420, 420, 420, 420, 421, 422,
-   423, 423, 424, 423, 425, 425, 425, 425, 426, 426, 426, 427, 428, 426,  26,  26,
-    26,  26,  26,  26, 429, 429, 430, 431, 432, 432, 432, 433, 434, 434, 434, 435,
-    26,  26,  26,  26,  26,  26,  26,  26, 436, 436, 436, 436, 437, 437, 437, 438,
-   437, 437, 439, 437, 437, 437, 437, 437, 440, 441, 442, 443, 444, 444, 445, 446,
-   444, 447, 444, 447, 448, 448, 448, 448, 449, 449, 449, 449,  26,  26,  26,  26,
-   450, 450, 450, 450, 451, 452, 451,  26, 453, 453, 453, 453, 453, 453, 454, 455,
-   456, 456, 457, 456, 458, 458, 459, 458, 460, 460, 461, 462,  26, 463,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 464, 464, 464, 464, 464, 464, 464, 464,
-   464, 465,  26,  26,  26,  26,  26,  26, 466, 466, 466, 466, 466, 466, 467,  26,
-   466, 466, 466, 466, 466, 466, 467, 468, 469, 469, 469, 469, 469,  26, 469, 470,
-    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26,  31,  31,  31,  50, 471, 471, 471, 471, 471, 472, 473,  26,
-    26,  26,  26,  26,  26,  26,  26, 474, 475, 475, 475, 475, 475,  26, 476, 476,
-   476, 476, 476, 477,  26,  26, 478, 478, 478, 479,  26,  26,  26,  26, 480, 480,
-   480, 481,  26,  26, 482, 482, 483,  26, 484, 484, 484, 484, 484, 484, 484, 484,
-   484, 485, 486, 484, 484, 484, 485, 487, 488, 488, 488, 488, 488, 488, 488, 488,
-   489, 490, 491, 491, 491, 492, 491, 493, 494, 494, 494, 494, 494, 494, 495, 494,
-   494,  26, 496, 496, 496, 496, 497,  26, 498, 498, 498, 498, 498, 498, 498, 498,
-   498, 498, 498, 498, 499, 137, 500,  26, 501, 501, 502, 501, 501, 501, 501, 501,
-   503,  26,  26,  26,  26,  26,  26,  26, 504, 505, 506, 507, 506, 508, 509, 509,
-   509, 509, 509, 509, 509, 510, 509, 511, 512, 513, 514, 515, 515, 516, 517, 518,
-   513, 519, 520, 521, 522, 523, 523,  26, 524, 524, 524, 524, 524, 524, 524, 524,
-   524, 524, 524, 525, 526,  26,  26,  26, 527, 527, 527, 527, 527, 527, 527, 527,
-   527,  26, 527, 528,  26,  26,  26,  26, 529, 529, 529, 529, 529, 529, 530, 529,
-   529, 529, 529, 530,  26,  26,  26,  26, 531, 531, 531, 531, 531, 531, 531, 531,
-   532,  26, 531, 533, 198, 534,  26,  26, 535, 535, 535, 535, 535, 535, 535, 536,
-   535, 536,  26,  26,  26,  26,  26,  26, 537, 537, 537, 538, 537, 539, 537, 537,
-   540,  26,  26,  26,  26,  26,  26,  26, 541, 541, 541, 541, 541, 541, 541, 542,
-    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 543, 543, 543, 543,
-   543, 543, 543, 543, 543, 543, 544, 545, 546, 547, 548, 549, 549, 549, 550, 551,
-   546,  26, 549, 552,  26,  26,  26,  26,  26,  26,  26,  26, 553, 554, 553, 553,
-   553, 553, 553, 554, 555,  26,  26,  26, 556, 556, 556, 556, 556, 556, 556, 556,
-   556,  26, 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, 558,  26, 178, 178,
-   559, 559, 559, 559, 559, 559, 559, 560,  53, 561,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 562, 563, 562, 562, 562, 562, 564, 562,
-   565,  26, 562, 562, 562, 566, 567, 567, 567, 567, 568, 567, 567, 569, 570,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 571, 572, 573, 573, 573, 573, 571, 574,
-   573,  26, 573, 575, 576, 577, 578, 578, 578, 579, 580, 581, 578, 582,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26, 583, 583, 583, 584, 585, 585, 586, 585, 585, 585, 585, 587,
-   585, 585, 585, 588,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 589,  26,
-   108, 108, 108, 108, 108, 108, 590, 591, 592, 592, 592, 592, 592, 592, 592, 592,
-   592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 593,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 592, 592, 592, 592, 592, 592, 592, 592,
-   592, 592, 592, 592, 592, 594, 595,  26, 592, 592, 592, 592, 592, 592, 592, 592,
-   596,  26,  26,  26,  26,  26,  26,  26,  26,  26, 597, 597, 597, 597, 597, 597,
-   597, 597, 597, 597, 597, 597, 598,  26, 599, 599, 599, 599, 599, 599, 599, 599,
-   599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
-   599, 599, 600,  26,  26,  26,  26,  26, 601, 601, 601, 601, 601, 601, 601, 601,
-   601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601,
-   602,  26,  26,  26,  26,  26,  26,  26, 305, 305, 305, 305, 305, 305, 305, 305,
-   305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 603,
-   604, 604, 604, 605, 604, 606, 607, 607, 607, 607, 607, 607, 607, 607, 607, 608,
-   607, 609, 610, 610, 610, 611, 611,  26, 612, 612, 612, 612, 612, 612, 612, 612,
-   613,  26, 612, 614, 614, 612, 612, 615, 612, 612,  26,  26,  26,  26,  26,  26,
+   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 280,  26,  26,  26,   0,   0,
+   281,   0,   0,   0, 282, 283,   0, 284, 285, 286, 286, 286, 286, 286, 286, 286,
+   286, 286, 287, 288, 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 291,
+   292, 293, 293, 293, 293, 293, 294, 169, 169, 169, 169, 169, 169, 169, 169, 169,
+   169, 295,   0,   0, 293, 293, 293, 293,   0,   0,   0,   0, 296, 297, 290, 290,
+   169, 169, 169, 295,   0,   0,   0,   0,   0,   0,   0,   0, 169, 169, 169, 298,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 290, 290, 290, 290, 290, 299,
+   290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,   0,   0,   0,   0,   0,
+   277, 277, 277, 277, 277, 277, 277, 277,   0,   0,   0,   0,   0,   0,   0,   0,
+   300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
+   300, 301, 300, 300, 300, 300, 300, 300, 302,  26, 303, 303, 303, 303, 303, 303,
+   304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304,
+   304, 304, 304, 304, 304, 305,  26,  26,  18,  18,  18,  18,  18,  18,  18,  18,
+    18,  18,  18,  18, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,  26,
+     0,   0,   0,   0, 307,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+     2, 308,   2,   2,   2,   2,   2,   2,   2, 309, 310, 311,  26,  26, 312,   2,
+   313, 313, 313, 313, 313, 314,   0, 315, 316, 316, 316, 316, 316, 316, 316,  26,
+   317, 317, 317, 317, 317, 317, 317, 317, 318, 319, 317, 320,  53,  53,  53,  53,
+   321, 321, 321, 321, 321, 322, 323, 323, 323, 323, 324, 325, 169, 169, 169, 326,
+   327, 327, 327, 327, 327, 327, 327, 327, 327, 328, 327, 329, 164, 164, 164, 330,
+   331, 331, 331, 331, 331, 331, 332,  26, 331, 333, 331, 334, 164, 164, 164, 164,
+   335, 335, 335, 335, 335, 335, 335, 335, 336,  26,  26, 337, 338, 338, 339,  26,
+   340, 340, 340,  26, 172, 172,   2,   2,   2,   2,   2, 341, 342, 343, 176, 176,
+   176, 176, 176, 176, 176, 176, 176, 176, 338, 338, 338, 338, 338, 344, 338, 345,
+   169, 169, 169, 169, 346,  26, 169, 169, 295, 347, 169, 169, 169, 169, 169, 346,
     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
-   616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 617,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 618, 618, 618, 618, 618, 618, 618, 618,
-   618, 619, 618, 618, 618, 618, 618, 618, 618, 620, 618, 618,  26,  26,  26,  26,
-    26,  26,  26,  26, 621,  26, 347,  26, 622, 622, 622, 622, 622, 622, 622, 622,
-   622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622,
-   622, 622, 622, 622, 622, 622, 622,  26, 623, 623, 623, 623, 623, 623, 623, 623,
+   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 280, 277, 277,
+   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 348,  26,  26,  26,  26,
+   349,  26, 350, 351,  25,  25, 352, 353, 354,  25,  31,  31,  31,  31,  31,  31,
+    31,  31,  31,  31,  31,  31,  31,  31, 355,  26, 356,  31,  31,  31,  31,  31,
+    31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,
+    31,  31,  31,  31,  31,  31,  31, 357,  31,  31,  31,  31,  31,  31,  31,  31,
+    31,  31, 358,  31,  31,  31,  31,  31,  31, 359,  26,  26,  26,  26,  31,  31,
+     9,   9,   0, 315,   9, 360,   0,   0,   0,   0, 361,   0, 258, 296, 362,  31,
+    31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31, 363,
+   364,   0,   0,   0,   1,   2,   2,   3,   1,   2,   2,   3, 365, 290, 289, 290,
+   290, 290, 290, 366, 169, 169, 169, 295, 367, 367, 367, 368, 258, 258,  26, 369,
+   370, 371, 370, 370, 372, 370, 370, 373, 370, 374, 370, 374,  26,  26,  26,  26,
+   370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 375,
+   376,   0,   0,   0,   0,   0, 377,   0,  14,  14,  14,  14,  14,  14,  14,  14,
+    14, 253,   0, 378, 379,  26,  26,  26,  26,  26,   0,   0,   0,   0,   0, 380,
+   381, 381, 381, 382, 383, 383, 383, 383, 383, 383, 384,  26, 385,   0,   0, 296,
+   386, 386, 386, 386, 387, 388, 389, 389, 389, 390, 391, 391, 391, 391, 391, 392,
+   393, 393, 393, 394, 395, 395, 395, 395, 396, 395, 397,  26,  26,  26,  26,  26,
+   398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 399, 399, 399, 399, 399, 399,
+   400, 400, 400, 401, 400, 402, 403, 403, 403, 403, 404, 403, 403, 403, 403, 404,
+   405, 405, 405, 405, 405,  26, 406, 406, 406, 406, 406, 406, 407, 408, 409, 410,
+   409, 410, 411, 409, 412, 409, 412, 413,  26,  26,  26,  26,  26,  26,  26,  26,
+   414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414,
+   414, 414, 414, 414, 414, 414, 415,  26, 414, 414, 416,  26, 414,  26,  26,  26,
+   417,   2,   2,   2,   2,   2, 418, 309,  26,  26,  26,  26,  26,  26,  26,  26,
+   419, 420, 421, 421, 421, 421, 422, 423, 424, 424, 425, 424, 426, 426, 426, 426,
+   427, 427, 427, 428, 429, 427,  26,  26,  26,  26,  26,  26, 430, 430, 431, 432,
+   433, 433, 433, 434, 435, 435, 435, 436,  26,  26,  26,  26,  26,  26,  26,  26,
+   437, 437, 437, 437, 438, 438, 438, 439, 438, 438, 440, 438, 438, 438, 438, 438,
+   441, 442, 443, 444, 445, 445, 446, 447, 445, 448, 445, 448, 449, 449, 449, 449,
+   450, 450, 450, 450,  26,  26,  26,  26, 451, 451, 451, 451, 452, 453, 452,  26,
+   454, 454, 454, 454, 454, 454, 455, 456, 457, 457, 458, 457, 459, 459, 460, 459,
+   461, 461, 462, 463,  26, 464,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   465, 465, 465, 465, 465, 465, 465, 465, 465, 466,  26,  26,  26,  26,  26,  26,
+   467, 467, 467, 467, 467, 467, 468,  26, 467, 467, 467, 467, 467, 467, 468, 469,
+   470, 470, 470, 470, 470,  26, 470, 471,  26,  26,  26,  26,  26,  26,  26,  26,
+    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  31,  31,  31,  50,
+   472, 472, 472, 472, 472, 473, 474,  26,  26,  26,  26,  26,  26,  26,  26, 475,
+   476, 476, 476, 476, 476,  26, 477, 477, 477, 477, 477, 478,  26,  26, 479, 479,
+   479, 480,  26,  26,  26,  26, 481, 481, 481, 482,  26,  26, 483, 483, 484,  26,
+   485, 485, 485, 485, 485, 485, 485, 485, 485, 486, 487, 485, 485, 485, 486, 488,
+   489, 489, 489, 489, 489, 489, 489, 489, 490, 491, 492, 492, 492, 493, 492, 494,
+   495, 495, 495, 495, 495, 495, 496, 495, 495,  26, 497, 497, 497, 497, 498,  26,
+   499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 500, 137, 501,  26,
+   502, 502, 503, 502, 502, 502, 502, 502, 504,  26,  26,  26,  26,  26,  26,  26,
+   505, 506, 507, 508, 507, 509, 510, 510, 510, 510, 510, 510, 510, 511, 510, 512,
+   513, 514, 515, 516, 516, 517, 518, 519, 514, 520, 521, 522, 523, 524, 524,  26,
+   525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 526, 527,  26,  26,  26,
+   528, 528, 528, 528, 528, 528, 528, 528, 528,  26, 528, 529,  26,  26,  26,  26,
+   530, 530, 530, 530, 530, 530, 531, 530, 530, 530, 530, 531,  26,  26,  26,  26,
+   532, 532, 532, 532, 532, 532, 532, 532, 533,  26, 532, 534, 198, 535,  26,  26,
+   536, 536, 536, 536, 536, 536, 536, 537, 536, 537,  26,  26,  26,  26,  26,  26,
+   538, 538, 538, 539, 538, 540, 538, 538, 541,  26,  26,  26,  26,  26,  26,  26,
+   542, 542, 542, 542, 542, 542, 542, 543,  26,  26,  26,  26,  26,  26,  26,  26,
+    26,  26,  26,  26, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 545, 546,
+   547, 548, 549, 550, 550, 550, 551, 552, 547,  26, 550, 553,  26,  26,  26,  26,
+    26,  26,  26,  26, 554, 555, 554, 554, 554, 554, 554, 555, 556,  26,  26,  26,
+   557, 557, 557, 557, 557, 557, 557, 557, 557,  26, 558, 558, 558, 558, 558, 558,
+   558, 558, 558, 558, 559,  26, 178, 178, 560, 560, 560, 560, 560, 560, 560, 561,
+    53, 562,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   563, 564, 563, 563, 563, 563, 565, 563, 566,  26, 563, 563, 563, 567, 568, 568,
+   568, 568, 569, 568, 568, 570, 571,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   572, 573, 574, 574, 574, 574, 572, 575, 574,  26, 574, 576, 577, 578, 579, 579,
+   579, 580, 581, 582, 579, 583,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 584, 584, 584, 585,
+   586, 586, 587, 586, 586, 586, 586, 588, 586, 586, 586, 589,  26,  26,  26,  26,
+    26,  26,  26,  26,  26,  26, 590,  26, 108, 108, 108, 108, 108, 108, 591, 592,
+   593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593,
+   593, 593, 593, 594,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 595, 596,  26,
+   593, 593, 593, 593, 593, 593, 593, 593, 597,  26,  26,  26,  26,  26,  26,  26,
+    26,  26, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 599,  26,
+   600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+   600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 601,  26,  26,  26,  26,  26,
+   602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
+   602, 602, 602, 602, 602, 602, 602, 602, 603,  26,  26,  26,  26,  26,  26,  26,
+   306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+   306, 306, 306, 306, 306, 306, 306, 604, 605, 605, 605, 606, 605, 607, 608, 608,
+   608, 608, 608, 608, 608, 608, 608, 609, 608, 610, 611, 611, 611, 612, 612,  26,
+   613, 613, 613, 613, 613, 613, 613, 613, 614,  26, 613, 615, 615, 613, 613, 616,
+   613, 613,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+    26,  26,  26,  26,  26,  26,  26,  26, 617, 617, 617, 617, 617, 617, 617, 617,
+   617, 617, 617, 618,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   619, 619, 619, 619, 619, 619, 619, 619, 619, 620, 619, 619, 619, 619, 619, 619,
+   619, 621, 619, 619,  26,  26,  26,  26,  26,  26,  26,  26, 622,  26, 348,  26,
    623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
-   623, 623, 624,  26,  26,  26,  26,  26, 622, 625,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26, 626, 627, 628, 287, 287, 287, 287, 287, 287, 287,
-   287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
-   287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 629,  26, 630,  26,
-    26,  26, 631,  26, 632,  26, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633,
-   633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633,
-   633, 633, 633, 633, 633, 633, 633, 634, 635, 635, 635, 635, 635, 635, 635, 635,
-   635, 635, 635, 635, 635, 636, 635, 637, 635, 638, 635, 639, 281,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26,   9,   9,   9,   9,   9, 640,   9,   9,
-   221,  26,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-   281,  26,  26,  26,  26,  26,  26,  26,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0, 276,  26,   0,   0,   0,   0, 258, 363,   0,   0,
-     0,   0,   0,   0, 641, 642,   0, 643, 644, 645,   0,   0,   0, 646,   0,   0,
-     0,   0,   0,   0,   0, 266,  26,  26,  14,  14,  14,  14,  14,  14,  14,  14,
-   247,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
-     0,   0, 281,  26,   0,   0, 281,  26,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0, 258,  26,   0,   0,   0, 260,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0, 255,   0,   0,   0,   0,   0,   0,   0,   0, 255, 647, 648,   0, 649,
-   650,   0,   0,   0,   0,   0,   0,   0, 269, 651, 255, 255,   0,   0,   0, 652,
-   653, 654, 655,   0,   0,   0,   0,   0,   0,   0,   0,   0, 276,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0, 268,   0,   0,   0,   0,   0,   0, 656, 656, 656, 656, 656, 656, 656, 656,
-   656, 656, 656, 656, 656, 656, 656, 656, 656, 657,  26, 658, 659, 656,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26,   2,   2,   2, 348, 660, 308,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 661, 270, 270, 662, 663, 664,  18,  18,
-    18,  18,  18,  18,  18, 665,  26,  26,  26, 666,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 667, 667, 667, 667, 667, 668, 667, 669,
-   667, 670,  26,  26,  26,  26,  26,  26,  26,  26, 671, 671, 671, 672,  26,  26,
-   673, 673, 673, 673, 673, 673, 673, 674,  26,  26,  26,  26,  26,  26,  26,  26,
-    26,  26, 675, 675, 675, 675, 675, 676,  26,  26,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26, 172, 677, 170, 172, 678, 678, 678, 678, 678, 678, 678, 678,
-   678, 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, 678,
-   679, 678, 680,  26,  26,  26,  26,  26, 681, 681, 681, 681, 681, 681, 681, 681,
-   681, 682, 681, 683,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26, 363,   0,   0,   0,   0,   0,   0,   0, 377,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 363,   0,   0,   0,   0,   0,   0, 276,
-    26,  26,  26,  26,  26,  26,  26,  26, 684,  31,  31,  31, 685, 686, 687, 688,
-   689, 690, 685, 691, 685, 687, 687, 692,  31, 693,  31, 694, 695, 693,  31, 694,
-    26,  26,  26,  26,  26,  26,  51,  26,   0,   0,   0,   0,   0, 281,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 281,  26,   0, 258, 363,   0,
-   363,   0, 363,   0,   0,   0, 276,  26,   0,   0,   0,   0,   0, 276,  26,  26,
-    26,  26,  26,  26, 696,   0,   0,   0, 697,  26,   0,   0,   0,   0,   0, 281,
-     0, 260, 314,  26, 276,  26,  26,  26,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0, 698,   0, 377,   0, 377,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0, 258, 699,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0, 314,   0, 281, 260,  26,   0, 281,   0,   0,   0,   0,   0,   0,
-     0,  26,   0, 314,   0,   0,   0,   0,   0,  26,   0,   0,   0, 276, 314,  26,
-    26,  26,  26,  26,  26,  26,  26,  26,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0, 281,  26,   0, 276,   0, 377,   0, 260,   0,   0,   0,   0,   0, 269,
-   276, 696,   0, 281,   0, 260,   0, 260,   0,   0, 360,   0,   0,   0,   0,   0,
-     0, 266,  26,  26,  26,  26,   0, 314, 277, 277, 277, 277, 277, 277, 277, 277,
-   277, 277, 277, 277,  26,  26,  26,  26, 277, 277, 277, 277, 277, 277, 277, 347,
-   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 280, 277, 277, 277, 277,
-   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 347,  26, 277, 277,
-   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
-   277, 277, 277, 277, 700,  26,  26,  26, 277, 277, 277, 280,  26,  26,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 277, 277, 277, 277, 277, 277, 277, 277,
-   277, 701, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,  26,  26,
-    26,  26,  26,  26,  26,  26,  26,  26, 702,  26,  26,  26,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   9,   9,   9,   9,   9,   9,   9,   9,
+   623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,  26,
+   624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
+   624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 625,  26,  26,  26,  26,  26,
+   623, 626,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 627, 628,
+   629, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+   286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+   286, 286, 286, 286, 630,  26, 631,  26,  26,  26, 632,  26, 633,  26, 634, 634,
+   634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
+   634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 635,
+   636, 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, 637, 636, 638,
+   636, 639, 636, 640, 296,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     9,   9,   9,   9,   9, 641,   9,   9, 221,  26,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0, 296,  26,  26,  26,  26,  26,  26,  26,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 276,  26,
+     0,   0,   0,   0, 258, 364,   0,   0,   0,   0,   0,   0, 642, 643,   0, 644,
+   645, 646,   0,   0,   0, 647,   0,   0,   0,   0,   0,   0,   0, 266,  26,  26,
+    14,  14,  14,  14,  14,  14,  14,  14, 247,  26,  26,  26,  26,  26,  26,  26,
+    26,  26,  26,  26,  26,  26,  26,  26,   0,   0, 296,  26,   0,   0, 296,  26,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 258,  26,   0,   0,   0, 260,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255,   0,   0,   0,   0,   0,
+     0,   0,   0, 255, 648, 649,   0, 650, 651,   0,   0,   0,   0,   0,   0,   0,
+   269, 652, 255, 255,   0,   0,   0, 653, 654, 655, 656,   0,   0,   0,   0,   0,
+     0,   0,   0,   0, 276,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0, 268,   0,   0,   0,   0,   0,   0,
+   657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 657,
+   657, 658,  26, 659, 660, 657,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     2,   2,   2, 349, 661, 309,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   662, 270, 270, 663, 664, 665,  18,  18,  18,  18,  18,  18,  18, 666,  26,  26,
+    26, 667,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   668, 668, 668, 668, 668, 669, 668, 670, 668, 671,  26,  26,  26,  26,  26,  26,
+    26,  26, 672, 672, 672, 673,  26,  26, 674, 674, 674, 674, 674, 674, 674, 675,
+    26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 676, 676, 676, 676, 676, 677,
+    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 172, 678, 170, 172,
+   679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679,
+   679, 679, 679, 679, 679, 679, 679, 679, 680, 679, 681,  26,  26,  26,  26,  26,
+   682, 682, 682, 682, 682, 682, 682, 682, 682, 683, 682, 684,  26,  26,  26,  26,
+    26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 364,   0,
+     0,   0,   0,   0,   0,   0, 378,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   364,   0,   0,   0,   0,   0,   0, 276,  26,  26,  26,  26,  26,  26,  26,  26,
+   685,  31,  31,  31, 686, 687, 688, 689, 690, 691, 686, 692, 686, 688, 688, 693,
+    31, 694,  31, 695, 696, 694,  31, 695,  26,  26,  26,  26,  26,  26,  51,  26,
+     0,   0,   0,   0,   0, 296,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0, 296,  26,   0, 258, 364,   0, 364,   0, 364,   0,   0,   0, 276,  26,
+     0,   0,   0,   0,   0, 276,  26,  26,  26,  26,  26,  26, 697,   0,   0,   0,
+   698,  26,   0,   0,   0,   0,   0, 296,   0, 260, 315,  26, 276,  26,  26,  26,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 699,   0, 378,   0, 378,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 258, 700,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 315,   0, 296, 260,  26,
+     0, 296,   0,   0,   0,   0,   0,   0,   0,  26,   0, 315,   0,   0,   0,   0,
+     0,  26,   0,   0,   0, 276, 315,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 296,  26,   0, 276,   0, 378,
+     0, 260,   0,   0,   0,   0,   0, 269, 276, 697,   0, 296,   0, 260,   0, 260,
+     0,   0, 361,   0,   0,   0,   0,   0,   0, 266,  26,  26,  26,  26,   0, 315,
+   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,  26,  26,  26,  26,
+   277, 277, 277, 277, 277, 277, 277, 348, 277, 277, 277, 277, 277, 277, 277, 277,
+   277, 277, 277, 280, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
+   277, 277, 277, 277, 348,  26, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
+   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 701,  26, 277, 277,
+   277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 280,  26,  26,  26,  26,
+   277, 277, 277, 280,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   277, 277, 277, 277, 277, 277, 277, 277, 277, 702, 277, 277, 277, 277, 277, 277,
+   277, 277, 277, 277, 277, 277,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+   703,  26,  26,  26,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
      9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,
-     9,   9,   9,   9,   9,   9,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0, 939, 940, 941, 942, 946, 948,   0, 962,
-   969, 970, 971, 976,1001,1002,1003,1008,   0,1033,1040,1041,1042,1043,1047,   0,
-     0,1080,1081,1082,1086,1110,   0,   0,1124,1125,1126,1127,1131,1133,   0,1147,
-  1154,1155,1156,1161,1187,1188,1189,1193,   0,1219,1226,1227,1228,1229,1233,   0,
-     0,1267,1268,1269,1273,1298,   0,1303, 943,1128, 944,1129, 954,1139, 958,1143,
-   959,1144, 960,1145, 961,1146, 964,1149,   0,   0, 973,1158, 974,1159, 975,1160,
-   983,1168, 978,1163, 988,1173, 990,1175, 991,1176, 993,1178, 994,1179,   0,   0,
-  1004,1190,1005,1191,1006,1192,1014,1199,1007,   0,   0,   0,1016,1201,1020,1206,
-     0,1022,1208,1025,1211,1023,1209,   0,   0,   0,   0,1032,1218,1037,1223,1035,
-  1221,   0,   0,   0,1044,1230,1045,1231,1049,1235,   0,   0,1058,1244,1064,1250,
-  1060,1246,1066,1252,1067,1253,1072,1258,1069,1255,1077,1264,1074,1261,   0,   0,
-  1083,1270,1084,1271,1085,1272,1088,1275,1089,1276,1096,1283,1103,1290,1111,1299,
-  1115,1118,1307,1120,1309,1121,1310,   0,1053,1239,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,1093,1280,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0, 949,1134,1010,1195,1050,1236,1090,1277,1341,1368,1340,
-  1367,1342,1369,1339,1366,   0,1320,1347,1418,1419,1323,1350,   0,   0, 992,1177,
-  1018,1204,1055,1241,1416,1417,1415,1424,1202,   0,   0,   0, 987,1172,   0,   0,
-  1031,1217,1321,1348,1322,1349,1338,1365, 950,1135, 951,1136, 979,1164, 980,1165,
-  1011,1196,1012,1197,1051,1237,1052,1238,1061,1247,1062,1248,1091,1278,1092,1279,
-  1071,1257,1076,1263,   0,   0, 997,1182,   0,   0,   0,   0,   0,   0, 945,1130,
-   982,1167,1337,1364,1335,1362,1046,1232,1422,1423,1113,1301,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   8,   9,   0,  10,1425,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,1314,1427,   5,
-  1434,1438,1443,   0,1450,   0,1455,1461,1514,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1446,1458,1468,1476,1480,1486,1517,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1489,1503,1494,1500,1508,   0,   0,   0,   0,1520,1521,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,1526,1528,   0,1525,   0,   0,   0,1522,
-     0,   0,   0,   0,1536,1532,1539,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1534,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1556,   0,   0,   0,   0,   0,   0,1548,1550,   0,1547,   0,   0,   0,1567,
-     0,   0,   0,   0,1558,1554,1561,   0,   0,   0,   0,   0,   0,   0,1568,1569,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,1529,1551,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,1523,1545,1524,1546,   0,   0,1527,1549,
-     0,   0,1570,1571,1530,1552,1531,1553,   0,   0,1533,1555,1535,1557,1537,1559,
-     0,   0,1572,1573,1544,1566,1538,1560,1540,1562,1541,1563,1542,1564,   0,   0,
-  1543,1565,   0,   0,   0,   0,   0,   0,   0,   0,1606,1607,1609,1608,1610,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,1613,   0,1611,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1612,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1620,   0,   0,   0,   0,   0,   0,   0,1623,   0,   0,1624,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1614,1615,1616,1617,1618,1619,1621,1622,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1628,1629,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1625,1626,   0,1627,   0,   0,   0,1634,   0,   0,1635,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1630,1631,1632,   0,   0,1633,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1639,   0,   0,1638,1640,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1636,1637,   0,   0,   0,   0,   0,   0,1641,   0,   0,   0,
+     9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   9,   0,   0,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1642,1644,1643,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1645,   0,   0,   0,   0,   0,   0,   0,1646,   0,   0,   0,   0,   0,   0,1648,
-  1649,   0,1647,1650,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1651,1653,1652,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1654,   0,1655,1657,1656,   0,   0,   0,   0,1659,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1660,   0,   0,   0,   0,1661,   0,   0,   0,   0,1662,
-     0,   0,   0,   0,1663,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1658,   0,   0,   0,   0,   0,   0,   0,   0,   0,1664,   0,1665,1673,   0,
-  1674,   0,   0,   0,   0,   0,   0,   0,   0,1666,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1668,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1669,   0,   0,   0,   0,1670,   0,   0,   0,   0,1671,
-     0,   0,   0,   0,1672,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1667,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1675,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1676,   0,
-  1677,   0,1678,   0,1679,   0,1680,   0,   0,   0,1681,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1682,   0,1683,   0,   0,1684,1685,   0,1686,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0, 953,1138, 955,1140, 956,1141, 957,1142,
-  1324,1351, 963,1148, 965,1150, 968,1153, 966,1151, 967,1152,1378,1380,1379,1381,
-   984,1169, 985,1170,1420,1421, 986,1171, 989,1174, 995,1180, 998,1183, 996,1181,
-   999,1184,1000,1185,1015,1200,1329,1356,1017,1203,1019,1205,1021,1207,1024,1210,
-  1687,1688,1027,1213,1026,1212,1028,1214,1029,1215,1030,1216,1034,1220,1036,1222,
-  1039,1225,1038,1224,1334,1361,1336,1363,1382,1384,1383,1385,1056,1242,1057,1243,
-  1059,1245,1063,1249,1689,1690,1065,1251,1068,1254,1070,1256,1386,1387,1388,1389,
-  1691,1692,1073,1259,1075,1262,1079,1266,1078,1265,1095,1282,1098,1285,1097,1284,
-  1390,1391,1392,1393,1099,1286,1100,1287,1101,1288,1102,1289,1105,1292,1104,1291,
-  1106,1294,1107,1295,1108,1296,1114,1302,1119,1308,1122,1311,1123,1312,1186,1260,
-  1293,1305,   0,1394,   0,   0,   0,   0, 952,1137, 947,1132,1317,1344,1316,1343,
-  1319,1346,1318,1345,1693,1695,1371,1375,1370,1374,1373,1377,1372,1376,1694,1696,
-   981,1166, 977,1162, 972,1157,1326,1353,1325,1352,1328,1355,1327,1354,1697,1698,
-  1009,1194,1013,1198,1054,1240,1048,1234,1331,1358,1330,1357,1333,1360,1332,1359,
-  1699,1700,1396,1401,1395,1400,1398,1403,1397,1402,1399,1404,1094,1281,1087,1274,
-  1406,1411,1405,1410,1408,1413,1407,1412,1409,1414,1109,1297,1117,1306,1116,1304,
-  1112,1300,   0,   0,   0,   0,   0,   0,1471,1472,1701,1705,1702,1706,1703,1707,
-  1430,1431,1715,1719,1716,1720,1717,1721,1477,1478,1729,1731,1730,1732,   0,   0,
-  1435,1436,1733,1735,1734,1736,   0,   0,1481,1482,1737,1741,1738,1742,1739,1743,
-  1439,1440,1751,1755,1752,1756,1753,1757,1490,1491,1765,1768,1766,1769,1767,1770,
-  1447,1448,1771,1774,1772,1775,1773,1776,1495,1496,1777,1779,1778,1780,   0,   0,
-  1451,1452,1781,1783,1782,1784,   0,   0,1504,1505,1785,1788,1786,1789,1787,1790,
-     0,1459,   0,1791,   0,1792,   0,1793,1509,1510,1794,1798,1795,1799,1796,1800,
-  1462,1463,1808,1812,1809,1813,1810,1814,1467,  21,1475,  22,1479,  23,1485,  24,
-  1493,  27,1499,  28,1507,  29,   0,   0,1704,1708,1709,1710,1711,1712,1713,1714,
-  1718,1722,1723,1724,1725,1726,1727,1728,1740,1744,1745,1746,1747,1748,1749,1750,
-  1754,1758,1759,1760,1761,1762,1763,1764,1797,1801,1802,1803,1804,1805,1806,1807,
-  1811,1815,1816,1817,1818,1819,1820,1821,1470,1469,1822,1474,1465,   0,1473,1825,
-  1429,1428,1426,  12,1432,   0,  26,   0,   0,1315,1823,1484,1466,   0,1483,1829,
-  1433,  13,1437,  14,1441,1826,1827,1828,1488,1487,1513,  19,   0,   0,1492,1515,
-  1445,1444,1442,  15,   0,1831,1832,1833,1502,1501,1516,  25,1497,1498,1506,1518,
-  1457,1456,1454,  17,1453,1313,  11,   3,   0,   0,1824,1512,1519,   0,1511,1830,
-  1449,  16,1460,  18,1464,   4,   0,   0,  30,  31,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  20,   0,
-     0,   0,   2,   6,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1834,1835,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1836,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1837,1839,1838,   0,   0,   0,   0,1840,   0,   0,   0,
-     0,1841,   0,   0,1842,   0,   0,   0,   0,   0,   0,   0,1843,   0,1844,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,1845,   0,   0,1846,   0,   0,1847,
-     0,1848,   0,   0,   0,   0,   0,   0, 937,   0,1850,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1849, 936, 938,1851,1852,   0,   0,1853,1854,   0,   0,
-  1855,1856,   0,   0,   0,   0,   0,   0,1857,1858,   0,   0,1861,1862,   0,   0,
-  1863,1864,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1867,1868,1869,1870,1859,1860,1865,1866,   0,   0,   0,   0,
-     0,   0,1871,1872,1873,1874,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,  32,  33,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1875,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1877,   0,1878,   0,1879,   0,1880,   0,1881,   0,1882,   0,
-  1883,   0,1884,   0,1885,   0,1886,   0,1887,   0,1888,   0,   0,1889,   0,1890,
-     0,1891,   0,   0,   0,   0,   0,   0,1892,1893,   0,1894,1895,   0,1896,1897,
-     0,1898,1899,   0,1900,1901,   0,   0,   0,   0,   0,   0,1876,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1902,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1904,   0,1905,   0,1906,   0,1907,   0,1908,   0,1909,   0,
-  1910,   0,1911,   0,1912,   0,1913,   0,1914,   0,1915,   0,   0,1916,   0,1917,
-     0,1918,   0,   0,   0,   0,   0,   0,1919,1920,   0,1921,1922,   0,1923,1924,
-     0,1925,1926,   0,1927,1928,   0,   0,   0,   0,   0,   0,1903,   0,   0,1929,
-  1930,1931,1932,   0,   0,   0,1933,   0, 710, 385, 724, 715, 455, 103, 186, 825,
-   825, 242, 751, 205, 241, 336, 524, 601, 663, 676, 688, 738, 411, 434, 474, 500,
-   649, 746, 799, 108, 180, 416, 482, 662, 810, 275, 462, 658, 692, 344, 618, 679,
-   293, 388, 440, 492, 740, 116, 146, 168, 368, 414, 481, 527, 606, 660, 665, 722,
-   781, 803, 809, 538, 553, 588, 642, 758, 811, 701, 233, 299, 573, 612, 487, 540,
-   714, 779, 232, 267, 412, 445, 457, 585, 594, 766, 167, 613, 149, 148, 560, 589,
-   648, 768, 708, 345, 411, 704, 105, 259, 313, 496, 518, 174, 542, 120, 307, 101,
-   430, 372, 584, 183, 228, 529, 650, 697, 424, 732, 428, 349, 632, 355, 517, 110,
-   135, 147, 403, 580, 624, 700, 750, 170, 193, 245, 297, 374, 463, 543, 763, 801,
-   812, 815, 162, 384, 420, 730, 287, 330, 337, 366, 459, 476, 509, 558, 591, 610,
-   726, 652, 734, 759, 154, 163, 198, 473, 683, 697, 292, 311, 353, 423, 572, 494,
-   113, 217, 259, 280, 314, 499, 506, 603, 608, 752, 778, 782, 788, 117, 557, 748,
-   774, 320, 109, 126, 260, 265, 373, 411, 479, 523, 655, 737, 823, 380, 765, 161,
-   395, 398, 438, 451, 502, 516, 537, 583, 791, 136, 340, 769, 122, 273, 446, 727,
-   305, 322, 400, 496, 771, 155, 190, 269, 377, 391, 406, 432, 501, 519, 599, 684,
-   687, 749, 776, 175, 452, 191, 480, 510, 659, 772, 805, 813, 397, 444, 619, 566,
-   568, 575, 491, 471, 707, 111, 636, 156, 153, 288, 346, 578, 256, 435, 383, 729,
-   680, 767, 694, 295, 128, 210,   0,   0, 227,   0, 379,   0,   0, 150, 493, 525,
-   544, 551, 552, 556, 783, 576, 604,   0, 661,   0, 703,   0,   0, 735, 743,   0,
-     0,   0, 793, 794, 795, 808, 741, 773, 118, 127, 130, 166, 169, 177, 207, 213,
-   215, 226, 229, 268, 270, 317, 327, 329, 335, 369, 375, 381, 404, 441, 448, 458,
-   477, 484, 503, 539, 545, 547, 546, 548, 549, 550, 554, 555, 561, 564, 569, 591,
-   593, 595, 598, 607, 620, 625, 625, 651, 690, 695, 705, 706, 716, 717, 733, 735,
-   777, 786, 790, 315, 869, 623,   0,   0, 102, 145, 134, 115, 129, 138, 165, 171,
-   207, 202, 206, 212, 227, 231, 240, 243, 250, 254, 294, 296, 303, 308, 319, 325,
-   321, 329, 326, 335, 341, 357, 360, 362, 370, 379, 388, 389, 393, 421, 424, 438,
-   456, 454, 458, 465, 477, 535, 485, 490, 493, 507, 512, 514, 521, 522, 525, 526,
-   528, 533, 532, 541, 565, 569, 574, 586, 591, 597, 607, 637, 647, 674, 691, 693,
-   695, 698, 703, 699, 705, 704, 702, 706, 709, 717, 728, 736, 747, 754, 770, 777,
-   783, 784, 786, 787, 790, 802, 825, 848, 847, 857,  55,  65,  66, 883, 892, 916,
-   822, 824,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1586,   0,1605,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1602,1603,1934,1935,1574,1575,1576,1577,1579,1580,1581,1583,1584,   0,
-  1585,1587,1588,1589,1591,   0,1592,   0,1593,1594,   0,1595,1596,   0,1598,1599,
-  1600,1601,1604,1582,1578,1590,1597,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1936,   0,1937,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1938,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1939,1940,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1941,1942,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1944,1943,   0,1945,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1946,1947,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1948,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1949,1950,1951,1952,1953,1954,1955,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1956,1957,1958,1960,1959,1961,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0, 106, 104, 107, 826, 114, 118, 119, 121,
-   123, 124, 127, 125,  34, 830, 130, 131, 132, 137, 827,  35, 133, 139, 829, 142,
-   143, 112, 144, 145, 924, 151, 152,  37, 157, 158, 159, 160,  38, 165, 166, 169,
-   171, 172, 173, 174, 176, 177, 178, 179, 181, 182, 182, 182, 833, 468, 184, 185,
-   834, 187, 188, 189, 196, 192, 194, 195, 197, 199, 200, 201, 203, 204, 204, 206,
-   208, 209, 211, 218, 213, 219, 214, 216, 153, 234, 221, 222, 223, 220, 225, 224,
-   230, 835, 235, 236, 237, 238, 239, 244, 836, 837, 247, 248, 249, 246, 251,  39,
-    40, 253, 255, 255, 838, 257, 258, 259, 261, 839, 262, 263, 301, 264,  41, 266,
-   270, 272, 271, 841, 274, 842, 277, 276, 278, 281, 282,  42, 283, 284, 285, 286,
-    43, 843,  44, 289, 290, 291, 293, 934, 298, 845, 845, 621, 300, 300,  45, 852,
-   894, 302, 304,  46, 306, 309, 310, 312, 316,  48,  47, 317, 846, 318, 323, 324,
-   325, 324, 328, 329, 333, 331, 332, 334, 335, 336, 338, 339, 342, 343, 347, 351,
-   849, 350, 348, 352, 354, 359, 850, 361, 358, 356,  49, 363, 365, 367, 364,  50,
-   369, 371, 851, 376, 386, 378,  53, 381,  52,  51, 140, 141, 387, 382, 614,  78,
-   388, 389, 390, 394, 392, 856,  54, 399, 396, 402, 404, 858, 405, 401, 407,  55,
-   408, 409, 410, 413, 859, 415,  56, 417, 860, 418,  57, 419, 422, 424, 425, 861,
-   840, 862, 426, 863, 429, 431, 427, 433, 437, 441, 438, 439, 442, 443, 864, 436,
-   449, 450,  58, 454, 453, 865, 447, 460, 866, 867, 461, 466, 465, 464,  59, 467,
-   470, 469, 472, 828, 475, 868, 478, 870, 483, 485, 486, 871, 488, 489, 872, 873,
-   495, 497,  60, 498,  61,  61, 504, 505, 507, 508, 511,  62, 513, 874, 515, 875,
-   518, 844, 520, 876, 877, 878,  63,  64, 528, 880, 879, 881, 882, 530, 531, 531,
-   533,  66, 534,  67,  68, 884, 536, 538, 541,  69, 885, 549, 886, 887, 556, 559,
-    70, 561, 562, 563, 888, 889, 889, 567,  71, 890, 570, 571,  72, 891, 577,  73,
-   581, 579, 582, 893, 587,  74, 590, 592, 596,  75, 895, 896,  76, 897, 600, 898,
-   602, 605, 607, 899, 900, 609, 901, 611, 853,  77, 615, 616,  79, 617, 252, 902,
-   903, 854, 855, 621, 622, 731,  80, 627, 626, 628, 164, 629, 630, 631, 633, 904,
-   632, 634, 639, 640, 635, 641, 646, 651, 638, 643, 644, 645, 905, 907, 906,  81,
-   653, 654, 656, 911, 657, 908,  82,  83, 909, 910,  84, 664, 665, 666, 667, 669,
-   668, 671, 670, 674, 672, 673, 675,  85, 677, 678,  86, 681, 682, 912, 685, 686,
-    87, 689,  36, 913, 914,  88,  89, 696, 702, 709, 711, 915, 712, 713, 718, 719,
-   917, 831, 721, 720, 723, 832, 725, 728, 918, 919, 739, 742, 744, 920, 745, 753,
-   756, 757, 755, 760, 761, 921, 762,  90, 764, 922,  91, 775, 279, 780, 923, 925,
-    92,  93, 785, 926,  94, 927, 787, 787, 789, 928, 792,  95, 796, 797, 798, 800,
-    96, 929, 802, 804, 806,  97,  98, 807, 930,  99, 931, 932, 933, 814, 100, 816,
-   817, 818, 819, 820, 821, 935,   0,   0,
+   939, 940, 941, 942, 946, 948,   0, 962, 969, 970, 971, 976,1001,1002,1003,1008,
+     0,1033,1040,1041,1042,1043,1047,   0,   0,1080,1081,1082,1086,1110,   0,   0,
+  1124,1125,1126,1127,1131,1133,   0,1147,1154,1155,1156,1161,1187,1188,1189,1193,
+     0,1219,1226,1227,1228,1229,1233,   0,   0,1267,1268,1269,1273,1298,   0,1303,
+   943,1128, 944,1129, 954,1139, 958,1143, 959,1144, 960,1145, 961,1146, 964,1149,
+     0,   0, 973,1158, 974,1159, 975,1160, 983,1168, 978,1163, 988,1173, 990,1175,
+   991,1176, 993,1178, 994,1179,   0,   0,1004,1190,1005,1191,1006,1192,1014,1199,
+  1007,   0,   0,   0,1016,1201,1020,1206,   0,1022,1208,1025,1211,1023,1209,   0,
+     0,   0,   0,1032,1218,1037,1223,1035,1221,   0,   0,   0,1044,1230,1045,1231,
+  1049,1235,   0,   0,1058,1244,1064,1250,1060,1246,1066,1252,1067,1253,1072,1258,
+  1069,1255,1077,1264,1074,1261,   0,   0,1083,1270,1084,1271,1085,1272,1088,1275,
+  1089,1276,1096,1283,1103,1290,1111,1299,1115,1118,1307,1120,1309,1121,1310,   0,
+  1053,1239,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1093,
+  1280,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 949,1134,1010,
+  1195,1050,1236,1090,1277,1341,1368,1340,1367,1342,1369,1339,1366,   0,1320,1347,
+  1418,1419,1323,1350,   0,   0, 992,1177,1018,1204,1055,1241,1416,1417,1415,1424,
+  1202,   0,   0,   0, 987,1172,   0,   0,1031,1217,1321,1348,1322,1349,1338,1365,
+   950,1135, 951,1136, 979,1164, 980,1165,1011,1196,1012,1197,1051,1237,1052,1238,
+  1061,1247,1062,1248,1091,1278,1092,1279,1071,1257,1076,1263,   0,   0, 997,1182,
+     0,   0,   0,   0,   0,   0, 945,1130, 982,1167,1337,1364,1335,1362,1046,1232,
+  1422,1423,1113,1301,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     8,   9,   0,  10,1425,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,
+     0,   0,   0,   0,   0,1314,1427,   5,1434,1438,1443,   0,1450,   0,1455,1461,
+  1514,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1446,1458,1468,1476,1480,1486,
+  1517,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1489,1503,1494,1500,1508,   0,
+     0,   0,   0,1520,1521,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+  1526,1528,   0,1525,   0,   0,   0,1522,   0,   0,   0,   0,1536,1532,1539,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1534,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1556,   0,   0,   0,   0,   0,   0,
+  1548,1550,   0,1547,   0,   0,   0,1567,   0,   0,   0,   0,1558,1554,1561,   0,
+     0,   0,   0,   0,   0,   0,1568,1569,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,1529,1551,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+  1523,1545,1524,1546,   0,   0,1527,1549,   0,   0,1570,1571,1530,1552,1531,1553,
+     0,   0,1533,1555,1535,1557,1537,1559,   0,   0,1572,1573,1544,1566,1538,1560,
+  1540,1562,1541,1563,1542,1564,   0,   0,1543,1565,   0,   0,   0,   0,   0,   0,
+     0,   0,1606,1607,1609,1608,1610,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+  1613,   0,1611,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,1612,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1620,   0,   0,   0,   0,   0,   0,
+     0,1623,   0,   0,1624,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1614,1615,1616,1617,1618,1619,1621,1622,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1628,1629,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1625,1626,   0,1627,
+     0,   0,   0,1634,   0,   0,1635,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1630,1631,1632,   0,   0,1633,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1639,   0,   0,1638,1640,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1636,1637,   0,   0,
+     0,   0,   0,   0,1641,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1642,1644,1643,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1645,   0,   0,   0,   0,   0,   0,   0,
+  1646,   0,   0,   0,   0,   0,   0,1648,1649,   0,1647,1650,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1651,1653,1652,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1654,   0,1655,1657,1656,   0,
+     0,   0,   0,1659,   0,   0,   0,   0,   0,   0,   0,   0,   0,1660,   0,   0,
+     0,   0,1661,   0,   0,   0,   0,1662,   0,   0,   0,   0,1663,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1658,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,1664,   0,1665,1673,   0,1674,   0,   0,   0,   0,   0,   0,   0,
+     0,1666,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,1668,   0,   0,   0,   0,   0,   0,   0,   0,   0,1669,   0,   0,
+     0,   0,1670,   0,   0,   0,   0,1671,   0,   0,   0,   0,1672,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1667,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1675,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1676,   0,1677,   0,1678,   0,1679,   0,1680,   0,
+     0,   0,1681,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1682,   0,1683,   0,   0,
+  1684,1685,   0,1686,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+   953,1138, 955,1140, 956,1141, 957,1142,1324,1351, 963,1148, 965,1150, 968,1153,
+   966,1151, 967,1152,1378,1380,1379,1381, 984,1169, 985,1170,1420,1421, 986,1171,
+   989,1174, 995,1180, 998,1183, 996,1181, 999,1184,1000,1185,1015,1200,1329,1356,
+  1017,1203,1019,1205,1021,1207,1024,1210,1687,1688,1027,1213,1026,1212,1028,1214,
+  1029,1215,1030,1216,1034,1220,1036,1222,1039,1225,1038,1224,1334,1361,1336,1363,
+  1382,1384,1383,1385,1056,1242,1057,1243,1059,1245,1063,1249,1689,1690,1065,1251,
+  1068,1254,1070,1256,1386,1387,1388,1389,1691,1692,1073,1259,1075,1262,1079,1266,
+  1078,1265,1095,1282,1098,1285,1097,1284,1390,1391,1392,1393,1099,1286,1100,1287,
+  1101,1288,1102,1289,1105,1292,1104,1291,1106,1294,1107,1295,1108,1296,1114,1302,
+  1119,1308,1122,1311,1123,1312,1186,1260,1293,1305,   0,1394,   0,   0,   0,   0,
+   952,1137, 947,1132,1317,1344,1316,1343,1319,1346,1318,1345,1693,1695,1371,1375,
+  1370,1374,1373,1377,1372,1376,1694,1696, 981,1166, 977,1162, 972,1157,1326,1353,
+  1325,1352,1328,1355,1327,1354,1697,1698,1009,1194,1013,1198,1054,1240,1048,1234,
+  1331,1358,1330,1357,1333,1360,1332,1359,1699,1700,1396,1401,1395,1400,1398,1403,
+  1397,1402,1399,1404,1094,1281,1087,1274,1406,1411,1405,1410,1408,1413,1407,1412,
+  1409,1414,1109,1297,1117,1306,1116,1304,1112,1300,   0,   0,   0,   0,   0,   0,
+  1471,1472,1701,1705,1702,1706,1703,1707,1430,1431,1715,1719,1716,1720,1717,1721,
+  1477,1478,1729,1731,1730,1732,   0,   0,1435,1436,1733,1735,1734,1736,   0,   0,
+  1481,1482,1737,1741,1738,1742,1739,1743,1439,1440,1751,1755,1752,1756,1753,1757,
+  1490,1491,1765,1768,1766,1769,1767,1770,1447,1448,1771,1774,1772,1775,1773,1776,
+  1495,1496,1777,1779,1778,1780,   0,   0,1451,1452,1781,1783,1782,1784,   0,   0,
+  1504,1505,1785,1788,1786,1789,1787,1790,   0,1459,   0,1791,   0,1792,   0,1793,
+  1509,1510,1794,1798,1795,1799,1796,1800,1462,1463,1808,1812,1809,1813,1810,1814,
+  1467,  21,1475,  22,1479,  23,1485,  24,1493,  27,1499,  28,1507,  29,   0,   0,
+  1704,1708,1709,1710,1711,1712,1713,1714,1718,1722,1723,1724,1725,1726,1727,1728,
+  1740,1744,1745,1746,1747,1748,1749,1750,1754,1758,1759,1760,1761,1762,1763,1764,
+  1797,1801,1802,1803,1804,1805,1806,1807,1811,1815,1816,1817,1818,1819,1820,1821,
+  1470,1469,1822,1474,1465,   0,1473,1825,1429,1428,1426,  12,1432,   0,  26,   0,
+     0,1315,1823,1484,1466,   0,1483,1829,1433,  13,1437,  14,1441,1826,1827,1828,
+  1488,1487,1513,  19,   0,   0,1492,1515,1445,1444,1442,  15,   0,1831,1832,1833,
+  1502,1501,1516,  25,1497,1498,1506,1518,1457,1456,1454,  17,1453,1313,  11,   3,
+     0,   0,1824,1512,1519,   0,1511,1830,1449,  16,1460,  18,1464,   4,   0,   0,
+    30,  31,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,  20,   0,   0,   0,   2,   6,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1834,1835,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1836,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1837,1839,1838,
+     0,   0,   0,   0,1840,   0,   0,   0,   0,1841,   0,   0,1842,   0,   0,   0,
+     0,   0,   0,   0,1843,   0,1844,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,1845,   0,   0,1846,   0,   0,1847,   0,1848,   0,   0,   0,   0,   0,   0,
+   937,   0,1850,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1849, 936, 938,
+  1851,1852,   0,   0,1853,1854,   0,   0,1855,1856,   0,   0,   0,   0,   0,   0,
+  1857,1858,   0,   0,1861,1862,   0,   0,1863,1864,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1867,1868,1869,1870,
+  1859,1860,1865,1866,   0,   0,   0,   0,   0,   0,1871,1872,1873,1874,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,  32,  33,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1875,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1877,   0,1878,   0,
+  1879,   0,1880,   0,1881,   0,1882,   0,1883,   0,1884,   0,1885,   0,1886,   0,
+  1887,   0,1888,   0,   0,1889,   0,1890,   0,1891,   0,   0,   0,   0,   0,   0,
+  1892,1893,   0,1894,1895,   0,1896,1897,   0,1898,1899,   0,1900,1901,   0,   0,
+     0,   0,   0,   0,1876,   0,   0,   0,   0,   0,   0,   0,   0,   0,1902,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1904,   0,1905,   0,
+  1906,   0,1907,   0,1908,   0,1909,   0,1910,   0,1911,   0,1912,   0,1913,   0,
+  1914,   0,1915,   0,   0,1916,   0,1917,   0,1918,   0,   0,   0,   0,   0,   0,
+  1919,1920,   0,1921,1922,   0,1923,1924,   0,1925,1926,   0,1927,1928,   0,   0,
+     0,   0,   0,   0,1903,   0,   0,1929,1930,1931,1932,   0,   0,   0,1933,   0,
+   710, 385, 724, 715, 455, 103, 186, 825, 825, 242, 751, 205, 241, 336, 524, 601,
+   663, 676, 688, 738, 411, 434, 474, 500, 649, 746, 799, 108, 180, 416, 482, 662,
+   810, 275, 462, 658, 692, 344, 618, 679, 293, 388, 440, 492, 740, 116, 146, 168,
+   368, 414, 481, 527, 606, 660, 665, 722, 781, 803, 809, 538, 553, 588, 642, 758,
+   811, 701, 233, 299, 573, 612, 487, 540, 714, 779, 232, 267, 412, 445, 457, 585,
+   594, 766, 167, 613, 149, 148, 560, 589, 648, 768, 708, 345, 411, 704, 105, 259,
+   313, 496, 518, 174, 542, 120, 307, 101, 430, 372, 584, 183, 228, 529, 650, 697,
+   424, 732, 428, 349, 632, 355, 517, 110, 135, 147, 403, 580, 624, 700, 750, 170,
+   193, 245, 297, 374, 463, 543, 763, 801, 812, 815, 162, 384, 420, 730, 287, 330,
+   337, 366, 459, 476, 509, 558, 591, 610, 726, 652, 734, 759, 154, 163, 198, 473,
+   683, 697, 292, 311, 353, 423, 572, 494, 113, 217, 259, 280, 314, 499, 506, 603,
+   608, 752, 778, 782, 788, 117, 557, 748, 774, 320, 109, 126, 260, 265, 373, 411,
+   479, 523, 655, 737, 823, 380, 765, 161, 395, 398, 438, 451, 502, 516, 537, 583,
+   791, 136, 340, 769, 122, 273, 446, 727, 305, 322, 400, 496, 771, 155, 190, 269,
+   377, 391, 406, 432, 501, 519, 599, 684, 687, 749, 776, 175, 452, 191, 480, 510,
+   659, 772, 805, 813, 397, 444, 619, 566, 568, 575, 491, 471, 707, 111, 636, 156,
+   153, 288, 346, 578, 256, 435, 383, 729, 680, 767, 694, 295, 128, 210,   0,   0,
+   227,   0, 379,   0,   0, 150, 493, 525, 544, 551, 552, 556, 783, 576, 604,   0,
+   661,   0, 703,   0,   0, 735, 743,   0,   0,   0, 793, 794, 795, 808, 741, 773,
+   118, 127, 130, 166, 169, 177, 207, 213, 215, 226, 229, 268, 270, 317, 327, 329,
+   335, 369, 375, 381, 404, 441, 448, 458, 477, 484, 503, 539, 545, 547, 546, 548,
+   549, 550, 554, 555, 561, 564, 569, 591, 593, 595, 598, 607, 620, 625, 625, 651,
+   690, 695, 705, 706, 716, 717, 733, 735, 777, 786, 790, 315, 869, 623,   0,   0,
+   102, 145, 134, 115, 129, 138, 165, 171, 207, 202, 206, 212, 227, 231, 240, 243,
+   250, 254, 294, 296, 303, 308, 319, 325, 321, 329, 326, 335, 341, 357, 360, 362,
+   370, 379, 388, 389, 393, 421, 424, 438, 456, 454, 458, 465, 477, 535, 485, 490,
+   493, 507, 512, 514, 521, 522, 525, 526, 528, 533, 532, 541, 565, 569, 574, 586,
+   591, 597, 607, 637, 647, 674, 691, 693, 695, 698, 703, 699, 705, 704, 702, 706,
+   709, 717, 728, 736, 747, 754, 770, 777, 783, 784, 786, 787, 790, 802, 825, 848,
+   847, 857,  55,  65,  66, 883, 892, 916, 822, 824,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1586,   0,1605,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1602,1603,1934,1935,1574,1575,
+  1576,1577,1579,1580,1581,1583,1584,   0,1585,1587,1588,1589,1591,   0,1592,   0,
+  1593,1594,   0,1595,1596,   0,1598,1599,1600,1601,1604,1582,1578,1590,1597,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1936,   0,1937,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1938,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1939,1940,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1941,1942,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1944,1943,   0,1945,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1946,1947,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1948,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1949,1950,
+  1951,1952,1953,1954,1955,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1956,1957,1958,1960,1959,
+  1961,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+   106, 104, 107, 826, 114, 118, 119, 121, 123, 124, 127, 125,  34, 830, 130, 131,
+   132, 137, 827,  35, 133, 139, 829, 142, 143, 112, 144, 145, 924, 151, 152,  37,
+   157, 158, 159, 160,  38, 165, 166, 169, 171, 172, 173, 174, 176, 177, 178, 179,
+   181, 182, 182, 182, 833, 468, 184, 185, 834, 187, 188, 189, 196, 192, 194, 195,
+   197, 199, 200, 201, 203, 204, 204, 206, 208, 209, 211, 218, 213, 219, 214, 216,
+   153, 234, 221, 222, 223, 220, 225, 224, 230, 835, 235, 236, 237, 238, 239, 244,
+   836, 837, 247, 248, 249, 246, 251,  39,  40, 253, 255, 255, 838, 257, 258, 259,
+   261, 839, 262, 263, 301, 264,  41, 266, 270, 272, 271, 841, 274, 842, 277, 276,
+   278, 281, 282,  42, 283, 284, 285, 286,  43, 843,  44, 289, 290, 291, 293, 934,
+   298, 845, 845, 621, 300, 300,  45, 852, 894, 302, 304,  46, 306, 309, 310, 312,
+   316,  48,  47, 317, 846, 318, 323, 324, 325, 324, 328, 329, 333, 331, 332, 334,
+   335, 336, 338, 339, 342, 343, 347, 351, 849, 350, 348, 352, 354, 359, 850, 361,
+   358, 356,  49, 363, 365, 367, 364,  50, 369, 371, 851, 376, 386, 378,  53, 381,
+    52,  51, 140, 141, 387, 382, 614,  78, 388, 389, 390, 394, 392, 856,  54, 399,
+   396, 402, 404, 858, 405, 401, 407,  55, 408, 409, 410, 413, 859, 415,  56, 417,
+   860, 418,  57, 419, 422, 424, 425, 861, 840, 862, 426, 863, 429, 431, 427, 433,
+   437, 441, 438, 439, 442, 443, 864, 436, 449, 450,  58, 454, 453, 865, 447, 460,
+   866, 867, 461, 466, 465, 464,  59, 467, 470, 469, 472, 828, 475, 868, 478, 870,
+   483, 485, 486, 871, 488, 489, 872, 873, 495, 497,  60, 498,  61,  61, 504, 505,
+   507, 508, 511,  62, 513, 874, 515, 875, 518, 844, 520, 876, 877, 878,  63,  64,
+   528, 880, 879, 881, 882, 530, 531, 531, 533,  66, 534,  67,  68, 884, 536, 538,
+   541,  69, 885, 549, 886, 887, 556, 559,  70, 561, 562, 563, 888, 889, 889, 567,
+    71, 890, 570, 571,  72, 891, 577,  73, 581, 579, 582, 893, 587,  74, 590, 592,
+   596,  75, 895, 896,  76, 897, 600, 898, 602, 605, 607, 899, 900, 609, 901, 611,
+   853,  77, 615, 616,  79, 617, 252, 902, 903, 854, 855, 621, 622, 731,  80, 627,
+   626, 628, 164, 629, 630, 631, 633, 904, 632, 634, 639, 640, 635, 641, 646, 651,
+   638, 643, 644, 645, 905, 907, 906,  81, 653, 654, 656, 911, 657, 908,  82,  83,
+   909, 910,  84, 664, 665, 666, 667, 669, 668, 671, 670, 674, 672, 673, 675,  85,
+   677, 678,  86, 681, 682, 912, 685, 686,  87, 689,  36, 913, 914,  88,  89, 696,
+   702, 709, 711, 915, 712, 713, 718, 719, 917, 831, 721, 720, 723, 832, 725, 728,
+   918, 919, 739, 742, 744, 920, 745, 753, 756, 757, 755, 760, 761, 921, 762,  90,
+   764, 922,  91, 775, 279, 780, 923, 925,  92,  93, 785, 926,  94, 927, 787, 787,
+   789, 928, 792,  95, 796, 797, 798, 800,  96, 929, 802, 804, 806,  97,  98, 807,
+   930,  99, 931, 932, 933, 814, 100, 816, 817, 818, 819, 820, 821, 935,   0,   0,
 };
 static const int16_t
 _hb_ucd_i16[196] =
@@ -2797,12 +2799,12 @@
 static inline uint_fast8_t
 _hb_ucd_gc (unsigned u)
 {
-  return u<1114110u?_hb_ucd_u8[6800+(((_hb_ucd_u8[1312+(((_hb_ucd_u16[((_hb_ucd_u8[544+(((_hb_ucd_u8[u>>1>>3>>3>>4])<<4)+((u>>1>>3>>3)&15u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:2;
+  return u<1114110u?_hb_ucd_u8[6808+(((_hb_ucd_u8[1312+(((_hb_ucd_u16[((_hb_ucd_u8[544+(((_hb_ucd_u8[u>>1>>3>>3>>4])<<4)+((u>>1>>3>>3)&15u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:2;
 }
 static inline uint_fast8_t
 _hb_ucd_ccc (unsigned u)
 {
-  return u<125259u?_hb_ucd_u8[8792+(((_hb_ucd_u8[8236+(((_hb_ucd_u8[7776+(((_hb_ucd_u8[7424+(((_hb_ucd_u8[7178+(u>>2>>2>>2>>3)])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:0;
+  return u<125259u?_hb_ucd_u8[8800+(((_hb_ucd_u8[8244+(((_hb_ucd_u8[7784+(((_hb_ucd_u8[7432+(((_hb_ucd_u8[7186+(u>>2>>2>>2>>3)])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:0;
 }
 static inline unsigned
 _hb_ucd_b4 (const uint8_t* a, unsigned i)
@@ -2812,24 +2814,24 @@
 static inline int_fast16_t
 _hb_ucd_bmg (unsigned u)
 {
-  return u<65380u?_hb_ucd_i16[((_hb_ucd_u8[9540+(((_hb_ucd_u8[9420+(((_hb_ucd_b4(9292+_hb_ucd_u8,u>>2>>3>>3))<<3)+((u>>2>>3)&7u))])<<3)+((u>>2)&7u))])<<2)+((u)&3u)]:0;
+  return u<65380u?_hb_ucd_i16[((_hb_ucd_u8[9548+(((_hb_ucd_u8[9428+(((_hb_ucd_b4(9300+_hb_ucd_u8,u>>2>>3>>3))<<3)+((u>>2>>3)&7u))])<<3)+((u>>2)&7u))])<<2)+((u)&3u)]:0;
 }
 static inline uint_fast8_t
 _hb_ucd_sc (unsigned u)
 {
-  return u<918000u?_hb_ucd_u8[11062+(((_hb_ucd_u16[2040+(((_hb_ucd_u8[10326+(((_hb_ucd_u8[9876+(u>>3>>4>>4)])<<4)+((u>>3>>4)&15u))])<<4)+((u>>3)&15u))])<<3)+((u)&7u))]:2;
+  return u<918000u?_hb_ucd_u8[11070+(((_hb_ucd_u16[2048+(((_hb_ucd_u8[10334+(((_hb_ucd_u8[9884+(u>>3>>4>>4)])<<4)+((u>>3>>4)&15u))])<<4)+((u>>3)&15u))])<<3)+((u)&7u))]:2;
 }
 static inline uint_fast16_t
 _hb_ucd_dm (unsigned u)
 {
-  return u<195102u?_hb_ucd_u16[6008+(((_hb_ucd_u8[17068+(((_hb_ucd_u8[16686+(u>>4>>5)])<<5)+((u>>4)&31u))])<<4)+((u)&15u))]:0;
+  return u<195102u?_hb_ucd_u16[6032+(((_hb_ucd_u8[17084+(((_hb_ucd_u8[16702+(u>>4>>5)])<<5)+((u>>4)&31u))])<<4)+((u)&15u))]:0;
 }
 
 
 #elif !defined(HB_NO_UCD_UNASSIGNED)
 
 static const uint8_t
-_hb_ucd_u8[14744] =
+_hb_ucd_u8[14752] =
 {
     0,  1,  2,  3,  4,  5,  6,  7,  7,  8,  7,  7,  7,  7,  7,  7,
     7,  7,  7,  7,  9, 10,  7,  7,  7,  7, 11, 12, 13, 13, 13, 14,
@@ -2906,13 +2908,13 @@
    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,243, 34,
   244, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,245, 34, 34,
-   34, 34, 34, 34, 34, 34, 34,246,122,122,122,122,122,122,122,122,
-   34, 34, 34, 34,247,122,122,122,122,122,122,122,122,122,122,122,
-   34, 34, 34, 34, 34, 34,248, 34, 34, 34, 34, 34, 34, 34, 34, 34,
-   34, 34, 34, 34, 34, 34, 34,249,122,122,122,122,122,122,122,122,
-  250,122,251,252,122,122,122,122,122,122,122,122,122,122,122,122,
-  107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,253,
+   34, 34, 34, 34, 34, 34, 34,246, 34, 34, 34, 34,247,122,122,122,
+   34, 34, 34, 34,248,122,122,122,122,122,122,122,122,122,122,122,
+   34, 34, 34, 34, 34, 34,249, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+   34, 34, 34, 34, 34, 34, 34,250,122,122,122,122,122,122,122,122,
+  251,122,252,253,122,122,122,122,122,122,122,122,122,122,122,122,
   107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,254,
+  107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,255,
     0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  3,  2,  4,  5,  6,  2,
     7,  7,  7,  7,  7,  2,  8,  9, 10, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16,
@@ -3075,11 +3077,11 @@
   121,  4,  4,  4,  4,  2,  2, 88,  2,  2,  2,  2,  2,120,  2,  2,
   108,151,  2,  2,  2,  2,  2,  2, 67,  2,152,148,148,148,153, 44,
    67, 67, 67, 67, 67, 55, 67, 67, 67, 67, 44, 44, 44, 44, 44, 44,
-   67, 67, 67, 44, 44, 44, 44, 44, 67, 67, 67, 67, 67, 67, 44, 44,
-    1,  2,154,155,  4,  4,  4,  4,  4, 67,  4,  4,  4,  4,156,157,
-  158,105,105,105,105, 43, 43, 86,159, 40, 40, 67,105,160, 63, 67,
-   36, 36, 36, 61, 57,161,162, 69, 36, 36, 36, 36, 36, 63, 40, 69,
-   44, 44, 62, 36, 36, 36, 36, 36, 67, 27, 27, 67, 67, 67, 67, 67,
+   67, 67, 67, 44, 44, 44, 44, 44,  1,  2,154,155,  4,  4,  4,  4,
+    4, 67,  4,  4,  4,  4,156,157,158,105,105,105,105, 43, 43, 86,
+  159, 40, 40, 67,105,160, 63, 67, 36, 36, 36, 61, 57,161,162, 69,
+   36, 36, 36, 36, 36, 63, 40, 69, 44, 44, 62, 36, 36, 36, 36, 36,
+   67, 27, 27, 67, 67, 67, 67, 67, 67, 67, 44, 44, 44, 44, 44, 55,
    67, 67, 67, 67, 67, 67, 67, 92, 27, 27, 27, 27, 27, 67, 67, 67,
    67, 67, 67, 67, 27, 27, 27, 27,163, 27, 27, 27, 27, 27, 27, 27,
    36, 36, 83, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,164,  2,
@@ -3247,218 +3249,218 @@
    44, 61, 44, 62, 62, 62, 62, 36, 62, 61, 61, 62, 62, 62, 62, 62,
    62, 61, 61, 62, 36, 61, 36, 36, 36, 61, 36, 36, 62, 36, 61, 61,
    36, 36, 36, 36, 36, 62, 36, 36, 62, 36, 62, 36, 36, 62, 36, 36,
-    8, 44, 44, 44, 44, 44, 44, 44, 55, 67, 67, 67, 67, 67, 67, 67,
-   27, 27, 27, 27, 27, 27, 91, 67, 67, 67, 67, 67, 67, 67, 67, 44,
-   44, 44, 44, 67, 67, 67, 67, 67, 67, 92, 44, 44, 44, 44, 44, 44,
-   67, 67, 67, 67, 92, 44, 44, 44, 67, 44, 44, 44, 44, 44, 44, 44,
-   67, 67, 67, 67, 67, 25, 41, 41, 67, 67, 67, 67, 44, 44, 67, 67,
-   67, 67, 67, 92, 44, 55, 67, 67, 67, 67, 67, 67, 44, 44, 44, 44,
-   67, 67, 67, 67, 67, 67, 67, 55, 67, 67, 67, 44, 44, 44, 44, 67,
-   67, 92, 67, 67, 67, 67, 67, 67, 79, 44, 44, 44, 44, 44, 44, 44,
-  171,171,171,171,171,171,171, 44,171,171,171,171,171,171,171,  0,
-    0,  0, 29, 21, 21, 21, 23, 21, 22, 18, 21, 25, 21, 17, 13, 13,
-   25, 25, 25, 21, 21,  9,  9,  9,  9, 22, 21, 18, 24, 16, 24,  5,
-    5,  5,  5, 22, 25, 18, 25,  0, 23, 23, 26, 21, 24, 26,  7, 20,
-   25,  1, 26, 24, 26, 25, 15, 15, 24, 15,  7, 19, 15, 21,  9, 25,
-    9,  5,  5, 25,  5,  9,  5,  7,  7,  7,  9,  8,  8,  5,  7,  5,
-    6,  6, 24, 24,  6, 24, 12, 12,  2,  2,  6,  5,  9, 21,  9,  2,
-    2,  9, 25,  9, 26, 12, 11, 11,  2,  6,  5, 21, 17,  2,  2, 26,
-   26, 23,  2, 12, 17, 12, 21, 12, 12, 21,  7,  2,  2,  7,  7, 21,
-   21,  2,  1,  1, 21, 23, 26, 26,  1, 21,  6,  7,  7, 12, 12,  7,
-   21,  7, 12,  1, 12,  6,  6, 12, 12, 26,  7, 26, 26,  7,  2,  1,
-   12,  2,  6,  2, 24,  7,  7,  6,  1, 12, 12, 10, 10, 10, 10, 12,
-   21,  6,  2, 10, 10,  2, 15, 26, 26,  2,  2, 21,  7, 10, 15,  7,
-    2, 23, 21, 26, 10,  7, 21, 15, 15,  2, 17,  7, 29,  7,  7, 22,
-   18,  2, 14, 14, 14,  7, 10, 21, 17, 21, 11, 12,  5,  2,  5,  6,
-    8,  8,  8, 24,  5, 24,  2, 24,  9, 24, 24,  2, 29, 29, 29,  1,
-   17, 17, 20, 19, 22, 20, 27, 28,  1, 29, 21, 20, 19, 21, 21, 16,
-   16, 21, 25, 22, 18, 21, 21, 29,  1,  2, 15,  6, 18,  6, 23,  2,
-   12, 11,  9, 26, 26,  9, 26,  5,  5, 26, 14,  9,  5, 14, 14, 15,
-   25, 26, 26, 22, 18, 26, 18, 25, 18, 22,  5, 12,  2,  5, 22, 21,
-   21, 22, 18, 17, 26,  6,  7, 14, 17, 22, 18, 18, 26, 14, 17,  6,
-   14,  6, 12, 24, 24,  6, 26, 15,  6, 21, 11, 21, 24,  9,  6,  9,
-   23, 26,  6, 10,  4,  4,  3,  3,  7, 25, 17, 16, 16, 22, 16, 16,
-   25, 17, 25,  2, 25, 24,  2, 15, 12, 15, 14,  2, 21, 14,  7, 15,
-   12, 17, 21,  1, 26, 10, 10,  1, 23, 15,  0,  1,  2,  3,  4,  5,
-    6,  7,  8,  9,  0, 10, 11, 12, 13,  0, 14,  0,  0,  0,  0,  0,
-   15,  0, 16,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 17, 18, 19,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0, 20,  0, 21, 22, 23,  0,  0,  0, 24,
-   25, 26, 27, 28, 29, 30, 31, 32, 33, 34,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 35,
-    0, 36,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0, 37,  0,  0,  0,  0,  0,  0,  0,
-    0,  0, 38, 39,  0,  0,  0,  0,  0,  0, 40, 41, 42,  0, 43,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  0,  0,
-    0,  0,  3,  0,  0,  0,  4,  5,  6,  7,  0,  8,  9, 10,  0, 11,
-   12, 13, 14, 15, 16, 17, 16, 18, 16, 19, 16, 19, 16, 19,  0, 19,
-   16, 20, 16, 19, 21, 19,  0, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-   31,  0, 32,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  0,  0,
-    0,  0,  0,  0, 34,  0,  0, 35,  0,  0, 36,  0, 37,  0,  0,  0,
-   38, 39, 40, 41, 42, 43, 44, 45, 46,  0,  0, 47,  0,  0,  0, 48,
-    0,  0,  0, 49,  0,  0,  0,  0,  0,  0,  0, 50,  0, 51,  0, 52,
-   53,  0, 54,  0,  0,  0,  0,  0,  0, 55, 56, 57,  0,  0,  0,  0,
-   58,  0,  0, 59, 60, 61, 62, 63,  0,  0, 64, 65,  0,  0,  0, 66,
-    0,  0,  0,  0, 67,  0,  0,  0, 68,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0, 69,  0,  0,  0, 70,  0, 71,  0,  0,
-   72,  0,  0, 73,  0,  0,  0,  0,  0,  0,  0,  0, 74,  0,  0,  0,
-    0,  0, 75, 76,  0, 77, 78,  0,  0, 79, 80,  0, 81, 62,  0, 82,
-   83,  0,  0, 84, 85, 86,  0,  0,  0, 87,  0, 88,  0,  0, 51, 89,
-   51,  0, 90,  0, 91,  0,  0,  0, 80,  0,  0,  0, 92, 93,  0, 94,
-   95, 96, 97,  0,  0,  0,  0,  0, 51,  0,  0,  0,  0, 98, 99,  0,
-    0,  0,  0,  0,  0,100,  0,  0,  0,  0,  0,101,102,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,103,  0,  0,104,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,105,106,  0,  0,107,  0,  0,  0,  0,  0,  0,
-  108,  0,109,  0,102,  0,  0,  0,  0,  0,110,111,  0,  0,  0,  0,
-    0,  0,  0,112,  0,  0,  0,  0,  0,  0,  0,113,  0,114,  0,  0,
-    0,  0,  0,  0,  1,  2,  3,  4,  5,  6,  7,  0,  8,  0,  0,  0,
-    0,  9, 10, 11, 12,  0,  0,  0,  0, 13,  0,  0, 14, 15,  0, 16,
-    0, 17, 18,  0,  0, 19,  0, 20, 21,  0,  0,  0,  0,  0, 22, 23,
-    0, 24, 25,  0,  0, 26,  0,  0,  0, 27,  0,  0, 28, 29, 30, 31,
-    0,  0,  0, 32, 33, 34,  0,  0, 33,  0,  0, 35, 33,  0,  0,  0,
-   33, 36,  0,  0,  0,  0,  0, 37, 38,  0,  0,  0,  0,  0,  0, 39,
-   40,  0,  0,  0,  0,  0,  0, 41, 42,  0,  0,  0,  0, 43,  0, 44,
-    0,  0,  0, 45, 46,  0,  0,  0, 47,  0,  0,  0,  0,  0,  0, 48,
-   49,  0,  0,  0,  0, 50,  0,  0,  0, 51,  0, 52,  0, 53,  0,  0,
-    0,  0, 54,  0,  0,  0,  0, 55,  0, 56,  0,  0,  0,  0, 57, 58,
-    0,  0,  0, 59, 60,  0,  0,  0,  0,  0,  0, 61, 52,  0, 62, 63,
-    0,  0, 64,  0,  0,  0, 65, 66,  0,  0,  0, 67,  0, 68, 69, 70,
-   71, 72,  1, 73,  0, 74, 75, 76,  0,  0, 77, 78,  0,  0,  0, 79,
-    0,  0,  1,  1,  0,  0, 80,  0,  0, 81,  0,  0,  0,  0, 77, 82,
-    0, 83,  0,  0,  0,  0,  0, 78, 84,  0, 85,  0, 52,  0,  1, 78,
-    0,  0, 86,  0,  0, 87,  0,  0,  0,  0,  0, 88, 57,  0,  0,  0,
-    0,  0,  0, 89, 90,  0,  0, 84,  0,  0, 33,  0,  0, 91,  0,  0,
-    0,  0, 92,  0,  0,  0,  0, 49,  0,  0, 93,  0,  0,  0,  0, 94,
-   95,  0,  0, 96,  0,  0, 97,  0,  0,  0, 98,  0,  0,  0, 99,  0,
-    0,  0,  0,100,101, 93,  0,  0,102,  0,  0,  0, 84,  0,  0,103,
-    0,  0,  0,104,105,  0,  0,106,107,  0,  0,  0,  0,  0,  0,108,
-    0,  0,109,  0,  0,  0,  0,110, 33,  0,111,112,113, 35,  0,  0,
-  114,  0,  0,  0,115,  0,  0,  0,  0,  0,  0,116,  0,  0,117,  0,
-    0,  0,  0,118, 88,  0,  0,  0,  0,  0, 57,  0,  0,  0,  0, 52,
-  119,  0,  0,  0,  0,120,  0,  0,121,  0,  0,  0,  0,119,  0,  0,
-  122,  0,  0,  0,  0,  0,  0,123,  0,  0,  0,124,  0,  0,  0,125,
-    0,126,  0,  0,  0,  0,127,128,129,  0,130,  0,131,  0,  0,  0,
-  132,133,134,  0, 77,  0,  0,  0,  0,  0, 35,  0,  0,  0,135,  0,
-    0,  0,136,  0,  0,137,  0,  0,138,  0,  0,  0,  0,  0,  0,  0,
-    1,  1,  1,  1,  1,  2,  3,  4,  5,  6,  7,  4,  4,  8,  9, 10,
-    1, 11, 12, 13, 14, 15, 16, 17, 18,  1,  1,  1, 19,  1,  0,  0,
-   20, 21, 22,  1, 23,  4, 21, 24, 25, 26, 27, 28, 29, 30,  0,  0,
-    1,  1, 31,  0,  0,  0, 32, 33, 34, 35,  1, 36, 37,  0,  0,  0,
-    0, 38,  1, 39, 14, 39, 40, 41, 42,  0,  0,  0, 43, 36, 44, 45,
-   21, 45, 46,  0,  0,  0, 19,  1, 21,  0,  0, 47,  0, 38, 48,  1,
-    1, 49, 49, 50,  0,  0, 51,  0,  0,  0, 52,  1,  0,  0, 38, 14,
-    4,  1,  1,  1, 53, 21, 43, 52, 54, 21, 35,  1,  0,  0,  0, 55,
-    0,  0,  0, 56, 57, 58,  0,  0,  0,  0,  0, 59,  0, 60,  0,  0,
-    0,  0, 61, 62,  0,  0, 63,  0,  0,  0, 64,  0,  0,  0, 65,  0,
-    0,  0, 66,  0,  0,  0, 67,  0,  0,  0, 68,  0,  0, 69, 70,  0,
-   71, 72, 73, 74, 75, 76,  0,  0,  0, 77,  0,  0,  0, 78, 79,  0,
-    0,  0,  0, 47,  0,  0,  0, 49,  0, 80,  0,  0,  0, 62,  0,  0,
-   63,  0,  0, 81,  0,  0, 82,  0,  0,  0, 83,  0,  0, 19, 84,  0,
-   62,  0,  0,  0,  0, 49,  1, 85,  1, 52, 15, 86, 36, 10, 21, 87,
-    0, 55,  0,  0,  0,  0, 19, 10,  1,  0,  0,  0,  0,  0, 88,  0,
-    0, 89,  0,  0, 88,  0,  0,  0,  0, 78,  0,  0, 87,  9, 12,  4,
-   90,  8, 91, 47,  0, 58, 50,  0, 21,  1, 21, 92, 93,  1,  1,  1,
-    1, 94, 95, 96, 97,  1, 98, 58, 81, 99,100,  4, 58,  0,  0,  0,
-    0,  0,  0, 19, 50,  0,  0,  0,  0,  0,  0, 61,  0,  0,101,102,
-    0,  0,103,  0,  0,  1,  1, 50,  0,  0,  0, 38,  0, 63,  0,  0,
-    0,  0,  0, 62,  0,  0,104, 68, 61,  0,  0,  0, 78,  0,  0,  0,
-  105,106, 58, 38, 81,  0,  0,  0,  0,  0,  0,107,  1, 14,  4, 12,
-   84,  0,  0,  0,  0, 38, 87,  0,  0,  0,  0,108,  0,  0,109, 61,
-    0,110,  0,  0,  0,  1,  0,  0,  0,  0, 19, 58,  0,  0,  0, 51,
-    0,111, 14, 52,112, 41,  0,  0, 62,  0,  0, 61,  0,  0,113,  0,
-   87,  0,  0,  0, 61, 62,  0,  0, 62,  0, 89,  0,  0,113,  0,  0,
-    0,  0,114,  0,  0,  0, 78, 55,  0, 38,  1, 58,  1, 58,  0,  0,
-   63, 89,  0,  0,115,  0,  0,  0, 55,  0,  0,  0,  0,115,  0,  0,
-    0,  0, 61,  0,  0,  0,  0, 79,  0, 61,  0,  0,  0,  0, 56,  0,
-   89, 80,  0,  0, 79,  0,  0,  0,  8, 91,  0,  0,  1, 87,  0,  0,
-  116,  0,  0,  0,  0,  0,  0,117,  0,118,119,120,121,  0,104,  4,
-  122, 49, 23,  0,  0,  0, 38, 50, 38, 58,  0,  0,  1, 87,  1,  1,
-    1,  1, 39,  1, 48,105, 87,  0,  0,  0,  0,  1,  0,  0,  0,123,
-    4,122,  0,  0,  0,  1,124,  0,  0,  0,  0,  0,230,230,230,230,
-  230,232,220,220,220,220,232,216,220,220,220,220,220,202,202,220,
-  220,220,220,202,202,220,220,220,  1,  1,  1,  1,  1,220,220,220,
-  220,230,230,230,230,240,230,220,220,220,230,230,230,220,220,  0,
-  230,230,230,220,220,220,220,230,232,220,220,230,233,234,234,233,
-  234,234,233,230,  0,  0,  0,230,  0,220,230,230,230,230,220,230,
-  230,230,222,220,230,230,220,220,230,222,228,230, 10, 11, 12, 13,
-   14, 15, 16, 17, 18, 19, 19, 20, 21, 22,  0, 23,  0, 24, 25,  0,
-  230,220,  0, 18, 30, 31, 32,  0,  0,  0,  0, 27, 28, 29, 30, 31,
-   32, 33, 34,230,230,220,220,230,220,230,230,220, 35,  0,  0,  0,
-    0,  0,230,230,230,  0,  0,230,230,  0,220,230,230,220,  0,  0,
-    0, 36,  0,  0,230,220,230,230,220,220,230,220,220,230,220,230,
-  220,230,230,  0,  0,220,  0,  0,230,230,  0,230,  0,230,230,230,
-  230,230,  0,  0,  0,220,220,220,230,220,220,220,230,230,  0,220,
-   27, 28, 29,230,  7,  0,  0,  0,  0,  9,  0,  0,  0,230,220,230,
-  230,  0,  0,  0,  0,  0,230,  0,  0, 84, 91,  0,  0,  0,  0,  9,
-    9,  0,  0,  0,  0,  0,  9,  0,103,103,  9,  0,107,107,107,107,
-  118,118,  9,  0,122,122,122,122,220,220,  0,  0,  0,220,  0,220,
-    0,216,  0,  0,  0,129,130,  0,132,  0,  0,  0,  0,  0,130,130,
-  130,130,  0,  0,130,  0,230,230,  9,  0,230,230,  0,  0,220,  0,
-    0,  0,  0,  7,  0,  9,  9,  0,  9,  9,  0,  0,  0,230,  0,  0,
-    0,228,  0,  0,  0,222,230,220,220,  0,  0,  0,230,  0,  0,220,
-  230,220,  0,220,230,230,230,  0,  0,  0,  9,  9,  0,  0,  7,  0,
-  230,  0,  1,  1,  1,  0,  0,  0,230,234,214,220,202,230,230,230,
-  230,230,232,228,228,220,218,230,233,220,230,220,230,230,  1,  1,
-    1,  1,  1,230,  0,  1,  1,230,220,230,  1,  1,  0,  0,218,228,
-  232,222,224,224,  0,  8,  8,  0,  0,  0,  0,220,230,  0,230,230,
-  220,  0,  0,230,  0,  0, 26,  0,  0,220,  0,230,230,  1,220,  0,
-    0,230,220,  0,  0,  0,220,220,  0,  0,230,220,  0,  9,  7,  0,
-    0,  7,  9,  0,  0,  0,  9,  7,  6,  6,  0,  0,  0,  0,  1,  0,
-    0,216,216,  1,  1,  1,  0,  0,  0,226,216,216,216,216,216,  0,
-  220,220,220,  0,232,232,220,230,230,230,  7,  0, 16, 17, 17, 33,
-   17, 49, 17, 17, 84, 97,135,145, 26, 17, 17, 17, 17, 17, 17, 17,
+    8, 44, 44, 44, 44, 44, 44, 44, 67, 67, 67, 67, 67, 67, 44, 44,
+   55, 67, 67, 67, 67, 67, 67, 67, 27, 27, 27, 27, 27, 27, 91, 67,
+   67, 67, 67, 67, 67, 67, 67, 44, 44, 44, 44, 67, 67, 67, 67, 67,
+   67, 92, 44, 44, 44, 44, 44, 44, 67, 67, 67, 67, 92, 44, 44, 44,
+   67, 44, 44, 44, 44, 44, 44, 44, 67, 67, 67, 67, 67, 25, 41, 41,
+   67, 67, 67, 67, 44, 44, 67, 67, 67, 67, 67, 92, 44, 55, 67, 67,
+   67, 67, 67, 67, 44, 44, 44, 44, 67, 67, 67, 67, 67, 67, 67, 55,
+   67, 67, 67, 44, 44, 44, 44, 67, 67, 92, 67, 67, 67, 67, 67, 67,
+   79, 44, 44, 44, 44, 44, 44, 44,171,171,171,171,171,171,171, 44,
+  171,171,171,171,171,171,171,  0,  0,  0, 29, 21, 21, 21, 23, 21,
+   22, 18, 21, 25, 21, 17, 13, 13, 25, 25, 25, 21, 21,  9,  9,  9,
+    9, 22, 21, 18, 24, 16, 24,  5,  5,  5,  5, 22, 25, 18, 25,  0,
+   23, 23, 26, 21, 24, 26,  7, 20, 25,  1, 26, 24, 26, 25, 15, 15,
+   24, 15,  7, 19, 15, 21,  9, 25,  9,  5,  5, 25,  5,  9,  5,  7,
+    7,  7,  9,  8,  8,  5,  7,  5,  6,  6, 24, 24,  6, 24, 12, 12,
+    2,  2,  6,  5,  9, 21,  9,  2,  2,  9, 25,  9, 26, 12, 11, 11,
+    2,  6,  5, 21, 17,  2,  2, 26, 26, 23,  2, 12, 17, 12, 21, 12,
+   12, 21,  7,  2,  2,  7,  7, 21, 21,  2,  1,  1, 21, 23, 26, 26,
+    1, 21,  6,  7,  7, 12, 12,  7, 21,  7, 12,  1, 12,  6,  6, 12,
+   12, 26,  7, 26, 26,  7,  2,  1, 12,  2,  6,  2, 24,  7,  7,  6,
+    1, 12, 12, 10, 10, 10, 10, 12, 21,  6,  2, 10, 10,  2, 15, 26,
+   26,  2,  2, 21,  7, 10, 15,  7,  2, 23, 21, 26, 10,  7, 21, 15,
+   15,  2, 17,  7, 29,  7,  7, 22, 18,  2, 14, 14, 14,  7, 10, 21,
+   17, 21, 11, 12,  5,  2,  5,  6,  8,  8,  8, 24,  5, 24,  2, 24,
+    9, 24, 24,  2, 29, 29, 29,  1, 17, 17, 20, 19, 22, 20, 27, 28,
+    1, 29, 21, 20, 19, 21, 21, 16, 16, 21, 25, 22, 18, 21, 21, 29,
+    1,  2, 15,  6, 18,  6, 23,  2, 12, 11,  9, 26, 26,  9, 26,  5,
+    5, 26, 14,  9,  5, 14, 14, 15, 25, 26, 26, 22, 18, 26, 18, 25,
+   18, 22,  5, 12,  2,  5, 22, 21, 21, 22, 18, 17, 26,  6,  7, 14,
+   17, 22, 18, 18, 26, 14, 17,  6, 14,  6, 12, 24, 24,  6, 26, 15,
+    6, 21, 11, 21, 24,  9,  6,  9, 23, 26,  6, 10,  4,  4,  3,  3,
+    7, 25, 17, 16, 16, 22, 16, 16, 25, 17, 25,  2, 25, 24,  2, 15,
+   12, 15, 14,  2, 21, 14,  7, 15, 12, 17, 21,  1, 26, 10, 10,  1,
+   23, 15,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  0, 10, 11, 12,
+   13,  0, 14,  0,  0,  0,  0,  0, 15,  0, 16,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0, 17, 18, 19,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,
+    0, 21, 22, 23,  0,  0,  0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+   33, 34,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0, 35,  0, 36,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+   37,  0,  0,  0,  0,  0,  0,  0,  0,  0, 38, 39,  0,  0,  0,  0,
+    0,  0, 40, 41, 42,  0, 43,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  1,  2,  0,  0,  0,  0,  3,  0,  0,  0,  4,  5,
+    6,  7,  0,  8,  9, 10,  0, 11, 12, 13, 14, 15, 16, 17, 16, 18,
+   16, 19, 16, 19, 16, 19,  0, 19, 16, 20, 16, 19, 21, 19,  0, 22,
+   23, 24, 25, 26, 27, 28, 29, 30, 31,  0, 32,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0, 33,  0,  0,  0,  0,  0,  0, 34,  0,  0, 35,
+    0,  0, 36,  0, 37,  0,  0,  0, 38, 39, 40, 41, 42, 43, 44, 45,
+   46,  0,  0, 47,  0,  0,  0, 48,  0,  0,  0, 49,  0,  0,  0,  0,
+    0,  0,  0, 50,  0, 51,  0, 52, 53,  0, 54,  0,  0,  0,  0,  0,
+    0, 55, 56, 57,  0,  0,  0,  0, 58,  0,  0, 59, 60, 61, 62, 63,
+    0,  0, 64, 65,  0,  0,  0, 66,  0,  0,  0,  0, 67,  0,  0,  0,
+   68,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 69,
+    0,  0,  0, 70,  0, 71,  0,  0, 72,  0,  0, 73,  0,  0,  0,  0,
+    0,  0,  0,  0, 74,  0,  0,  0,  0,  0, 75, 76,  0, 77, 78,  0,
+    0, 79, 80,  0, 81, 62,  0, 82, 83,  0,  0, 84, 85, 86,  0,  0,
+    0, 87,  0, 88,  0,  0, 51, 89, 51,  0, 90,  0, 91,  0,  0,  0,
+   80,  0,  0,  0, 92, 93,  0, 94, 95, 96, 97,  0,  0,  0,  0,  0,
+   51,  0,  0,  0,  0, 98, 99,  0,  0,  0,  0,  0,  0,100,  0,  0,
+    0,  0,  0,101,102,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,103,
+    0,  0,104,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,105,106,  0,
+    0,107,  0,  0,  0,  0,  0,  0,108,  0,109,  0,102,  0,  0,  0,
+    0,  0,110,111,  0,  0,  0,  0,  0,  0,  0,112,  0,  0,  0,  0,
+    0,  0,  0,113,  0,114,  0,  0,  0,  0,  0,  0,  1,  2,  3,  4,
+    5,  6,  7,  0,  8,  0,  0,  0,  0,  9, 10, 11, 12,  0,  0,  0,
+    0, 13,  0,  0, 14, 15,  0, 16,  0, 17, 18,  0,  0, 19,  0, 20,
+   21,  0,  0,  0,  0,  0, 22, 23,  0, 24, 25,  0,  0, 26,  0,  0,
+    0, 27,  0,  0, 28, 29, 30, 31,  0,  0,  0, 32, 33, 34,  0,  0,
+   33,  0,  0, 35, 33,  0,  0,  0, 33, 36,  0,  0,  0,  0,  0, 37,
+   38,  0,  0,  0,  0,  0,  0, 39, 40,  0,  0,  0,  0,  0,  0, 41,
+   42,  0,  0,  0,  0, 43,  0, 44,  0,  0,  0, 45, 46,  0,  0,  0,
+   47,  0,  0,  0,  0,  0,  0, 48, 49,  0,  0,  0,  0, 50,  0,  0,
+    0, 51,  0, 52,  0, 53,  0,  0,  0,  0, 54,  0,  0,  0,  0, 55,
+    0, 56,  0,  0,  0,  0, 57, 58,  0,  0,  0, 59, 60,  0,  0,  0,
+    0,  0,  0, 61, 52,  0, 62, 63,  0,  0, 64,  0,  0,  0, 65, 66,
+    0,  0,  0, 67,  0, 68, 69, 70, 71, 72,  1, 73,  0, 74, 75, 76,
+    0,  0, 77, 78,  0,  0,  0, 79,  0,  0,  1,  1,  0,  0, 80,  0,
+    0, 81,  0,  0,  0,  0, 77, 82,  0, 83,  0,  0,  0,  0,  0, 78,
+   84,  0, 85,  0, 52,  0,  1, 78,  0,  0, 86,  0,  0, 87,  0,  0,
+    0,  0,  0, 88, 57,  0,  0,  0,  0,  0,  0, 89, 90,  0,  0, 84,
+    0,  0, 33,  0,  0, 91,  0,  0,  0,  0, 92,  0,  0,  0,  0, 49,
+    0,  0, 93,  0,  0,  0,  0, 94, 95,  0,  0, 96,  0,  0, 97,  0,
+    0,  0, 98,  0,  0,  0, 99,  0,  0,  0,  0,100,101, 93,  0,  0,
+  102,  0,  0,  0, 84,  0,  0,103,  0,  0,  0,104,105,  0,  0,106,
+  107,  0,  0,  0,  0,  0,  0,108,  0,  0,109,  0,  0,  0,  0,110,
+   33,  0,111,112,113, 35,  0,  0,114,  0,  0,  0,115,  0,  0,  0,
+    0,  0,  0,116,  0,  0,117,  0,  0,  0,  0,118, 88,  0,  0,  0,
+    0,  0, 57,  0,  0,  0,  0, 52,119,  0,  0,  0,  0,120,  0,  0,
+  121,  0,  0,  0,  0,119,  0,  0,122,  0,  0,  0,  0,  0,  0,123,
+    0,  0,  0,124,  0,  0,  0,125,  0,126,  0,  0,  0,  0,127,128,
+  129,  0,130,  0,131,  0,  0,  0,132,133,134,  0, 77,  0,  0,  0,
+    0,  0, 35,  0,  0,  0,135,  0,  0,  0,136,  0,  0,137,  0,  0,
+  138,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  2,  3,  4,
+    5,  6,  7,  4,  4,  8,  9, 10,  1, 11, 12, 13, 14, 15, 16, 17,
+   18,  1,  1,  1, 19,  1,  0,  0, 20, 21, 22,  1, 23,  4, 21, 24,
+   25, 26, 27, 28, 29, 30,  0,  0,  1,  1, 31,  0,  0,  0, 32, 33,
+   34, 35,  1, 36, 37,  0,  0,  0,  0, 38,  1, 39, 14, 39, 40, 41,
+   42,  0,  0,  0, 43, 36, 44, 45, 21, 45, 46,  0,  0,  0, 19,  1,
+   21,  0,  0, 47,  0, 38, 48,  1,  1, 49, 49, 50,  0,  0, 51,  0,
+    0,  0, 52,  1,  0,  0, 38, 14,  4,  1,  1,  1, 53, 21, 43, 52,
+   54, 21, 35,  1,  0,  0,  0, 55,  0,  0,  0, 56, 57, 58,  0,  0,
+    0,  0,  0, 59,  0, 60,  0,  0,  0,  0, 61, 62,  0,  0, 63,  0,
+    0,  0, 64,  0,  0,  0, 65,  0,  0,  0, 66,  0,  0,  0, 67,  0,
+    0,  0, 68,  0,  0, 69, 70,  0, 71, 72, 73, 74, 75, 76,  0,  0,
+    0, 77,  0,  0,  0, 78, 79,  0,  0,  0,  0, 47,  0,  0,  0, 49,
+    0, 80,  0,  0,  0, 62,  0,  0, 63,  0,  0, 81,  0,  0, 82,  0,
+    0,  0, 83,  0,  0, 19, 84,  0, 62,  0,  0,  0,  0, 49,  1, 85,
+    1, 52, 15, 86, 36, 10, 21, 87,  0, 55,  0,  0,  0,  0, 19, 10,
+    1,  0,  0,  0,  0,  0, 88,  0,  0, 89,  0,  0, 88,  0,  0,  0,
+    0, 78,  0,  0, 87,  9, 12,  4, 90,  8, 91, 47,  0, 58, 50,  0,
+   21,  1, 21, 92, 93,  1,  1,  1,  1, 94, 95, 96, 97,  1, 98, 58,
+   81, 99,100,  4, 58,  0,  0,  0,  0,  0,  0, 19, 50,  0,  0,  0,
+    0,  0,  0, 61,  0,  0,101,102,  0,  0,103,  0,  0,  1,  1, 50,
+    0,  0,  0, 38,  0, 63,  0,  0,  0,  0,  0, 62,  0,  0,104, 68,
+   61,  0,  0,  0, 78,  0,  0,  0,105,106, 58, 38, 81,  0,  0,  0,
+    0,  0,  0,107,  1, 14,  4, 12, 84,  0,  0,  0,  0, 38, 87,  0,
+    0,  0,  0,108,  0,  0,109, 61,  0,110,  0,  0,  0,  1,  0,  0,
+    0,  0, 19, 58,  0,  0,  0, 51,  0,111, 14, 52,112, 41,  0,  0,
+   62,  0,  0, 61,  0,  0,113,  0, 87,  0,  0,  0, 61, 62,  0,  0,
+   62,  0, 89,  0,  0,113,  0,  0,  0,  0,114,  0,  0,  0, 78, 55,
+    0, 38,  1, 58,  1, 58,  0,  0, 63, 89,  0,  0,115,  0,  0,  0,
+   55,  0,  0,  0,  0,115,  0,  0,  0,  0, 61,  0,  0,  0,  0, 79,
+    0, 61,  0,  0,  0,  0, 56,  0, 89, 80,  0,  0, 79,  0,  0,  0,
+    8, 91,  0,  0,  1, 87,  0,  0,116,  0,  0,  0,  0,  0,  0,117,
+    0,118,119,120,121,  0,104,  4,122, 49, 23,  0,  0,  0, 38, 50,
+   38, 58,  0,  0,  1, 87,  1,  1,  1,  1, 39,  1, 48,105, 87,  0,
+    0,  0,  0,  1,  0,  0,  0,123,  4,122,  0,  0,  0,  1,124,  0,
+    0,  0,  0,  0,230,230,230,230,230,232,220,220,220,220,232,216,
+  220,220,220,220,220,202,202,220,220,220,220,202,202,220,220,220,
+    1,  1,  1,  1,  1,220,220,220,220,230,230,230,230,240,230,220,
+  220,220,230,230,230,220,220,  0,230,230,230,220,220,220,220,230,
+  232,220,220,230,233,234,234,233,234,234,233,230,  0,  0,  0,230,
+    0,220,230,230,230,230,220,230,230,230,222,220,230,230,220,220,
+  230,222,228,230, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20,
+   21, 22,  0, 23,  0, 24, 25,  0,230,220,  0, 18, 30, 31, 32,  0,
+    0,  0,  0, 27, 28, 29, 30, 31, 32, 33, 34,230,230,220,220,230,
+  220,230,230,220, 35,  0,  0,  0,  0,  0,230,230,230,  0,  0,230,
+  230,  0,220,230,230,220,  0,  0,  0, 36,  0,  0,230,220,230,230,
+  220,220,230,220,220,230,220,230,220,230,230,  0,  0,220,  0,  0,
+  230,230,  0,230,  0,230,230,230,230,230,  0,  0,  0,220,220,220,
+  230,220,220,220,230,230,  0,220, 27, 28, 29,230,  7,  0,  0,  0,
+    0,  9,  0,  0,  0,230,220,230,230,  0,  0,  0,  0,  0,230,  0,
+    0, 84, 91,  0,  0,  0,  0,  9,  9,  0,  0,  0,  0,  0,  9,  0,
+  103,103,  9,  0,107,107,107,107,118,118,  9,  0,122,122,122,122,
+  220,220,  0,  0,  0,220,  0,220,  0,216,  0,  0,  0,129,130,  0,
+  132,  0,  0,  0,  0,  0,130,130,130,130,  0,  0,130,  0,230,230,
+    9,  0,230,230,  0,  0,220,  0,  0,  0,  0,  7,  0,  9,  9,  0,
+    9,  9,  0,  0,  0,230,  0,  0,  0,228,  0,  0,  0,222,230,220,
+  220,  0,  0,  0,230,  0,  0,220,230,220,  0,220,230,230,230,  0,
+    0,  0,  9,  9,  0,  0,  7,  0,230,  0,  1,  1,  1,  0,  0,  0,
+  230,234,214,220,202,230,230,230,230,230,232,228,228,220,218,230,
+  233,220,230,220,230,230,  1,  1,  1,  1,  1,230,  0,  1,  1,230,
+  220,230,  1,  1,  0,  0,218,228,232,222,224,224,  0,  8,  8,  0,
+    0,  0,  0,220,230,  0,230,230,220,  0,  0,230,  0,  0, 26,  0,
+    0,220,  0,230,230,  1,220,  0,  0,230,220,  0,  0,  0,220,220,
+    0,  0,230,220,  0,  9,  7,  0,  0,  7,  9,  0,  0,  0,  9,  7,
+    6,  6,  0,  0,  0,  0,  1,  0,  0,216,216,  1,  1,  1,  0,  0,
+    0,226,216,216,216,216,216,  0,220,220,220,  0,232,232,220,230,
+  230,230,  7,  0, 16, 17, 17, 33, 17, 49, 17, 17, 84, 97,135,145,
+   26, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
-   17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,177,  0,  1,  2,  3,
-    3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
-    4,  3,  3,  3,  3,  3,  5,  3,  3,  3,  3,  3,  6,  7,  8,  3,
-    3,  3,  3,  3,  9, 10, 11, 12, 13,  3,  3,  3,  3,  3,  3,  3,
-    3, 14,  3, 15,  3,  3,  3,  3,  3,  3, 16, 17, 18, 19, 20, 21,
-    3,  3,  3, 22, 23, 24,  3,  3,  3,  3,  3,  3, 25,  3,  3,  3,
-    3,  3,  3,  3,  3, 26,  3,  3, 27, 28,  0,  1,  0,  0,  0,  0,
-    0,  1,  0,  2,  0,  0,  0,  3,  0,  0,  0,  3,  0,  0,  0,  0,
-    0,  4,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  6,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  8,  9,  0,  0,  0,  0,  0,  0,  9,  0,  9,  0,  0,
-    0,  0,  0,  0,  0, 10, 11, 12, 13,  0,  0, 14, 15, 16,  6,  0,
-   17, 18, 19, 19, 19, 20, 21, 22, 23, 24, 19, 25,  0, 26, 27, 19,
-   19, 28, 29, 30,  0, 31,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,
-    0, 19, 28,  0, 32, 33,  9, 34, 35, 19,  0,  0, 36, 37, 38, 39,
-   40, 19,  0, 41, 42, 43, 44, 31,  0,  1, 45, 42,  0,  0,  0,  0,
-    0, 32, 14, 14,  0,  0,  0,  0, 14,  0,  0, 46, 47, 47, 47, 47,
-   48, 49, 47, 47, 47, 47, 50, 51, 52, 53, 43, 21,  0,  0,  0,  0,
-    0,  0,  0, 54,  6, 55,  0, 14, 19,  1,  0,  0,  0,  0, 56, 57,
-    0,  0,  0,  0,  0, 19, 58, 31,  0,  0,  0,  0,  0,  0,  0, 59,
-   14,  0,  0,  0,  0,  1,  0,  2,  0,  0,  0,  3,  0,  0,  0, 60,
-   61,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  2,  3,
-    0,  4,  5,  0,  0,  6,  0,  0,  0,  7,  0,  0,  0,  1,  1,  0,
-    0,  8,  9,  0,  8,  9,  0,  0,  0,  0,  8,  9, 10, 11, 12,  0,
-    0,  0, 13,  0,  0,  0,  0, 14, 15, 16, 17,  0,  0,  0,  1,  0,
-    0, 18, 19,  0,  0,  0, 20,  0,  0,  0,  1,  1,  1,  1,  0,  1,
-    1,  1,  1,  1,  1,  1,  0,  8, 21,  9,  0,  0, 22,  0,  0,  0,
-    0,  1,  0, 23, 24, 25,  0,  0, 26,  0,  0,  0,  8, 21, 27,  0,
-    1,  0,  0,  1,  1,  1,  1,  0,  1, 28, 29, 30,  0, 31, 32, 20,
-    1,  1,  0,  0,  0,  8, 21,  9,  1,  4,  5,  0,  0,  0, 33,  9,
-    0,  1,  1,  1,  0,  8, 21, 21, 21, 21, 34,  1, 35, 21, 21, 21,
-    9, 36,  0,  0, 37, 38,  1,  0, 39,  0,  0,  0,  1,  0,  1,  0,
-    0,  0,  0,  8, 21,  9,  1,  0,  0,  0, 40,  0,  8, 21, 21, 21,
-   21, 21, 21, 21, 21,  9,  0,  1,  1,  1,  1,  8, 21, 21, 21,  9,
-    0,  0,  0, 41,  0, 42, 43,  0,  0,  0,  1, 44,  0,  0,  0, 45,
-    8,  9,  1,  0,  0,  0,  8, 21, 21, 21,  9,  0,  1,  0,  1,  1,
-    8, 21, 21,  9,  0,  4,  5,  8,  9,  1,  0,  0,  0,  1,  2,  3,
-    4,  5,  6,  7,  7,  8,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
-    9, 10, 11, 11, 11, 11, 12, 13, 13, 13, 13, 14, 15, 16, 17, 18,
-   19, 20, 21, 13, 22, 13, 13, 13, 13, 23, 24, 24, 25, 26, 13, 13,
-   13, 27, 28, 29, 13, 30, 31, 32, 33, 34, 35, 36,  7,  7,  7,  7,
-    7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
-   37,  7, 38, 39,  7, 40,  7,  7,  7, 41, 13, 42,  7,  7, 43,  7,
-   44, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+   17, 17, 17,177,  0,  1,  2,  3,  3,  3,  3,  3,  3,  3,  3,  3,
+    3,  3,  3,  3,  3,  3,  3,  3,  4,  3,  3,  3,  3,  3,  5,  3,
+    3,  3,  3,  3,  6,  7,  8,  3,  3,  3,  3,  3,  9, 10, 11, 12,
+   13,  3,  3,  3,  3,  3,  3,  3,  3, 14,  3, 15,  3,  3,  3,  3,
+    3,  3, 16, 17, 18, 19, 20, 21,  3,  3,  3, 22, 23, 24,  3,  3,
+    3,  3,  3,  3, 25,  3,  3,  3,  3,  3,  3,  3,  3, 26,  3,  3,
+   27, 28,  0,  1,  0,  0,  0,  0,  0,  1,  0,  2,  0,  0,  0,  3,
+    0,  0,  0,  3,  0,  0,  0,  0,  0,  4,  0,  5,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  7,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,  9,  0,  0,  0,
+    0,  0,  0,  9,  0,  9,  0,  0,  0,  0,  0,  0,  0, 10, 11, 12,
+   13,  0,  0, 14, 15, 16,  6,  0, 17, 18, 19, 19, 19, 20, 21, 22,
+   23, 24, 19, 25,  0, 26, 27, 19, 19, 28, 29, 30,  0, 31,  0,  0,
+    0,  8,  0,  0,  0,  0,  0,  0,  0, 19, 28,  0, 32, 33,  9, 34,
+   35, 19,  0,  0, 36, 37, 38, 39, 40, 19,  0, 41, 42, 43, 44, 31,
+    0,  1, 45, 42,  0,  0,  0,  0,  0, 32, 14, 14,  0,  0,  0,  0,
+   14,  0,  0, 46, 47, 47, 47, 47, 48, 49, 47, 47, 47, 47, 50, 51,
+   52, 53, 43, 21,  0,  0,  0,  0,  0,  0,  0, 54,  6, 55,  0, 14,
+   19,  1,  0,  0,  0,  0, 56, 57,  0,  0,  0,  0,  0, 19, 58, 31,
+    0,  0,  0,  0,  0,  0,  0, 59, 14,  0,  0,  0,  0,  1,  0,  2,
+    0,  0,  0,  3,  0,  0,  0, 60, 61,  0,  0,  0,  0,  0,  0,  0,
+    1,  0,  0,  0,  0,  0,  2,  3,  0,  4,  5,  0,  0,  6,  0,  0,
+    0,  7,  0,  0,  0,  1,  1,  0,  0,  8,  9,  0,  8,  9,  0,  0,
+    0,  0,  8,  9, 10, 11, 12,  0,  0,  0, 13,  0,  0,  0,  0, 14,
+   15, 16, 17,  0,  0,  0,  1,  0,  0, 18, 19,  0,  0,  0, 20,  0,
+    0,  0,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  8,
+   21,  9,  0,  0, 22,  0,  0,  0,  0,  1,  0, 23, 24, 25,  0,  0,
+   26,  0,  0,  0,  8, 21, 27,  0,  1,  0,  0,  1,  1,  1,  1,  0,
+    1, 28, 29, 30,  0, 31, 32, 20,  1,  1,  0,  0,  0,  8, 21,  9,
+    1,  4,  5,  0,  0,  0, 33,  9,  0,  1,  1,  1,  0,  8, 21, 21,
+   21, 21, 34,  1, 35, 21, 21, 21,  9, 36,  0,  0, 37, 38,  1,  0,
+   39,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  8, 21,  9,  1,  0,
+    0,  0, 40,  0,  8, 21, 21, 21, 21, 21, 21, 21, 21,  9,  0,  1,
+    1,  1,  1,  8, 21, 21, 21,  9,  0,  0,  0, 41,  0, 42, 43,  0,
+    0,  0,  1, 44,  0,  0,  0, 45,  8,  9,  1,  0,  0,  0,  8, 21,
+   21, 21,  9,  0,  1,  0,  1,  1,  8, 21, 21,  9,  0,  4,  5,  8,
+    9,  1,  0,  0,  0,  1,  2,  3,  4,  5,  6,  7,  7,  8,  7,  7,
+    7,  7,  7,  7,  7,  7,  7,  7,  9, 10, 11, 11, 11, 11, 12, 13,
+   13, 13, 13, 14, 15, 16, 17, 18, 19, 20, 21, 13, 22, 13, 13, 13,
+   13, 23, 24, 24, 25, 26, 13, 13, 13, 27, 28, 29, 13, 30, 31, 32,
+   33, 34, 35, 36,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
+    7,  7,  7,  7,  7,  7,  7,  7, 37,  7, 38, 39,  7, 40,  7,  7,
+    7, 41, 13, 42,  7,  7, 43,  7, 44, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
@@ -3479,221 +3481,221 @@
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
-   13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 45,  0,  0,  1,
-    2,  2,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
-   16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
-   32, 32, 33, 34, 35, 36, 37, 37, 37, 37, 37, 38, 39, 40, 41, 42,
-   43, 44, 45, 46, 47, 48, 49, 50, 51, 52,  2,  2, 53, 54, 55, 56,
-   57, 58, 59, 59, 59, 59, 60, 59, 59, 59, 59, 59, 59, 59, 61, 61,
-   59, 59, 59, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-   74, 75, 76, 77, 78, 59, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+   13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+   13, 13, 13, 13, 45,  0,  0,  1,  2,  2,  2,  3,  4,  5,  6,  7,
+    8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+   24, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 35, 36, 37, 37,
+   37, 37, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+   51, 52,  2,  2, 53, 54, 55, 56, 57, 58, 59, 59, 59, 59, 60, 59,
+   59, 59, 59, 59, 59, 59, 61, 61, 59, 59, 59, 59, 62, 63, 64, 65,
+   66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 59, 70, 70,
    70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-   70, 70, 70, 70, 70, 70, 70, 70, 70, 79, 70, 70, 70, 70, 80, 80,
-   80, 80, 80, 80, 80, 80, 80, 81, 82, 82, 83, 84, 85, 86, 87, 88,
-   89, 90, 91, 92, 93, 94, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+   70, 79, 70, 70, 70, 70, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81,
+   82, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 32, 32,
    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
-   32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 96, 96,
-   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
-   70, 70, 97, 98, 99,100,101,101,102,103,104,105,106,107,108,109,
-  110,111, 96,112,113,114,115,116,117,118,119,119,120,121,122,123,
-  124,125,126,127,128,129,130,131,132, 96,133,134,135,136,137,138,
-  139,140,141,142,143, 96,144,145, 96,146,147,148,149, 96,150,151,
-  152,153,154,155,156, 96,157,158,159,160, 96,161,162,163,164,164,
-  164,164,164,164,164,165,166,164,167, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,168,169,169,
-  169,169,169,169,169,169,170, 96, 96, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96,171,171,171,171,172, 96, 96, 96,173,173,
-  173,173,174,175,176,177, 96, 96, 96, 96,178,179,180,181,182,182,
+   32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+   32, 32, 32, 32, 32, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96, 96, 96, 70, 70, 97, 98, 99,100,101,101,
+  102,103,104,105,106,107,108,109,110,111, 96,112,113,114,115,116,
+  117,118,119,119,120,121,122,123,124,125,126,127,128,129,130,131,
+  132, 96,133,134,135,136,137,138,139,140,141,142,143, 96,144,145,
+   96,146,147,148,149, 96,150,151,152,153,154,155,156, 96,157,158,
+  159,160, 96,161,162,163,164,164,164,164,164,164,164,165,166,164,
+  167, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96,168,169,169,169,169,169,169,169,169,170, 96,
+   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,171,171,
+  171,171,172, 96, 96, 96,173,173,173,173,174,175,176,177, 96, 96,
+   96, 96,178,179,180,181,182,182,182,182,182,182,182,182,182,182,
   182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
-  182,182,182,182,182,182,182,182,182,182,182,182,182,183,182,182,
-  182,182,182,182,184,184,184,185,186, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,187,188,189,
-  190,191,191,192, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96,193,194, 96, 96, 96, 96, 96, 96, 96, 96,
-   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,195,196, 59,197,
-  198,199,200,201,202, 96,203,204,205, 59, 59,206, 59,207,208,208,
-  208,208,208,209, 96, 96, 96, 96, 96, 96, 96, 96,210, 96,211,212,
-  213, 96, 96,214, 96, 96, 96,215, 96, 96, 96, 96, 96,216,217,218,
-  219, 96, 96, 96, 96, 96,220,221,222, 96,223,224, 96, 96,225,226,
-   59,227,228, 96, 59, 59, 59, 59, 59, 59, 59,229,230,231,232,233,
-   59, 59,234,235, 59,236, 96, 96, 96, 96, 96, 96, 96, 96, 70, 70,
-   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,237, 70, 70, 70, 70,
-   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,238, 70,239, 70,
+  182,182,182,182,182,183,182,182,182,182,182,182,184,184,184,185,
+  186, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96,187,188,189,190,191,191,192, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,193,194,
+   96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+   96, 96, 96, 96,195,196, 59,197,198,199,200,201,202, 96,203,204,
+  205, 59, 59,206, 59,207,208,208,208,208,208,209, 96, 96, 96, 96,
+   96, 96, 96, 96,210, 96,211,212,213, 96, 96,214, 96, 96, 96,215,
+   96, 96, 96, 96, 96,216,217,218,219, 96, 96, 96, 96, 96,220,221,
+  222, 96,223,224, 96, 96,225,226, 59,227,228, 96, 59, 59, 59, 59,
+   59, 59, 59,229,230,231,232,233, 59, 59,234,235, 59,236, 96, 96,
+   96, 96, 96, 96, 96, 96, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+   70, 70, 70,237, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+   70, 70, 70, 70,238, 70,239, 70, 70, 70, 70, 70, 70, 70, 70, 70,
    70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,240, 70, 70, 70, 70,
-   70, 70, 70, 70, 70,241, 96, 96, 96, 96, 96, 96, 96, 96, 70, 70,
-   70, 70,242, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 70, 70,
-   70, 70, 70, 70,243, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-   70, 70, 70, 70, 70,244, 96, 96, 96, 96, 96, 96, 96, 96,245, 96,
-  246,247,  0,  1,  2,  2,  0,  1,  2,  2,  2,  3,  4,  5,  0,  0,
-    0,  0,  0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,  0,  0,  0,
-   19,  0, 19,  0,  0,  0,  0,  0, 26, 26,  1,  1,  1,  1,  9,  9,
-    9,  9,  0,  9,  9,  9,  2,  2,  9,  9,  9,  9,  0,  9,  2,  2,
-    2,  2,  9,  0,  9,  0,  9,  9,  9,  2,  9,  2,  9,  9,  9,  9,
-    2,  9,  9,  9, 55, 55, 55, 55, 55, 55,  6,  6,  6,  6,  6,  1,
-    1,  6,  2,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  2, 14,
-   14, 14, 14, 14, 14, 14, 14, 14, 14,  2,  2,  2,  2, 14, 14,  2,
-    2,  2,  3,  3,  3,  3,  3,  0,  3,  3,  0,  3,  3,  3,  3,  3,
-    3,  0,  3,  3,  3,  1,  1,  1,  3,  3,  1,  3,  3,  3, 37, 37,
-   37, 37, 37, 37,  2, 37, 37, 37, 37,  2,  2, 37, 37, 37, 38, 38,
-   38, 38, 38, 38,  2,  2, 64, 64, 64, 64, 64, 64, 64,  2,  2, 64,
-   64, 64, 90, 90, 90, 90, 90, 90,  2,  2, 90, 90, 90,  2, 95, 95,
-   95, 95,  2,  2, 95,  2,  3,  3,  3,  2,  3,  3,  2,  2,  3,  3,
-    0,  3,  7,  7,  7,  7,  7,  1,  1,  1,  1,  7,  7,  7,  0,  0,
-    7,  7,  5,  5,  5,  5,  2,  5,  5,  5,  5,  2,  2,  5,  5,  2,
-    5,  5,  5,  2,  5,  2,  2,  2,  5,  5,  5,  5,  2,  2,  5,  5,
-    5,  2,  2,  2,  2,  5,  5,  5,  2,  5,  2, 11, 11, 11, 11, 11,
-   11,  2,  2,  2,  2, 11, 11,  2,  2, 11, 11, 11, 11, 11, 11,  2,
-   11, 11,  2, 11, 11,  2, 11, 11,  2,  2,  2, 11,  2,  2, 11,  2,
-   11,  2,  2,  2, 11, 11,  2, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    2, 10, 10,  2, 10, 10, 10, 10,  2,  2, 10,  2,  2,  2,  2,  2,
-   10, 10,  2, 21, 21, 21, 21, 21, 21, 21, 21,  2,  2, 21, 21,  2,
-   21, 21, 21, 21,  2,  2, 21, 21,  2, 21,  2,  2, 21, 21,  2,  2,
-   22, 22,  2, 22, 22, 22, 22, 22, 22,  2, 22,  2, 22, 22, 22, 22,
-    2,  2,  2, 22, 22,  2,  2,  2,  2, 22, 22,  2,  2,  2, 22, 22,
-   22, 22, 23, 23, 23, 23, 23,  2, 23, 23, 23, 23,  2,  2,  2, 23,
-   23,  2, 23, 23, 23,  2,  2, 23,  2,  2,  2,  2, 23, 23,  2,  2,
-    2, 23, 16, 16, 16, 16, 16,  2, 16, 16,  2, 16, 16, 16, 16, 16,
-    2,  2,  2, 16, 16,  2,  2,  2, 16, 16, 20, 20, 20, 20, 20,  2,
-   20, 20,  2,  2, 20, 20,  2, 36, 36, 36, 36, 36, 36, 36, 36, 36,
-   36,  2,  2,  2, 36, 36, 36, 36,  2, 36,  2, 36,  2,  2,  2,  2,
-   36,  2,  2,  2,  2, 36, 36,  2, 36,  2, 36,  2,  2,  2,  2, 24,
-   24, 24, 24, 24, 24, 24, 24, 24, 24,  2,  2,  2,  2,  0,  2, 18,
-   18,  2, 18,  2, 18, 18, 18, 18, 18,  2, 18, 18, 18, 18,  2, 18,
-    2, 18, 18, 18,  2,  2, 18,  2, 18,  2, 25, 25, 25, 25,  2, 25,
-   25, 25, 25,  2,  2,  2, 25,  2, 25, 25, 25,  0,  0,  0,  0, 25,
-   25,  2, 33, 33, 33, 33,  8,  8,  8,  8,  8,  8,  2,  8,  2,  8,
-    2,  2,  8,  8,  8,  0, 12, 12, 12, 12, 30, 30, 30, 30, 30,  2,
-   30, 30, 30, 30,  2,  2, 30, 30, 30,  2,  2, 30, 30, 30, 30,  2,
-    2,  2, 29, 29, 29, 29, 29, 29,  2,  2, 28, 28, 28, 28, 34, 34,
-   34, 34, 34,  2,  2,  2, 35, 35, 35, 35, 35, 35, 35,  0,  0,  0,
-   35, 35, 35,  2,  2,  2, 45, 45, 45, 45, 45, 45,  2,  2,  2,  2,
-    2, 45, 44, 44, 44, 44, 44,  0,  0,  2, 43, 43, 43, 43, 46, 46,
-   46, 46, 46,  2, 46, 46, 31, 31, 31, 31, 31, 31,  2,  2, 32, 32,
-    0,  0, 32,  0, 32, 32, 32, 32, 32, 32, 32, 32,  2,  2, 32,  2,
-    2,  2, 32, 32, 32,  2, 28, 28,  2,  2, 48, 48, 48, 48, 48, 48,
-   48,  2, 48,  2,  2,  2, 52, 52, 52, 52, 52, 52,  2,  2, 52,  2,
-    2,  2, 58, 58, 58, 58, 58, 58,  2,  2, 58, 58, 58,  2,  2,  2,
-   58, 58, 54, 54, 54, 54,  2,  2, 54, 54, 91, 91, 91, 91, 91, 91,
-   91,  2, 91,  2,  2, 91, 91, 91,  2,  2,  1,  1,  1,  2, 62, 62,
-   62, 62, 62,  2,  2,  2, 62, 62, 62,  2, 76, 76, 76, 76, 93, 93,
-   93, 93, 70, 70, 70, 70,  2,  2,  2, 70, 70, 70,  2,  2,  2, 70,
-   70, 70, 73, 73, 73, 73,  6,  2,  2,  2,  8,  8,  8,  2,  2,  8,
-    8,  8,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  0,  1,
-    0,  0,  1,  1,  0,  2, 19, 19,  9,  9,  9,  9,  9,  6, 19,  9,
-    9,  9,  9,  9, 19, 19,  9,  9,  9, 19,  6, 19, 19, 19, 19, 19,
-   19,  9,  9,  9,  2,  2,  2,  9,  2,  9,  2,  9,  9,  9,  1,  1,
-    0,  0,  0,  2,  0,  0,  0, 19,  2,  2,  0,  0,  0, 19,  0,  0,
-    0,  2, 19,  2,  2,  2,  0,  2,  2,  2,  1,  2,  2,  2,  0,  0,
-    9,  0,  0,  0, 19, 19, 27, 27, 27, 27,  2,  2,  0,  0,  0,  0,
-    2,  0, 56, 56, 56, 56,  2, 55, 55, 55, 61, 61, 61, 61,  2,  2,
-    2, 61, 61,  2,  2,  2,  0,  0,  2,  2, 13, 13, 13, 13, 13, 13,
-    2, 13, 13, 13,  2,  2,  0, 13,  0, 13,  0, 13, 13, 13, 13, 13,
-    1,  1,  1,  1, 12, 12,  2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
-   15,  2,  2,  1,  1,  0,  0, 15, 15, 15,  0, 17, 17, 17, 17, 17,
-   17, 17, 17, 17, 17,  0,  2, 26, 26, 26, 26, 26, 26, 26,  2, 12,
-   12, 12, 12, 12, 12,  2, 12, 12, 12,  0, 39, 39, 39, 39, 39,  2,
-    2,  2, 39, 39, 39,  2, 86, 86, 86, 86, 77, 77, 77, 77, 79, 79,
-   79, 79, 19, 19, 19,  2, 19, 19,  2, 19,  2, 19, 19, 19, 19, 19,
-    2,  2,  2,  2, 19, 19, 60, 60, 60, 60, 60,  2,  2,  2, 65, 65,
-   65, 65, 75, 75, 75, 75, 75, 75,  2,  2,  2,  2, 75, 75, 69, 69,
-   69, 69, 69, 69,  0, 69, 74, 74, 74, 74,  2,  2,  2, 74, 12,  2,
-    2,  2, 84, 84, 84, 84, 84, 84,  2,  0, 84, 84,  2,  2,  2,  2,
-   84, 84, 33, 33, 33,  2, 68, 68, 68, 68, 68, 68, 68,  2, 68, 68,
-    2,  2, 92, 92, 92, 92, 92, 92, 92,  2,  2,  2,  2, 92, 87, 87,
-   87, 87, 87, 87, 87,  2, 19,  9, 19, 19, 19, 19,  0,  0, 87, 87,
-    2,  2,  2,  2,  2, 12,  2,  2,  2,  4, 14,  2, 14,  2, 14, 14,
-    2, 14, 14,  2, 14, 14,  2,  2,  2,  3,  3,  3,  0,  0,  2,  2,
-    3,  3,  1,  1,  6,  6,  3,  2,  3,  3,  3,  2,  2,  0,  2,  0,
-    0,  0,  0,  0, 17, 17, 17, 17,  0,  0,  2,  2, 12, 12, 49, 49,
-   49, 49,  2, 49, 49, 49, 49, 49, 49,  2, 49, 49,  2, 49, 49, 49,
-    2,  2,  9,  2,  2,  2,  0,  1,  2,  2, 71, 71, 71, 71, 71,  2,
-    2,  2, 67, 67, 67, 67, 67,  2,  2,  2, 42, 42, 42, 42,  2, 42,
-   42, 42, 41, 41, 41, 41, 41, 41, 41,  2,118,118,118,118,118,118,
-  118,  2, 53, 53, 53, 53, 53, 53,  2, 53, 59, 59, 59, 59, 59, 59,
-    2,  2, 40, 40, 40, 40, 51, 51, 51, 51, 50, 50, 50, 50, 50, 50,
-    2,  2,135,135,135,135,106,106,106,106,104,104,104,104,  2,  2,
-    2,104,161,161,161,161,161,161,161,  2,161,161,  2,161,161,  2,
-    2,  2,110,110,110,110,110,110,110,  2,110,110,  2,  2, 19,  2,
-   19, 19, 47, 47, 47, 47, 47, 47,  2,  2, 47,  2, 47, 47, 47, 47,
-    2, 47, 47,  2,  2,  2, 47,  2,  2, 47, 81, 81, 81, 81, 81, 81,
-    2, 81,120,120,120,120,116,116,116,116,116,116,116,  2,  2,  2,
-    2,116,128,128,128,128,128,128,128,  2,128,128,  2,  2,  2,  2,
-    2,128, 66, 66, 66, 66,  2,  2,  2, 66, 72, 72, 72, 72, 72, 72,
-    2,  2,  2,  2,  2, 72, 98, 98, 98, 98, 97, 97, 97, 97,  2,  2,
-   97, 97, 57, 57, 57, 57,  2, 57, 57,  2,  2, 57, 57, 57, 57, 57,
-    2,  2, 57, 57, 57,  2,  2,  2,  2, 57, 57,  2,  2,  2, 88, 88,
-   88, 88,117,117,117,117,112,112,112,112,112,112,112,  2,  2,  2,
-    2,112, 78, 78, 78, 78, 78, 78,  2,  2,  2, 78, 78, 78, 83, 83,
-   83, 83, 83, 83,  2,  2, 82, 82, 82, 82, 82, 82, 82,  2,122,122,
-  122,122,122,122,  2,  2,  2,122,122,122,122,  2,  2,  2, 89, 89,
-   89, 89, 89,  2,  2,  2,130,130,130,130,130,130,130,  2,  2,  2,
-  130,130,144,144,144,144,144,144,  2,  2,156,156,156,156,156,156,
-    2,156,156,156,  2,  2,  2,  3,  3,  3,147,147,147,147,148,148,
-  148,148,148,148,  2,  2,158,158,158,158,158,158,  2,  2,153,153,
-  153,153,149,149,149,149,149,149,149,  2, 94, 94, 94, 94, 94, 94,
-    2,  2,  2,  2, 94, 94,  2,  2,  2, 94, 85, 85, 85, 85, 85, 85,
-   85,  2,  2, 85,  2,  2,101,101,101,101,101,  2,  2,  2,101,101,
-    2,  2, 96, 96, 96, 96, 96,  2, 96, 96,111,111,111,111,111,111,
-  111,  2,100,100,100,100,108,108,108,108,108,108,  2,108,108,108,
-    2,  2,129,129,129,129,129,129,129,  2,129,  2,129,129,129,129,
-    2,129,129,129,  2,  2,109,109,109,109,109,109,109,  2,109,109,
-    2,  2,107,107,107,107,  2,107,107,107,107,  2,  2,107,107,  2,
-  107,107,107,107,  2,  1,107,107,  2,  2,107,  2,  2,  2,  2,  2,
-    2,107,  2,  2,107,107,137,137,137,137,  2,137,137,137,137,137,
-    2,  2,124,124,124,124,124,124,  2,  2,123,123,123,123,123,123,
-    2,  2,114,114,114,114,114,  2,  2,  2,114,114,  2,  2,102,102,
-  102,102,102,102,  2,  2,126,126,126,126,126,126,126,  2,  2,126,
-  126,126,142,142,142,142,125,125,125,125,125,125,125,  2,  2,  2,
-    2,125,154,154,154,154,154,154,154,  2,  2,154,  2,  2,  2,154,
-  154,  2,154,154,  2,154,154,  2,  2,154,154,154,  2,  2,150,150,
-  150,150,  2,  2,150,150,150,  2,  2,  2,141,141,141,141,140,140,
-  140,140,140,140,140,  2,121,121,121,121,121,  2,  2,  2,  7,  7,
-    2,  2,133,133,133,133,133,  2,133,133,133,133,133,  2,133,133,
-    2,  2,133,  2,  2,  2,134,134,134,134,  2,  2,134,134,  2,134,
-  134,134,134,134,134,  2,138,138,138,138,138,138,138,  2,138,138,
-    2,138,  2,  2,138,  2,138,138,  2,  2,143,143,143,143,143,143,
-    2,143,143,  2,143,143,143,143,143,  2,143,  2,  2,  2,143,143,
-    2,  2,145,145,145,145,145,  2,  2,  2,163,163,163,163,163,  2,
-  163,163,163,163,163,  2,  2,  2,163,163,163,163,  2,  2, 86,  2,
-    2,  2, 63, 63, 63, 63, 63, 63,  2,  2, 63, 63, 63,  2, 63,  2,
-    2,  2,157,157,157,157,157,157,157,  2, 80, 80, 80, 80, 80, 80,
-    2,  2,127,127,127,127,127,127,127,  2, 79,  2,  2,  2,115,115,
-  115,115,115,115,115,  2,115,115,  2,  2,  2,  2,115,115,159,159,
-  159,159,159,159,159,  2,159,159,  2,  2,103,103,103,103,103,103,
-    2,  2,119,119,119,119,119,119,  2,  2,119,119,  2,119,  2,119,
-  119,119,146,146,146,146,146,146,146,  2, 99, 99, 99, 99, 99, 99,
-   99,  2,  2,  2,  2, 99,136,139, 13, 13,155,  2,  2,  2,136,136,
-  136,136,155,155,155,155,155,155,  2,  2,136,  2,  2,  2,  2, 17,
-   17, 17,  2, 17, 17,  2, 17, 15, 15, 15, 17, 17, 17,  2,  2,  2,
-   15,  2,  2, 17,  2,  2,139,139,139,139,105,105,105,105,105,105,
-  105,  2,105,  2,  2,  2,105,105,  2,  2,  1,  1,  2,  2,  0,  0,
-    0,  1,  0,  1,  1,  1,  0,  0,  1,  1,  2,  2,  0,  2,  2,  0,
-    0,  2,  0,  2,  0,  2,131,131,131,131,  2,  2,  2,131,  2,131,
-  131,131, 56, 56, 56,  2, 56,  2,  2, 56, 56, 56,  2, 56, 56,  2,
-   56, 56,  6,  6,  2,  2,  2,  2,  2,  6,151,151,151,151,151,  2,
-    2,  2,151,151,  2,  2,  2,  2,151,151,160,160,160,160,160,160,
-  160,  2,152,152,152,152,152,152,  2,  2,  2,  2,  2,152,164,164,
-  164,164,164,164,  2,  2,  2, 30, 30,  2,113,113,113,113,113,  2,
-    2,113,113,113,113,  2,132,132,132,132,132,132,  2,  2,  2,  2,
-  132,132,  2,  3,  3,  2,  3,  2,  2,  3,  2,  3,  2,  3,  2,  2,
-    3,  2,  3,  2,  3,  2,  3,  3,  2,  3, 15,  0,  0,  2, 13,  2,
-    2,  2, 13, 13, 13,  2,  2,  0,  2,  2,  0,  1,  2,  3,  4,  5,
-    6,  7,  8,  9,  9,  9,  9, 10,  9, 11, 12, 13,  9,  9,  9, 14,
-    9,  9, 15,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
+   70, 70, 70,240, 70, 70, 70, 70, 70, 70, 70, 70, 70,241, 70, 70,
+   70, 70,242, 96, 96, 96, 70, 70, 70, 70,243, 96, 96, 96, 96, 96,
+   96, 96, 96, 96, 96, 96, 70, 70, 70, 70, 70, 70,244, 70, 70, 70,
+   70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,245, 96, 96,
+   96, 96, 96, 96, 96, 96,246, 96,247,248,  0,  1,  2,  2,  0,  1,
+    2,  2,  2,  3,  4,  5,  0,  0,  0,  0,  0, 19, 19, 19, 19, 19,
+   19, 19, 19, 19, 19,  0,  0,  0, 19,  0, 19,  0,  0,  0,  0,  0,
+   26, 26,  1,  1,  1,  1,  9,  9,  9,  9,  0,  9,  9,  9,  2,  2,
+    9,  9,  9,  9,  0,  9,  2,  2,  2,  2,  9,  0,  9,  0,  9,  9,
+    9,  2,  9,  2,  9,  9,  9,  9,  2,  9,  9,  9, 55, 55, 55, 55,
+   55, 55,  6,  6,  6,  6,  6,  1,  1,  6,  2,  4,  4,  4,  4,  4,
+    4,  4,  4,  4,  4,  2,  2, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+   14,  2,  2,  2,  2, 14, 14,  2,  2,  2,  3,  3,  3,  3,  3,  0,
+    3,  3,  0,  3,  3,  3,  3,  3,  3,  0,  3,  3,  3,  1,  1,  1,
+    3,  3,  1,  3,  3,  3, 37, 37, 37, 37, 37, 37,  2, 37, 37, 37,
+   37,  2,  2, 37, 37, 37, 38, 38, 38, 38, 38, 38,  2,  2, 64, 64,
+   64, 64, 64, 64, 64,  2,  2, 64, 64, 64, 90, 90, 90, 90, 90, 90,
+    2,  2, 90, 90, 90,  2, 95, 95, 95, 95,  2,  2, 95,  2,  3,  3,
+    3,  2,  3,  3,  2,  2,  3,  3,  0,  3,  7,  7,  7,  7,  7,  1,
+    1,  1,  1,  7,  7,  7,  0,  0,  7,  7,  5,  5,  5,  5,  2,  5,
+    5,  5,  5,  2,  2,  5,  5,  2,  5,  5,  5,  2,  5,  2,  2,  2,
+    5,  5,  5,  5,  2,  2,  5,  5,  5,  2,  2,  2,  2,  5,  5,  5,
+    2,  5,  2, 11, 11, 11, 11, 11, 11,  2,  2,  2,  2, 11, 11,  2,
+    2, 11, 11, 11, 11, 11, 11,  2, 11, 11,  2, 11, 11,  2, 11, 11,
+    2,  2,  2, 11,  2,  2, 11,  2, 11,  2,  2,  2, 11, 11,  2, 10,
+   10, 10, 10, 10, 10, 10, 10, 10,  2, 10, 10,  2, 10, 10, 10, 10,
+    2,  2, 10,  2,  2,  2,  2,  2, 10, 10,  2, 21, 21, 21, 21, 21,
+   21, 21, 21,  2,  2, 21, 21,  2, 21, 21, 21, 21,  2,  2, 21, 21,
+    2, 21,  2,  2, 21, 21,  2,  2, 22, 22,  2, 22, 22, 22, 22, 22,
+   22,  2, 22,  2, 22, 22, 22, 22,  2,  2,  2, 22, 22,  2,  2,  2,
+    2, 22, 22,  2,  2,  2, 22, 22, 22, 22, 23, 23, 23, 23, 23,  2,
+   23, 23, 23, 23,  2,  2,  2, 23, 23,  2, 23, 23, 23,  2,  2, 23,
+    2,  2,  2,  2, 23, 23,  2,  2,  2, 23, 16, 16, 16, 16, 16,  2,
+   16, 16,  2, 16, 16, 16, 16, 16,  2,  2,  2, 16, 16,  2,  2,  2,
+   16, 16, 20, 20, 20, 20, 20,  2, 20, 20,  2,  2, 20, 20,  2, 36,
+   36, 36, 36, 36, 36, 36, 36, 36, 36,  2,  2,  2, 36, 36, 36, 36,
+    2, 36,  2, 36,  2,  2,  2,  2, 36,  2,  2,  2,  2, 36, 36,  2,
+   36,  2, 36,  2,  2,  2,  2, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+   24,  2,  2,  2,  2,  0,  2, 18, 18,  2, 18,  2, 18, 18, 18, 18,
+   18,  2, 18, 18, 18, 18,  2, 18,  2, 18, 18, 18,  2,  2, 18,  2,
+   18,  2, 25, 25, 25, 25,  2, 25, 25, 25, 25,  2,  2,  2, 25,  2,
+   25, 25, 25,  0,  0,  0,  0, 25, 25,  2, 33, 33, 33, 33,  8,  8,
+    8,  8,  8,  8,  2,  8,  2,  8,  2,  2,  8,  8,  8,  0, 12, 12,
+   12, 12, 30, 30, 30, 30, 30,  2, 30, 30, 30, 30,  2,  2, 30, 30,
+   30,  2,  2, 30, 30, 30, 30,  2,  2,  2, 29, 29, 29, 29, 29, 29,
+    2,  2, 28, 28, 28, 28, 34, 34, 34, 34, 34,  2,  2,  2, 35, 35,
+   35, 35, 35, 35, 35,  0,  0,  0, 35, 35, 35,  2,  2,  2, 45, 45,
+   45, 45, 45, 45,  2,  2,  2,  2,  2, 45, 44, 44, 44, 44, 44,  0,
+    0,  2, 43, 43, 43, 43, 46, 46, 46, 46, 46,  2, 46, 46, 31, 31,
+   31, 31, 31, 31,  2,  2, 32, 32,  0,  0, 32,  0, 32, 32, 32, 32,
+   32, 32, 32, 32,  2,  2, 32,  2,  2,  2, 32, 32, 32,  2, 28, 28,
+    2,  2, 48, 48, 48, 48, 48, 48, 48,  2, 48,  2,  2,  2, 52, 52,
+   52, 52, 52, 52,  2,  2, 52,  2,  2,  2, 58, 58, 58, 58, 58, 58,
+    2,  2, 58, 58, 58,  2,  2,  2, 58, 58, 54, 54, 54, 54,  2,  2,
+   54, 54, 91, 91, 91, 91, 91, 91, 91,  2, 91,  2,  2, 91, 91, 91,
+    2,  2,  1,  1,  1,  2, 62, 62, 62, 62, 62,  2,  2,  2, 62, 62,
+   62,  2, 76, 76, 76, 76, 93, 93, 93, 93, 70, 70, 70, 70,  2,  2,
+    2, 70, 70, 70,  2,  2,  2, 70, 70, 70, 73, 73, 73, 73,  6,  2,
+    2,  2,  8,  8,  8,  2,  2,  8,  8,  8,  1,  1,  1,  0,  1,  0,
+    1,  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,  1,  0,  2, 19, 19,
+    9,  9,  9,  9,  9,  6, 19,  9,  9,  9,  9,  9, 19, 19,  9,  9,
+    9, 19,  6, 19, 19, 19, 19, 19, 19,  9,  9,  9,  2,  2,  2,  9,
+    2,  9,  2,  9,  9,  9,  1,  1,  0,  0,  0,  2,  0,  0,  0, 19,
+    2,  2,  0,  0,  0, 19,  0,  0,  0,  2, 19,  2,  2,  2,  0,  2,
+    2,  2,  1,  2,  2,  2,  0,  0,  9,  0,  0,  0, 19, 19, 27, 27,
+   27, 27,  2,  2,  0,  0,  0,  0,  2,  0, 56, 56, 56, 56,  2, 55,
+   55, 55, 61, 61, 61, 61,  2,  2,  2, 61, 61,  2,  2,  2,  0,  0,
+    2,  2, 13, 13, 13, 13, 13, 13,  2, 13, 13, 13,  2,  2,  0, 13,
+    0, 13,  0, 13, 13, 13, 13, 13,  1,  1,  1,  1, 12, 12,  2, 15,
+   15, 15, 15, 15, 15, 15, 15, 15, 15,  2,  2,  1,  1,  0,  0, 15,
+   15, 15,  0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,  0,  2, 26,
+   26, 26, 26, 26, 26, 26,  2, 12, 12, 12, 12, 12, 12,  2, 12, 12,
+   12,  0, 39, 39, 39, 39, 39,  2,  2,  2, 39, 39, 39,  2, 86, 86,
+   86, 86, 77, 77, 77, 77, 79, 79, 79, 79, 19, 19, 19,  2, 19, 19,
+    2, 19,  2, 19, 19, 19, 19, 19,  2,  2,  2,  2, 19, 19, 60, 60,
+   60, 60, 60,  2,  2,  2, 65, 65, 65, 65, 75, 75, 75, 75, 75, 75,
+    2,  2,  2,  2, 75, 75, 69, 69, 69, 69, 69, 69,  0, 69, 74, 74,
+   74, 74,  2,  2,  2, 74, 12,  2,  2,  2, 84, 84, 84, 84, 84, 84,
+    2,  0, 84, 84,  2,  2,  2,  2, 84, 84, 33, 33, 33,  2, 68, 68,
+   68, 68, 68, 68, 68,  2, 68, 68,  2,  2, 92, 92, 92, 92, 92, 92,
+   92,  2,  2,  2,  2, 92, 87, 87, 87, 87, 87, 87, 87,  2, 19,  9,
+   19, 19, 19, 19,  0,  0, 87, 87,  2,  2,  2,  2,  2, 12,  2,  2,
+    2,  4, 14,  2, 14,  2, 14, 14,  2, 14, 14,  2, 14, 14,  2,  2,
+    2,  3,  3,  3,  0,  0,  2,  2,  3,  3,  1,  1,  6,  6,  3,  2,
+    3,  3,  3,  2,  2,  0,  2,  0,  0,  0,  0,  0, 17, 17, 17, 17,
+    0,  0,  2,  2, 12, 12, 49, 49, 49, 49,  2, 49, 49, 49, 49, 49,
+   49,  2, 49, 49,  2, 49, 49, 49,  2,  2,  9,  2,  2,  2,  0,  1,
+    2,  2, 71, 71, 71, 71, 71,  2,  2,  2, 67, 67, 67, 67, 67,  2,
+    2,  2, 42, 42, 42, 42,  2, 42, 42, 42, 41, 41, 41, 41, 41, 41,
+   41,  2,118,118,118,118,118,118,118,  2, 53, 53, 53, 53, 53, 53,
+    2, 53, 59, 59, 59, 59, 59, 59,  2,  2, 40, 40, 40, 40, 51, 51,
+   51, 51, 50, 50, 50, 50, 50, 50,  2,  2,135,135,135,135,106,106,
+  106,106,104,104,104,104,  2,  2,  2,104,161,161,161,161,161,161,
+  161,  2,161,161,  2,161,161,  2,  2,  2,110,110,110,110,110,110,
+  110,  2,110,110,  2,  2, 19,  2, 19, 19, 47, 47, 47, 47, 47, 47,
+    2,  2, 47,  2, 47, 47, 47, 47,  2, 47, 47,  2,  2,  2, 47,  2,
+    2, 47, 81, 81, 81, 81, 81, 81,  2, 81,120,120,120,120,116,116,
+  116,116,116,116,116,  2,  2,  2,  2,116,128,128,128,128,128,128,
+  128,  2,128,128,  2,  2,  2,  2,  2,128, 66, 66, 66, 66,  2,  2,
+    2, 66, 72, 72, 72, 72, 72, 72,  2,  2,  2,  2,  2, 72, 98, 98,
+   98, 98, 97, 97, 97, 97,  2,  2, 97, 97, 57, 57, 57, 57,  2, 57,
+   57,  2,  2, 57, 57, 57, 57, 57,  2,  2, 57, 57, 57,  2,  2,  2,
+    2, 57, 57,  2,  2,  2, 88, 88, 88, 88,117,117,117,117,112,112,
+  112,112,112,112,112,  2,  2,  2,  2,112, 78, 78, 78, 78, 78, 78,
+    2,  2,  2, 78, 78, 78, 83, 83, 83, 83, 83, 83,  2,  2, 82, 82,
+   82, 82, 82, 82, 82,  2,122,122,122,122,122,122,  2,  2,  2,122,
+  122,122,122,  2,  2,  2, 89, 89, 89, 89, 89,  2,  2,  2,130,130,
+  130,130,130,130,130,  2,  2,  2,130,130,144,144,144,144,144,144,
+    2,  2,156,156,156,156,156,156,  2,156,156,156,  2,  2,  2,  3,
+    3,  3,147,147,147,147,148,148,148,148,148,148,  2,  2,158,158,
+  158,158,158,158,  2,  2,153,153,153,153,149,149,149,149,149,149,
+  149,  2, 94, 94, 94, 94, 94, 94,  2,  2,  2,  2, 94, 94,  2,  2,
+    2, 94, 85, 85, 85, 85, 85, 85, 85,  2,  2, 85,  2,  2,101,101,
+  101,101,101,  2,  2,  2,101,101,  2,  2, 96, 96, 96, 96, 96,  2,
+   96, 96,111,111,111,111,111,111,111,  2,100,100,100,100,108,108,
+  108,108,108,108,  2,108,108,108,  2,  2,129,129,129,129,129,129,
+  129,  2,129,  2,129,129,129,129,  2,129,129,129,  2,  2,109,109,
+  109,109,109,109,109,  2,109,109,  2,  2,107,107,107,107,  2,107,
+  107,107,107,  2,  2,107,107,  2,107,107,107,107,  2,  1,107,107,
+    2,  2,107,  2,  2,  2,  2,  2,  2,107,  2,  2,107,107,137,137,
+  137,137,  2,137,137,137,137,137,  2,  2,124,124,124,124,124,124,
+    2,  2,123,123,123,123,123,123,  2,  2,114,114,114,114,114,  2,
+    2,  2,114,114,  2,  2,102,102,102,102,102,102,  2,  2,126,126,
+  126,126,126,126,126,  2,  2,126,126,126,142,142,142,142,125,125,
+  125,125,125,125,125,  2,  2,  2,  2,125,154,154,154,154,154,154,
+  154,  2,  2,154,  2,  2,  2,154,154,  2,154,154,  2,154,154,  2,
+    2,154,154,154,  2,  2,150,150,150,150,  2,  2,150,150,150,  2,
+    2,  2,141,141,141,141,140,140,140,140,140,140,140,  2,121,121,
+  121,121,121,  2,  2,  2,  7,  7,  2,  2,133,133,133,133,133,  2,
+  133,133,133,133,133,  2,133,133,  2,  2,133,  2,  2,  2,134,134,
+  134,134,  2,  2,134,134,  2,134,134,134,134,134,134,  2,138,138,
+  138,138,138,138,138,  2,138,138,  2,138,  2,  2,138,  2,138,138,
+    2,  2,143,143,143,143,143,143,  2,143,143,  2,143,143,143,143,
+  143,  2,143,  2,  2,  2,143,143,  2,  2,145,145,145,145,145,  2,
+    2,  2,163,163,163,163,163,  2,163,163,163,163,163,  2,  2,  2,
+  163,163,163,163,  2,  2, 86,  2,  2,  2, 63, 63, 63, 63, 63, 63,
+    2,  2, 63, 63, 63,  2, 63,  2,  2,  2,157,157,157,157,157,157,
+  157,  2, 80, 80, 80, 80, 80, 80,  2,  2,127,127,127,127,127,127,
+  127,  2, 79,  2,  2,  2,115,115,115,115,115,115,115,  2,115,115,
+    2,  2,  2,  2,115,115,159,159,159,159,159,159,159,  2,159,159,
+    2,  2,103,103,103,103,103,103,  2,  2,119,119,119,119,119,119,
+    2,  2,119,119,  2,119,  2,119,119,119,146,146,146,146,146,146,
+  146,  2, 99, 99, 99, 99, 99, 99, 99,  2,  2,  2,  2, 99,136,139,
+   13, 13,155,  2,  2,  2,136,136,136,136,155,155,155,155,155,155,
+    2,  2,136,  2,  2,  2,  2, 17, 17, 17,  2, 17, 17,  2, 17, 15,
+   15, 15, 17, 17, 17,  2,  2,  2, 15,  2,  2, 17,  2,  2,139,139,
+  139,139,105,105,105,105,105,105,105,  2,105,  2,  2,  2,105,105,
+    2,  2,  1,  1,  2,  2,  0,  0,  0,  1,  0,  1,  1,  1,  0,  0,
+    1,  1,  2,  2,  0,  2,  2,  0,  0,  2,  0,  2,  0,  2,131,131,
+  131,131,  2,  2,  2,131,  2,131,131,131, 56, 56, 56,  2, 56,  2,
+    2, 56, 56, 56,  2, 56, 56,  2, 56, 56,  6,  6,  2,  2,  2,  2,
+    2,  6,151,151,151,151,151,  2,  2,  2,151,151,  2,  2,  2,  2,
+  151,151,160,160,160,160,160,160,160,  2,152,152,152,152,152,152,
+    2,  2,  2,  2,  2,152,164,164,164,164,164,164,  2,  2,  2, 30,
+   30,  2,113,113,113,113,113,  2,  2,113,113,113,113,  2,132,132,
+  132,132,132,132,  2,  2,  2,  2,132,132,  2,  3,  3,  2,  3,  2,
+    2,  3,  2,  3,  2,  3,  2,  2,  3,  2,  3,  2,  3,  2,  3,  3,
+    2,  3, 15,  0,  0,  2, 13,  2,  2,  2, 13, 13, 13,  2,  2,  0,
+    2,  2,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  9,  9,  9, 10,
+    9, 11, 12, 13,  9,  9,  9, 14,  9,  9, 15,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
-    9,  9,  9,  9,  9,  9, 16, 17,  9,  9,  9,  9,  9,  9,  9,  9,
-    9,  9, 18, 19, 20,  9, 21,  9,  9,  9,  9,  9,  9,  9,  9,  9,
+    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 16, 17,
+    9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 18, 19, 20,  9, 21,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
-    9,  9, 22,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
+    9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 22,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
@@ -3702,60 +3704,60 @@
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
-    9,  9,  9,  9,  9,  9, 23, 24,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,
-    0,  0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 23,  0,  0, 24,
-   25, 26, 27, 28, 29, 30,  0,  0, 31, 32,  0, 33,  0, 34,  0, 35,
-    0,  0,  0,  0, 36, 37, 38, 39,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 40,  0,  0,  0,  0,  0,
-    0,  0,  0,  0, 41, 42,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 43, 44,  0, 45,  0,  0,
-    0,  0,  0,  0, 46, 47,  0,  0,  0,  0,  0, 48,  0, 49,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 50, 51,  0,  0,
-    0, 52,  0,  0, 53,  0,  0,  0,  0,  0,  0,  0, 54,  0,  0,  0,
-    0,  0,  0,  0, 55,  0,  0,  0,  0,  0,  0,  0, 56,  0,  0,  0,
-    0,  0,  0,  0,  0, 57,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 58, 59, 60, 61,
-   62, 63, 64, 65,  0,  0,  0,  0,  0,  0, 66,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0, 67, 68,  0, 69, 70,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0, 71, 72, 73, 74, 75, 76, 77, 78,
-   79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
-   95, 96, 97, 98, 99,100,101,102,103,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,104,  0,  0,  0,  0,  0,
-    0,105,106,  0,107,  0,  0,  0,108,  0,109,  0,110,  0,111,112,
-  113,  0,114,  0,  0,  0,115,  0,  0,  0,116,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,117,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,118,119,120,121,
-    0,122,123,124,125,126,  0,127,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,128,129,130,131,132,133,134,135,
-  136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,
-  152,153,154,155,156,157,  0,  0,  0,158,159,160,161,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,162,163,  0,  0,  0,  0,  0,  0,  0,164,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,165,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,166,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,167,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,168,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,169,170,  0,
-    0,  0,  0,171,172,  0,  0,  0,173,174,175,176,177,178,179,180,
-  181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,
-  197,198,199,200,201,202,203,204,205,206,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  1,  2,  3,  4,
+    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 23, 24,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  3,  4,
+    5,  6,  7,  8,  9, 10, 11, 12,  0,  0, 13, 14, 15, 16, 17, 18,
+   19, 20, 21, 22,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0, 23,  0,  0, 24, 25, 26, 27, 28, 29, 30,  0,  0,
+   31, 32,  0, 33,  0, 34,  0, 35,  0,  0,  0,  0, 36, 37, 38, 39,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0, 40,  0,  0,  0,  0,  0,  0,  0,  0,  0, 41, 42,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0, 43, 44,  0, 45,  0,  0,  0,  0,  0,  0, 46, 47,  0,  0,
+    0,  0,  0, 48,  0, 49,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0, 50, 51,  0,  0,  0, 52,  0,  0, 53,  0,  0,  0,
+    0,  0,  0,  0, 54,  0,  0,  0,  0,  0,  0,  0, 55,  0,  0,  0,
+    0,  0,  0,  0, 56,  0,  0,  0,  0,  0,  0,  0,  0, 57,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0, 58, 59, 60, 61, 62, 63, 64, 65,  0,  0,  0,  0,
+    0,  0, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+   67, 68,  0, 69, 70,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+   71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+   87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,
+  103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,104,  0,  0,  0,  0,  0,  0,105,106,  0,107,  0,  0,  0,
+  108,  0,109,  0,110,  0,111,112,113,  0,114,  0,  0,  0,115,  0,
+    0,  0,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,117,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,118,119,120,121,  0,122,123,124,125,126,  0,127,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+  144,145,146,147,148,149,150,151,152,153,154,155,156,157,  0,  0,
+    0,158,159,160,161,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,162,163,  0,  0,  0,  0,  0,
+    0,  0,164,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,165,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,166,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,167,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,168,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,169,170,  0,  0,  0,  0,171,172,  0,  0,  0,
+  173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,
+  189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,
+  205,206,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  3,  4,
 };
 static const uint16_t
-_hb_ucd_u16[10040] =
+_hb_ucd_u16[10060] =
 {
      0,   0,   1,   2,   3,   4,   5,   6,   0,   0,   7,   8,   9,  10,  11,  12,
     13,  13,  13,  14,  15,  13,  13,  16,  17,  18,  19,  20,  21,  22,  13,  23,
@@ -3798,9 +3800,9 @@
    209, 306, 209, 209, 209, 209, 209, 209,   9,   9,   9,  11,  11,  11, 307, 308,
     13,  13,  13,  13,  13,  13, 309, 310,  11,  11, 311,  48,  48,  48, 312, 313,
     48, 314, 315, 315, 315, 315,  32,  32, 316, 317, 318, 319, 320, 321, 140, 140,
-   209, 322, 209, 209, 209, 209, 209, 323, 209, 209, 209, 209, 209, 324, 140, 325,
-   326, 327, 328, 329, 136,  48,  48,  48,  48, 330, 178,  48,  48,  48,  48, 331,
-   332,  48,  48, 136,  48,  48,  48,  48, 200, 333,  48,  48, 209, 209, 323,  48,
+   209, 322, 209, 209, 209, 209, 209, 323, 209, 209, 209, 209, 209, 324, 140, 209,
+   325, 326, 327, 328, 136,  48,  48,  48,  48, 329, 178,  48,  48,  48,  48, 330,
+   331,  48,  48, 136,  48,  48,  48,  48, 200, 332,  48,  48, 209, 209, 333,  48,
    209, 334, 335, 209, 336, 337, 209, 209, 335, 209, 209, 337, 209, 209, 209, 209,
     48,  48,  48,  48, 209, 209, 209, 209,  48, 338,  48,  48,  48,  48,  48,  48,
    151, 209, 209, 209, 287,  48,  48, 229, 339,  48, 340, 140,  13,  13, 341, 342,
@@ -3871,143 +3873,144 @@
      9,   9, 607,  11, 654, 370, 140, 140, 140, 140, 140, 140, 140, 140, 140, 499,
    271, 271, 655, 656, 140, 140, 140, 140, 499, 271, 657, 658, 140, 140, 140, 140,
    659,  48, 660, 661, 662, 663, 664, 665, 666, 206, 667, 206, 140, 140, 140, 668,
-   209, 209, 325, 209, 209, 209, 209, 209, 209, 323, 334, 669, 669, 669, 209, 324,
-   670, 209, 209, 209, 209, 209, 209, 209, 209, 209, 671, 140, 140, 140, 672, 209,
-   673, 209, 209, 325, 674, 675, 324, 140, 209, 209, 209, 209, 209, 209, 209, 676,
-   209, 209, 209, 209, 209, 677, 426, 426, 209, 209, 209, 209, 209, 209, 209, 678,
-   209, 209, 209, 209, 209, 176, 325, 427, 325, 209, 209, 209, 679, 176, 209, 209,
-   679, 209, 671, 675, 140, 140, 140, 140, 209, 209, 209, 209, 209, 323, 671, 426,
-   674, 209, 209, 680, 681, 325, 674, 674, 209, 682, 209, 209, 288, 140, 140, 192,
+   209, 209, 669, 209, 209, 209, 209, 209, 209, 323, 334, 670, 670, 670, 209, 324,
+   671, 209, 209, 209, 209, 209, 209, 209, 209, 209, 672, 140, 140, 140, 673, 209,
+   674, 209, 209, 669, 675, 676, 324, 140, 209, 209, 209, 209, 209, 209, 209, 677,
+   209, 209, 209, 209, 209, 678, 426, 426, 209, 209, 209, 209, 209, 209, 209, 679,
+   209, 209, 209, 209, 209, 176, 669, 427, 669, 209, 209, 209, 680, 176, 209, 209,
+   680, 209, 672, 676, 140, 140, 140, 140, 209, 209, 209, 209, 209, 323, 672, 426,
+   675, 209, 209, 681, 682, 669, 675, 675, 209, 683, 209, 209, 288, 140, 140, 192,
     48,  48,  48,  48,  48,  48, 140, 140,  48,  48,  48, 207,  48,  48,  48,  48,
     48, 204,  48,  48,  48,  48,  48,  48,  48,  48, 478,  48,  48,  48,  48,  48,
-    48,  48,  48,  48,  48,  48, 100, 140,  48, 204, 140, 140, 140, 140, 140, 140,
-    48,  48,  48,  48,  71,  48,  48,  48,  48,  48,  48, 140, 140, 140, 140, 140,
-   683, 140, 570, 570, 570, 570, 570, 570,  32,  32,  32,  32,  32,  32,  32,  32,
-    32,  32,  32,  32,  32,  32,  32, 140, 391, 391, 391, 391, 391, 391, 391, 684,
-   391, 391, 391, 391, 391, 391, 391, 685,   0,   0,   0,   0,   1,   2,   1,   2,
-     0,   0,   3,   3,   4,   5,   4,   5,   4,   4,   4,   4,   4,   4,   4,   4,
-     4,   4,   4,   6,   0,   0,   7,   0,   8,   8,   8,   8,   8,   8,   8,   9,
-    10,  11,  12,  11,  11,  11,  13,  11,  14,  14,  14,  14,  14,  14,  14,  14,
-    15,  14,  14,  14,  14,  14,  14,  14,  14,  14,  14,  16,  17,  18,  17,  17,
-    19,  20,  21,  21,  22,  21,  23,  24,  25,  26,  27,  27,  28,  29,  27,  30,
-    27,  27,  27,  27,  27,  31,  27,  27,  32,  33,  33,  33,  34,  27,  27,  27,
-    35,  35,  35,  36,  37,  37,  37,  38,  39,  39,  40,  41,  42,  43,  44,  27,
-    45,  46,  27,  27,  27,  27,  47,  27,  48,  48,  48,  48,  48,  49,  50,  48,
-    51,  52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
-    67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,
-    83,  84,  85,  86,  87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,  98,
-    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 109, 110, 111, 112, 109,
-   113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 122, 123, 122, 124, 125, 125,
-   126, 127, 128, 129, 130, 131, 125, 125, 132, 132, 132, 132, 133, 132, 134, 135,
-   132, 133, 132, 136, 136, 137, 125, 125, 138, 138, 138, 138, 138, 138, 138, 138,
-   138, 138, 139, 139, 140, 139, 139, 141, 142, 142, 142, 142, 142, 142, 142, 142,
-   143, 143, 143, 143, 144, 145, 143, 143, 144, 143, 143, 146, 147, 148, 143, 143,
-   143, 147, 143, 143, 143, 149, 143, 150, 143, 151, 152, 152, 152, 152, 152, 153,
-   154, 154, 154, 154, 154, 154, 154, 154, 155, 156, 157, 157, 157, 157, 158, 159,
-   160, 161, 162, 163, 164, 165, 166, 167, 168, 168, 168, 168, 168, 169, 170, 170,
-   171, 172, 173, 173, 173, 173, 173, 174, 173, 173, 175, 154, 154, 154, 154, 176,
-   177, 178, 179, 179, 180, 181, 182, 183, 184, 184, 185, 184, 186, 187, 168, 168,
-   188, 189, 190, 190, 190, 191, 190, 192, 193, 193, 194,   8, 195, 125, 125, 125,
-   196, 196, 196, 196, 197, 196, 196, 198, 199, 199, 199, 199, 200, 200, 200, 201,
-   202, 202, 202, 203, 204, 205, 205, 205, 206, 139, 139, 207, 208, 209, 210, 211,
-     4,   4, 212,   4,   4, 213, 214, 215,   4,   4,   4, 216,   8,   8,   8,   8,
-    11, 217,  11,  11, 217, 218,  11, 219,  11,  11,  11, 220, 220, 221,  11, 222,
-   223,   0,   0,   0,   0,   0, 224, 225, 226, 227,   0,   0, 228,   8,   8, 229,
-     0,   0, 230, 231, 232,   0,   4,   4, 233,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 234, 125, 235, 125,   0,   0,
-   236, 236, 236, 236, 236, 236, 236, 236,   0,   0,   0,   0,   0,   0,   0, 237,
-     0, 238,   0,   0,   0,   0,   0,   0, 239, 239, 239, 239, 239, 239,   4,   4,
-   240, 240, 240, 240, 240, 240, 240, 241, 139, 139, 140, 242, 242, 242, 243, 244,
-   143, 245, 246, 246, 246, 246,  14,  14,   0,   0,   0,   0,   0, 247, 125, 125,
-   248, 249, 248, 248, 248, 248, 248, 250, 248, 248, 248, 248, 248, 248, 248, 248,
-   248, 248, 248, 248, 248, 251, 125, 252, 253,   0, 254, 255, 256, 257, 257, 257,
-   257, 258, 259, 260, 260, 260, 260, 261, 262, 263, 263, 264, 142, 142, 142, 142,
-   265,   0, 263, 263,   0,   0, 266, 260, 142, 265,   0,   0,   0,   0, 142, 267,
-     0,   0,   0,   0,   0, 260, 260, 268, 260, 260, 260, 260, 260, 269,   0,   0,
-   248, 248, 248, 248,   0,   0,   0,   0, 270, 270, 270, 270, 270, 270, 270, 270,
-   271, 270, 270, 270, 272, 273, 273, 273, 274, 274, 274, 274, 274, 274, 274, 274,
-   274, 274, 275, 125,  14,  14,  14,  14,  14,  14, 276, 276, 276, 276, 276, 277,
-     0,   0, 278,   4,   4,   4,   4,   4, 279,   4,   4,   4, 280, 281, 125, 282,
-   283, 283, 284, 285, 286, 286, 286, 287, 288, 288, 288, 288, 289, 290,  48,  48,
-   291, 291, 292, 293, 293, 294, 142, 295, 296, 296, 296, 296, 297, 298, 138, 299,
-   300, 300, 300, 301, 302, 303, 138, 138, 304, 304, 304, 304, 305, 306, 307, 308,
-   309, 310, 246,   4,   4, 311, 312, 152, 152, 152, 152, 152, 307, 307, 313, 314,
-   142, 142, 315, 142, 316, 142, 142, 317, 125, 125, 125, 125, 125, 125, 125, 125,
-   248, 248, 248, 248, 248, 248, 318, 248, 248, 248, 248, 248, 248, 319, 125, 125,
-   320, 321,  21, 322, 323,  27,  27,  27,  27,  27,  27,  27, 324, 325,  27,  27,
-    27,  27,  27,  27,  27,  27,  27,  27,  27,  27,  27, 326,  27,  27,  27,  27,
-    27, 327,  27,  27, 328, 125, 125,  27,   8, 285, 329,   0,   0, 330, 331, 332,
-    27,  27,  27,  27,  27,  27,  27, 333, 334,   0,   1,   2,   1,   2, 335, 259,
-   260, 336, 142, 265, 337, 338, 339, 340, 341, 342, 343, 344, 345, 345, 125, 125,
-   342, 342, 342, 342, 342, 342, 342, 346, 347,   0,   0, 348,  11,  11,  11,  11,
-   349, 350, 351, 125, 125,   0,   0, 352, 353, 354, 355, 355, 355, 356, 357, 252,
-   358, 358, 359, 360, 361, 362, 362, 363, 364, 365, 366, 366, 367, 368, 125, 125,
-   369, 369, 369, 369, 369, 370, 370, 370, 371, 372, 373, 374, 374, 375, 374, 376,
-   377, 377, 378, 379, 379, 379, 380, 381, 381, 382, 383, 384, 125, 125, 125, 125,
-   385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 386, 385, 387, 388, 125,
-   389,   4,   4, 390, 125, 125, 125, 125, 391, 392, 392, 393, 394, 395, 396, 396,
-   397, 398, 399, 125, 125, 125, 400, 401, 402, 403, 404, 405, 125, 125, 125, 125,
-   406, 406, 407, 408, 407, 409, 407, 407, 410, 411, 412, 413, 414, 414, 415, 415,
-   416, 416, 125, 125, 417, 417, 418, 419, 420, 420, 420, 421, 422, 423, 424, 425,
-   426, 427, 428, 125, 125, 125, 125, 125, 429, 429, 429, 429, 430, 125, 125, 125,
-   431, 431, 431, 432, 431, 431, 431, 433, 434, 434, 435, 436, 125, 125, 125, 125,
-   125, 125, 125, 125, 125, 125,  27,  45, 437, 437, 438, 439, 125, 125, 125, 440,
-   441, 441, 442, 443, 443, 444, 125, 445, 446, 125, 125, 447, 448, 125, 449, 450,
-   451, 451, 451, 451, 452, 453, 451, 454, 455, 455, 455, 455, 456, 457, 458, 459,
-   460, 460, 460, 461, 462, 463, 463, 464, 465, 465, 465, 465, 465, 465, 466, 467,
-   468, 469, 468, 468, 470, 125, 125, 125, 471, 472, 473, 474, 474, 474, 475, 476,
-   477, 478, 479, 480, 481, 482, 483, 484, 485, 485, 485, 485, 485, 486, 487, 125,
-   488, 488, 488, 488, 489, 490, 125, 125, 491, 491, 491, 492, 491, 493, 125, 125,
-   494, 494, 494, 494, 495, 496, 497, 125, 498, 498, 498, 499, 499, 125, 125, 125,
-   500, 501, 502, 500, 503, 125, 125, 125, 504, 504, 504, 505, 125, 125, 125, 125,
-   125, 125, 506, 506, 506, 506, 506, 507, 508, 509, 510, 511, 512, 513, 125, 125,
-   125, 125, 514, 515, 515, 514, 516, 125, 517, 517, 517, 517, 518, 519, 519, 519,
-   519, 519, 520, 154, 521, 521, 521, 522, 523, 125, 125, 125, 125, 125, 125, 125,
-   524, 525, 525, 526, 527, 525, 528, 529, 529, 530, 531, 532, 125, 125, 125, 125,
-   533, 534, 534, 535, 536, 537, 538, 539, 540, 541, 542, 125, 125, 125, 125, 125,
-   125, 125, 125, 125, 125, 125, 543, 544, 545, 546, 545, 547, 545, 548, 125, 125,
-   125, 125, 125, 549, 550, 550, 550, 551, 552, 552, 552, 552, 552, 552, 552, 552,
-   552, 553, 125, 125, 125, 125, 125, 125, 552, 552, 552, 552, 552, 552, 554, 555,
-   552, 552, 552, 552, 556, 125, 125, 125, 125, 557, 557, 557, 557, 557, 557, 558,
-   559, 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, 560, 125, 125,
-   561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 562, 125, 125, 125,
-   276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 563, 564, 565, 566, 567,
-   567, 567, 567, 568, 569, 570, 571, 572, 573, 573, 573, 573, 574, 575, 576, 577,
-   573, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 578, 578, 578, 578,
-   578, 579, 125, 125, 125, 125, 125, 125, 580, 580, 580, 580, 581, 580, 580, 580,
-   582, 580, 125, 125, 125, 125, 583, 584, 585, 585, 585, 585, 585, 585, 585, 585,
-   585, 585, 585, 585, 585, 585, 585, 586, 587, 587, 587, 587, 587, 587, 587, 587,
-   587, 587, 587, 587, 587, 588, 125, 125, 589, 125, 125, 125, 125, 125, 125, 125,
-   125, 125, 125, 125, 125, 125, 125, 590, 591, 257, 257, 257, 257, 257, 257, 257,
-   257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 592, 593, 125, 594, 595, 596,
-   596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 597,
-   598, 598, 598, 598, 598, 598, 599, 600, 601, 602, 266, 125, 125, 125, 125, 125,
-     8,   8, 603,   8, 604,   0,   0,   0,   0,   0,   0,   0, 266, 125, 125, 125,
-     0,   0,   0,   0,   0,   0,   0, 605,   0,   0, 606,   0,   0,   0, 607, 608,
-   609,   0, 610,   0,   0,   0, 235, 125,  11,  11,  11,  11, 611, 125, 125, 125,
-   125, 125, 125, 125,   0, 266,   0, 266,   0,   0,   0,   0,   0, 234,   0, 612,
-     0,   0,   0,   0,   0, 224,   0,   0,   0, 613, 614, 615, 616,   0,   0,   0,
-   617, 618,   0, 619, 620, 621,   0,   0,   0,   0, 622,   0,   0,   0,   0,   0,
-     0,   0,   0,   0, 623,   0,   0,   0, 624, 624, 624, 624, 624, 624, 624, 624,
-   625, 626, 627, 125, 125, 125, 125, 125,   4, 628, 629, 125, 125, 125, 125, 125,
-   630, 631, 632,  14,  14,  14, 633, 125, 634, 125, 125, 125, 125, 125, 125, 125,
-   635, 635, 636, 637, 638, 125, 125, 125, 125, 639, 640, 125, 641, 641, 641, 642,
-   125, 125, 125, 125, 125, 643, 643, 644, 125, 125, 125, 125, 125, 125, 645, 646,
-   647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 648, 649, 125, 125,
-   650, 650, 650, 650, 651, 652, 125, 125, 125, 125, 125, 125, 125, 125, 125, 334,
-     0,   0,   0, 653, 125, 125, 125, 125, 334,   0,   0, 247, 125, 125, 125, 125,
-   654,  27, 655, 656, 657, 658, 659, 660, 661, 662, 663, 662, 125, 125, 125, 664,
-     0,   0, 252,   0,   0,   0,   0,   0,   0, 266, 226, 334, 334, 334,   0, 605,
-     0,   0, 247, 125, 125, 125, 665,   0, 666,   0,   0, 252, 612, 667, 605, 125,
-     0,   0,   0,   0,   0, 668, 350, 350,   0,   0,   0,   0,   0,   0,   0, 669,
-     0,   0,   0,   0,   0, 285, 252, 228, 252,   0,   0,   0, 670, 285,   0,   0,
-   670,   0, 247, 667, 125, 125, 125, 125,   0,   0,   0,   0,   0, 266, 247, 350,
-   612,   0,   0, 671, 672, 252, 612, 612,   0, 330,   0,   0, 235, 125, 125, 285,
-   248, 248, 248, 248, 248, 248, 125, 125, 248, 248, 248, 319, 248, 248, 248, 248,
-   248, 318, 248, 248, 248, 248, 248, 248, 248, 248, 584, 248, 248, 248, 248, 248,
-   248, 248, 248, 248, 248, 248, 673, 125, 248, 318, 125, 125, 125, 125, 125, 125,
-   248, 248, 248, 248, 674, 248, 248, 248, 248, 248, 248, 125, 125, 125, 125, 125,
-   675, 125,   0,   0,   0,   0,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,
+    48,  48,  48,  48,  48,  48, 100,  48,  48,  48,  48,  48,  48, 204, 140, 140,
+    48, 204, 140, 140, 140, 140, 140, 140,  48,  48,  48,  48,  71,  48,  48,  48,
+    48,  48,  48, 140, 140, 140, 140, 140, 684, 140, 570, 570, 570, 570, 570, 570,
+    32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32, 140,
+   391, 391, 391, 391, 391, 391, 391, 685, 391, 391, 391, 391, 391, 391, 391, 686,
+     0,   0,   0,   0,   1,   2,   1,   2,   0,   0,   3,   3,   4,   5,   4,   5,
+     4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   6,   0,   0,   7,   0,
+     8,   8,   8,   8,   8,   8,   8,   9,  10,  11,  12,  11,  11,  11,  13,  11,
+    14,  14,  14,  14,  14,  14,  14,  14,  15,  14,  14,  14,  14,  14,  14,  14,
+    14,  14,  14,  16,  17,  18,  17,  17,  19,  20,  21,  21,  22,  21,  23,  24,
+    25,  26,  27,  27,  28,  29,  27,  30,  27,  27,  27,  27,  27,  31,  27,  27,
+    32,  33,  33,  33,  34,  27,  27,  27,  35,  35,  35,  36,  37,  37,  37,  38,
+    39,  39,  40,  41,  42,  43,  44,  27,  45,  46,  27,  27,  27,  27,  47,  27,
+    48,  48,  48,  48,  48,  49,  50,  48,  51,  52,  53,  54,  55,  56,  57,  58,
+    59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
+    75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,
+    91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104, 105, 106,
+   107, 108, 109, 109, 110, 111, 112, 109, 113, 114, 115, 116, 117, 118, 119, 120,
+   121, 122, 122, 123, 122, 124, 125, 125, 126, 127, 128, 129, 130, 131, 125, 125,
+   132, 132, 132, 132, 133, 132, 134, 135, 132, 133, 132, 136, 136, 137, 125, 125,
+   138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 139, 139, 140, 139, 139, 141,
+   142, 142, 142, 142, 142, 142, 142, 142, 143, 143, 143, 143, 144, 145, 143, 143,
+   144, 143, 143, 146, 147, 148, 143, 143, 143, 147, 143, 143, 143, 149, 143, 150,
+   143, 151, 152, 152, 152, 152, 152, 153, 154, 154, 154, 154, 154, 154, 154, 154,
+   155, 156, 157, 157, 157, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+   168, 168, 168, 168, 168, 169, 170, 170, 171, 172, 173, 173, 173, 173, 173, 174,
+   173, 173, 175, 154, 154, 154, 154, 176, 177, 178, 179, 179, 180, 181, 182, 183,
+   184, 184, 185, 184, 186, 187, 168, 168, 188, 189, 190, 190, 190, 191, 190, 192,
+   193, 193, 194,   8, 195, 125, 125, 125, 196, 196, 196, 196, 197, 196, 196, 198,
+   199, 199, 199, 199, 200, 200, 200, 201, 202, 202, 202, 203, 204, 205, 205, 205,
+   206, 139, 139, 207, 208, 209, 210, 211,   4,   4, 212,   4,   4, 213, 214, 215,
+     4,   4,   4, 216,   8,   8,   8,   8,  11, 217,  11,  11, 217, 218,  11, 219,
+    11,  11,  11, 220, 220, 221,  11, 222, 223,   0,   0,   0,   0,   0, 224, 225,
+   226, 227,   0,   0, 228,   8,   8, 229,   0,   0, 230, 231, 232,   0,   4,   4,
+   233,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0, 234, 125, 235, 125,   0,   0, 236, 236, 236, 236, 236, 236, 236, 236,
+     0,   0,   0,   0,   0,   0,   0, 237,   0, 238,   0,   0,   0,   0,   0,   0,
+   239, 239, 239, 239, 239, 239,   4,   4, 240, 240, 240, 240, 240, 240, 240, 241,
+   139, 139, 140, 242, 242, 242, 243, 244, 143, 245, 246, 246, 246, 246,  14,  14,
+     0,   0,   0,   0,   0, 247, 125, 125, 248, 249, 248, 248, 248, 248, 248, 250,
+   248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 251, 125,   0,
+   252,   0, 253, 254, 255, 256, 256, 256, 256, 257, 258, 259, 259, 259, 259, 260,
+   261, 262, 262, 263, 142, 142, 142, 142, 264,   0, 262, 262,   0,   0, 265, 259,
+   142, 264,   0,   0,   0,   0, 142, 266,   0,   0,   0,   0,   0, 259, 259, 267,
+   259, 259, 259, 259, 259, 268,   0,   0, 248, 248, 248, 248,   0,   0,   0,   0,
+   269, 269, 269, 269, 269, 269, 269, 269, 270, 269, 269, 269, 271, 272, 272, 272,
+   273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 274, 125,  14,  14,  14,  14,
+    14,  14, 275, 275, 275, 275, 275, 276,   0,   0, 277,   4,   4,   4,   4,   4,
+   278,   4,   4,   4, 279, 280, 125, 281, 282, 282, 283, 284, 285, 285, 285, 286,
+   287, 287, 287, 287, 288, 289,  48,  48, 290, 290, 291, 292, 292, 293, 142, 294,
+   295, 295, 295, 295, 296, 297, 138, 298, 299, 299, 299, 300, 301, 302, 138, 138,
+   303, 303, 303, 303, 304, 305, 306, 307, 308, 309, 246,   4,   4, 310, 311, 152,
+   152, 152, 152, 152, 306, 306, 312, 313, 142, 142, 314, 142, 315, 142, 142, 316,
+   125, 125, 125, 125, 125, 125, 125, 125, 248, 248, 248, 248, 248, 248, 317, 248,
+   248, 248, 248, 248, 248, 318, 125, 125, 319, 320,  21, 321, 322,  27,  27,  27,
+    27,  27,  27,  27, 323, 324,  27,  27,  27,  27,  27,  27,  27,  27,  27,  27,
+    27,  27,  27, 325,  27,  27,  27,  27,  27, 326,  27,  27, 327, 125, 125,  27,
+     8, 284, 328,   0,   0, 329, 330, 331,  27,  27,  27,  27,  27,  27,  27, 332,
+   333,   0,   1,   2,   1,   2, 334, 258, 259, 335, 142, 264, 336, 337, 338, 339,
+   340, 341, 342, 343, 344, 344, 125, 125, 341, 341, 341, 341, 341, 341, 341, 345,
+   346,   0,   0, 347,  11,  11,  11,  11, 348, 349, 350, 125, 125,   0,   0, 351,
+   352, 353, 354, 354, 354, 355, 356, 357, 358, 358, 359, 360, 361, 362, 362, 363,
+   364, 365, 366, 366, 367, 368, 125, 125, 369, 369, 369, 369, 369, 370, 370, 370,
+   371, 372, 373, 374, 374, 375, 374, 376, 377, 377, 378, 379, 379, 379, 380, 381,
+   381, 382, 383, 384, 125, 125, 125, 125, 385, 385, 385, 385, 385, 385, 385, 385,
+   385, 385, 385, 386, 385, 387, 388, 125, 389,   4,   4, 390, 125, 125, 125, 125,
+   391, 392, 392, 393, 394, 395, 396, 396, 397, 398, 399, 125, 125, 125, 400, 401,
+   402, 403, 404, 405, 125, 125, 125, 125, 406, 406, 407, 408, 407, 409, 407, 407,
+   410, 411, 412, 413, 414, 414, 415, 415, 416, 416, 125, 125, 417, 417, 418, 419,
+   420, 420, 420, 421, 422, 423, 424, 425, 426, 427, 428, 125, 125, 125, 125, 125,
+   429, 429, 429, 429, 430, 125, 125, 125, 431, 431, 431, 432, 431, 431, 431, 433,
+   434, 434, 435, 436, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,  27,  45,
+   437, 437, 438, 439, 125, 125, 125, 440, 441, 441, 442, 443, 443, 444, 125, 445,
+   446, 125, 125, 447, 448, 125, 449, 450, 451, 451, 451, 451, 452, 453, 451, 454,
+   455, 455, 455, 455, 456, 457, 458, 459, 460, 460, 460, 461, 462, 463, 463, 464,
+   465, 465, 465, 465, 465, 465, 466, 467, 468, 469, 468, 468, 470, 125, 125, 125,
+   471, 472, 473, 474, 474, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+   485, 485, 485, 485, 485, 486, 487, 125, 488, 488, 488, 488, 489, 490, 125, 125,
+   491, 491, 491, 492, 491, 493, 125, 125, 494, 494, 494, 494, 495, 496, 497, 125,
+   498, 498, 498, 499, 499, 125, 125, 125, 500, 501, 502, 500, 503, 125, 125, 125,
+   504, 504, 504, 505, 125, 125, 125, 125, 125, 125, 506, 506, 506, 506, 506, 507,
+   508, 509, 510, 511, 512, 513, 125, 125, 125, 125, 514, 515, 515, 514, 516, 125,
+   517, 517, 517, 517, 518, 519, 519, 519, 519, 519, 520, 154, 521, 521, 521, 522,
+   523, 125, 125, 125, 125, 125, 125, 125, 524, 525, 525, 526, 527, 525, 528, 529,
+   529, 530, 531, 532, 125, 125, 125, 125, 533, 534, 534, 535, 536, 537, 538, 539,
+   540, 541, 542, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 543, 544,
+   545, 546, 545, 547, 545, 548, 125, 125, 125, 125, 125, 549, 550, 550, 550, 551,
+   552, 552, 552, 552, 552, 552, 552, 552, 552, 553, 125, 125, 125, 125, 125, 125,
+   552, 552, 552, 552, 552, 552, 554, 555, 552, 552, 552, 552, 556, 125, 125, 125,
+   125, 557, 557, 557, 557, 557, 557, 558, 559, 559, 559, 559, 559, 559, 559, 559,
+   559, 559, 559, 559, 559, 560, 125, 125, 561, 561, 561, 561, 561, 561, 561, 561,
+   561, 561, 561, 561, 562, 125, 125, 125, 275, 275, 275, 275, 275, 275, 275, 275,
+   275, 275, 275, 563, 564, 565, 566, 567, 567, 567, 567, 568, 569, 570, 571, 572,
+   573, 573, 573, 573, 574, 575, 576, 577, 573, 125, 125, 125, 125, 125, 125, 125,
+   125, 125, 125, 125, 578, 578, 578, 578, 578, 579, 125, 125, 125, 125, 125, 125,
+   580, 580, 580, 580, 581, 580, 580, 580, 582, 580, 125, 125, 125, 125, 583, 584,
+   585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 586,
+   587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 588, 125, 125,
+   589, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 590,
+   591, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
+   256, 256, 592, 593, 125, 594, 595, 596, 596, 596, 596, 596, 596, 596, 596, 596,
+   596, 596, 596, 596, 596, 596, 596, 597, 598, 598, 598, 598, 598, 598, 599, 600,
+   601, 602, 603, 125, 125, 125, 125, 125,   8,   8, 604,   8, 605,   0,   0,   0,
+     0,   0,   0,   0, 603, 125, 125, 125,   0,   0,   0,   0,   0,   0,   0, 606,
+     0,   0, 607,   0,   0,   0, 608, 609, 610,   0, 611,   0,   0,   0, 235, 125,
+    11,  11,  11,  11, 612, 125, 125, 125, 125, 125, 125, 125,   0, 603,   0, 603,
+     0,   0,   0,   0,   0, 234,   0, 613,   0,   0,   0,   0,   0, 224,   0,   0,
+     0, 614, 615, 616, 617,   0,   0,   0, 618, 619,   0, 620, 621, 622,   0,   0,
+     0,   0, 623,   0,   0,   0,   0,   0,   0,   0,   0,   0, 624,   0,   0,   0,
+   625, 625, 625, 625, 625, 625, 625, 625, 626, 627, 628, 125, 125, 125, 125, 125,
+     4, 629, 630, 125, 125, 125, 125, 125, 631, 632, 633,  14,  14,  14, 634, 125,
+   635, 125, 125, 125, 125, 125, 125, 125, 636, 636, 637, 638, 639, 125, 125, 125,
+   125, 640, 641, 125, 642, 642, 642, 643, 125, 125, 125, 125, 125, 644, 644, 645,
+   125, 125, 125, 125, 125, 125, 646, 647, 648, 648, 648, 648, 648, 648, 648, 648,
+   648, 648, 648, 648, 649, 650, 125, 125, 651, 651, 651, 651, 652, 653, 125, 125,
+   125, 125, 125, 125, 125, 125, 125, 333,   0,   0,   0, 654, 125, 125, 125, 125,
+   333,   0,   0, 247, 125, 125, 125, 125, 655,  27, 656, 657, 658, 659, 660, 661,
+   662, 663, 664, 663, 125, 125, 125, 665,   0,   0, 357,   0,   0,   0,   0,   0,
+     0, 603, 226, 333, 333, 333,   0, 606,   0,   0, 247, 125, 125, 125, 666,   0,
+   667,   0,   0, 357, 613, 668, 606, 125,   0,   0,   0,   0,   0, 669, 349, 349,
+     0,   0,   0,   0,   0,   0,   0, 670,   0,   0,   0,   0,   0, 284, 357, 228,
+   357,   0,   0,   0, 671, 284,   0,   0, 671,   0, 247, 668, 125, 125, 125, 125,
+     0,   0,   0,   0,   0, 603, 247, 349, 613,   0,   0, 672, 673, 357, 613, 613,
+     0, 329,   0,   0, 235, 125, 125, 284, 248, 248, 248, 248, 248, 248, 125, 125,
+   248, 248, 248, 318, 248, 248, 248, 248, 248, 317, 248, 248, 248, 248, 248, 248,
+   248, 248, 584, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 674, 248,
+   248, 248, 248, 248, 248, 317, 125, 125, 248, 317, 125, 125, 125, 125, 125, 125,
+   248, 248, 248, 248, 675, 248, 248, 248, 248, 248, 248, 125, 125, 125, 125, 125,
+   676, 125,   0,   0,   0,   0,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,
      8,   8,   8,   8,   8,   8,   8,   0,   0,   0,   0,   0,   1,   2,   2,   2,
      2,   2,   3,   0,   0,   0,   4,   0,   2,   2,   2,   2,   2,   3,   2,   2,
      2,   2,   5,   0,   2,   5,   6,   0,   7,   7,   7,   7,   8,   9,  10,  11,
@@ -4071,33 +4074,33 @@
      0, 240,   0,   0, 241, 241, 241, 241,  18,  18,  18,  18,  18,  12, 242,  18,
    243, 243, 243, 243, 243, 243,  12, 244, 245,  12,  12, 244, 151, 154,  12,  12,
    151, 154, 151, 154,   0,   0,   0, 246, 247, 247, 247, 247, 247, 247, 248, 247,
-   247,  12,  12,  12, 247, 249,  12,  12,   0,   0,   0,  12,   0, 250,   0,   0,
-   251, 247, 252, 253,   0,   0, 247,   0, 254, 255, 255, 255, 255, 255, 255, 255,
-   255, 256, 257, 258, 259, 260, 260, 260, 260, 260, 260, 260, 260, 260, 261, 259,
-    12, 262, 263, 263, 263, 263, 263, 263, 264, 150, 150, 150, 150, 150, 150, 265,
-     0,  12,  12,  12, 150, 150, 150, 266, 260, 260, 260, 261, 260, 260,   0,   0,
-   267, 267, 267, 267, 267, 267, 267, 268, 267, 269,  12,  12, 270, 270, 270, 270,
-   271, 271, 271, 271, 271, 271, 271,  12, 272, 272, 272, 272, 272, 272,  12,  12,
-   237,   2,   2,   2,   2,   2, 231,   2,   2,   2, 273,  12, 274, 275, 276,  12,
-   277,   2,   2,   2, 278, 278, 278, 278, 278, 278, 278, 279,   0,   0, 246,  12,
-   280, 280, 280, 280, 280, 280,  12,  12, 281, 281, 281, 281, 281, 282,  12, 283,
-   281, 281, 282,  12, 284, 284, 284, 284, 284, 284, 284, 285, 286, 286, 286, 286,
-   286,  12,  12, 287, 150, 150, 150, 288, 289, 289, 289, 289, 289, 289, 289, 290,
-   289, 289, 291, 292, 145, 145, 145, 293, 294, 294, 294, 294, 294, 295,  12,  12,
-   294, 294, 294, 296, 294, 294, 296, 294, 297, 297, 297, 297, 298,  12,  12,  12,
-    12,  12, 299, 297, 300, 300, 300, 300, 300, 301,  12,  12, 155, 154, 155, 154,
-   155, 154,  12,  12,   2,   2,   3,   2,   2, 302, 303,  12, 300, 300, 300, 304,
-   300, 300, 304,  12, 150,  12,  12,  12, 150, 265, 305, 150, 150, 150, 150,  12,
-   247, 247, 247, 249, 247, 247, 249,  12,   2, 273,  12,  12, 306,  22,  12,  24,
-    25,  26,  25, 307, 308, 309,  25,  25,  50,  12,  12,  12, 310,  29,  29,  29,
-    29,  29,  29, 311, 312,  29,  29,  29,  29,  29,  12, 310,   7,   7,   7, 313,
-   232,   0,   0,   0,   0, 232,   0,  12,  29, 314,  29,  29,  29,  29,  29, 315,
-   316,   0,   0,   0,   0, 317, 260, 260, 260, 260, 260, 318, 319, 150, 319, 150,
-   319, 150, 319, 288,   0, 232,   0, 232,  12,  12, 316, 246, 320, 320, 320, 321,
-   320, 320, 320, 320, 320, 322, 320, 320, 320, 320, 322, 323, 320, 320, 320, 324,
-   320, 320, 322,  12, 232, 131,   0,   0,   0, 131,   0,   0,   8,   8,   8,  14,
-     0,   0,   0, 234, 325,  12,  12,  12,   0,   0,   0, 326, 327, 327, 327, 327,
-   327, 327, 327, 328, 329, 329, 329, 329, 330,  12,  12,  12, 215,   0,   0,   0,
+   247,  12,  12,  12, 247, 249,  12,  12,   0, 250,   0,   0, 251, 247, 252, 253,
+     0,   0, 247,   0, 254, 255, 255, 255, 255, 255, 255, 255, 255, 256, 257, 258,
+   259, 260, 260, 260, 260, 260, 260, 260, 260, 260, 261, 259,  12, 262, 263, 263,
+   263, 263, 263, 263, 264, 150, 150, 150, 150, 150, 150, 265,   0,  12,  12, 131,
+   150, 150, 150, 266, 260, 260, 260, 261, 260, 260,   0,   0, 267, 267, 267, 267,
+   267, 267, 267, 268, 267, 269,  12,  12, 270, 270, 270, 270, 271, 271, 271, 271,
+   271, 271, 271,  12, 272, 272, 272, 272, 272, 272,  12,  12, 237,   2,   2,   2,
+     2,   2, 231,   2,   2,   2, 273,  12, 274, 275, 276,  12, 277,   2,   2,   2,
+   278, 278, 278, 278, 278, 278, 278, 279,   0,   0, 246,  12, 280, 280, 280, 280,
+   280, 280,  12,  12, 281, 281, 281, 281, 281, 282,  12, 283, 281, 281, 282,  12,
+   284, 284, 284, 284, 284, 284, 284, 285, 286, 286, 286, 286, 286,  12,  12, 287,
+   150, 150, 150, 288, 289, 289, 289, 289, 289, 289, 289, 290, 289, 289, 291, 292,
+   145, 145, 145, 293, 294, 294, 294, 294, 294, 295,  12,  12, 294, 294, 294, 296,
+   294, 294, 296, 294, 297, 297, 297, 297, 298,  12,  12,  12,  12,  12, 299, 297,
+   300, 300, 300, 300, 300, 301,  12,  12, 155, 154, 155, 154, 155, 154,  12,  12,
+     2,   2,   3,   2,   2, 302, 303,  12, 300, 300, 300, 304, 300, 300, 304,  12,
+   150,  12,  12,  12, 150, 265, 305, 150, 150, 150, 150,  12, 247, 247, 247, 249,
+   247, 247, 249,  12,   2, 273,  12,  12, 306,  22,  12,  24,  25,  26,  25, 307,
+   308, 309,  25,  25,  50,  12,  12,  12, 310,  29,  29,  29,  29,  29,  29, 311,
+   312,  29,  29,  29,  29,  29,  12, 310,   7,   7,   7, 313, 232,   0,   0,   0,
+     0, 232,   0,  12,  29, 314,  29,  29,  29,  29,  29, 315, 316,   0,   0,   0,
+     0, 317, 260, 260, 260, 260, 260, 318, 319, 150, 319, 150, 319, 150, 319, 288,
+     0, 232,   0, 232,  12,  12, 316, 246, 320, 320, 320, 321, 320, 320, 320, 320,
+   320, 322, 320, 320, 320, 320, 322, 323, 320, 320, 320, 324, 320, 320, 322,  12,
+   232, 131,   0,   0,   0, 131,   0,   0,   8,   8,   8,  14,   0,   0,   0, 234,
+   325,  12,  12,  12,   0,   0,   0, 326, 327, 327, 327, 327, 327, 327, 327, 328,
+   329, 329, 329, 329, 330,  12,  12,  12, 215,   0,   0,   0,   0,   0,   0,  12,
    331, 331, 331, 331, 331,  12,  12, 332, 333, 333, 333, 333, 333, 333, 334,  12,
    335, 335, 335, 335, 335, 335, 336,  12, 337, 337, 337, 337, 337, 337, 337, 338,
    339, 339, 339, 339, 339,  12, 339, 339, 339, 340,  12,  12, 341, 341, 341, 341,
@@ -4159,232 +4162,232 @@
    260, 556, 260, 557, 558, 255, 255, 255, 559,  12,  12,  12, 560,  12,  12,  12,
    256, 561,  12,  12,  12, 260,  12,  12, 562, 562, 562, 562, 562, 562, 562,  12,
    563, 563, 563, 563, 563, 563, 564,  12, 563, 563, 563, 565, 563, 563, 565,  12,
-   563, 563, 566, 563,   7,   7,   7, 567,   7, 199,  12,  12,   0, 246,  12,  12,
-     0, 232, 316,   0,   0, 568, 228,   0,   0,   0, 568,   7, 213, 569,   7,   0,
-     0,   0, 570, 228,   8, 225,  12,  12,   0,   0, 234,  12,   0,   0,   0, 229,
-   571, 572, 316, 229,   0,   0, 240, 316,   0, 316,   0,   0,   0, 240, 232, 316,
-     0, 229,   0, 229,   0,   0, 240, 232,   0, 573, 239,   0, 229,   0,   0,   0,
-     0, 246,   0,   0,   0,   0,   0, 239, 574, 574, 574, 574, 574, 574, 574,  12,
-    12,  12, 575, 574, 576, 574, 574, 574,   2,   2,   2, 273,  12, 275, 273,  12,
-   241, 577, 241, 241, 241, 241, 578, 241, 579, 580, 577,  12,  19,  19,  19, 581,
-    12,  12,  12, 582, 583, 583, 583, 583, 583, 583, 583, 584, 583, 583, 583, 585,
-   583, 583, 585, 586, 587, 587, 587, 587, 587, 587, 587, 588, 589, 589, 589, 589,
-   589, 589, 590, 591, 592, 592, 592, 592, 592, 592, 593,  12, 151, 154, 151, 594,
-   151, 151, 151, 154, 595, 595, 595, 595, 595, 596, 595, 595, 595, 597,  12,  12,
-   598, 598, 598, 598, 598, 598, 598,  12, 598, 598, 599, 600,   0, 234,  12,  12,
-    29, 414,  29,  29, 601, 602, 414,  29,  50,  29, 603,  12, 604, 310, 603, 414,
-   601, 602, 603, 603, 601, 602,  50,  29,  50,  29, 414, 605,  29,  29, 606,  29,
-    29,  29,  29,  12, 414, 414, 606,  29,  51,  12,  12,  12,  12, 239,   0,   0,
-   607,  12,  12,  12, 246,  12,  12,  12,   0,   0,  12,   0,   0, 232, 131,   0,
-     0,   0,  12,  12,   0,   0,   0, 240,   0, 246,  12, 239, 608,  12,  12,  12,
-   247, 247, 609,  12, 610,  12,  12,  12,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0, 939, 940, 941, 942, 946, 948,   0, 962,
-   969, 970, 971, 976,1001,1002,1003,1008,   0,1033,1040,1041,1042,1043,1047,   0,
-     0,1080,1081,1082,1086,1110,   0,   0,1124,1125,1126,1127,1131,1133,   0,1147,
-  1154,1155,1156,1161,1187,1188,1189,1193,   0,1219,1226,1227,1228,1229,1233,   0,
-     0,1267,1268,1269,1273,1298,   0,1303, 943,1128, 944,1129, 954,1139, 958,1143,
-   959,1144, 960,1145, 961,1146, 964,1149,   0,   0, 973,1158, 974,1159, 975,1160,
-   983,1168, 978,1163, 988,1173, 990,1175, 991,1176, 993,1178, 994,1179,   0,   0,
-  1004,1190,1005,1191,1006,1192,1014,1199,1007,   0,   0,   0,1016,1201,1020,1206,
-     0,1022,1208,1025,1211,1023,1209,   0,   0,   0,   0,1032,1218,1037,1223,1035,
-  1221,   0,   0,   0,1044,1230,1045,1231,1049,1235,   0,   0,1058,1244,1064,1250,
-  1060,1246,1066,1252,1067,1253,1072,1258,1069,1255,1077,1264,1074,1261,   0,   0,
-  1083,1270,1084,1271,1085,1272,1088,1275,1089,1276,1096,1283,1103,1290,1111,1299,
-  1115,1118,1307,1120,1309,1121,1310,   0,1053,1239,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,1093,1280,   0,   0,   0,   0,   0,   0,   0,
+   563, 563, 566, 563,   0,  12,  12,  12,   7,   7,   7, 567,   7, 199,  12,  12,
+     0, 246,  12,  12,   0, 232, 316,   0,   0, 568, 228,   0,   0,   0, 568,   7,
+   213, 569,   7,   0,   0,   0, 570, 228,   8, 225,  12,  12,   0,   0, 234,  12,
+     0,   0,   0, 229, 571, 572, 316, 229,   0,   0, 240, 316,   0, 316,   0,   0,
+     0, 240, 232, 316,   0, 229,   0, 229,   0,   0, 240, 232,   0, 573, 239,   0,
+   229,   0,   0,   0,   0, 246,   0,   0,   0,   0,   0, 239, 574, 574, 574, 574,
+   574, 574, 574,  12,  12,  12, 575, 574, 576, 574, 574, 574,   2,   2,   2, 273,
+    12, 275, 273,  12, 241, 577, 241, 241, 241, 241, 578, 241, 579, 580, 577,  12,
+    19,  19,  19, 581,  12,  12,  12, 582, 583, 583, 583, 583, 583, 583, 583, 584,
+   583, 583, 583, 585, 583, 583, 585, 586, 587, 587, 587, 587, 587, 587, 587, 588,
+   589, 589, 589, 589, 589, 589, 590, 591, 592, 592, 592, 592, 592, 592, 593,  12,
+   151, 154, 151, 594, 151, 151, 151, 154, 595, 595, 595, 595, 595, 596, 595, 595,
+   595, 597,  12,  12, 598, 598, 598, 598, 598, 598, 598,  12, 598, 598, 599, 600,
+     0, 234,  12,  12,  29, 414,  29,  29, 601, 602, 414,  29,  50,  29, 603,  12,
+   604, 310, 603, 414, 601, 602, 603, 603, 601, 602,  50,  29,  50,  29, 414, 605,
+    29,  29, 606,  29,  29,  29,  29,  12, 414, 414, 606,  29,  51,  12,  12,  12,
+    12, 239,   0,   0, 607,  12,  12,  12, 246,  12,  12,  12,   0,   0,  12,   0,
+     0, 232, 131,   0,   0,   0,  12,  12,   0,   0,   0, 240,   0, 246,  12, 239,
+   608,  12,  12,  12, 247, 247, 609,  12, 610,  12,  12,  12,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 939, 940, 941, 942,
+   946, 948,   0, 962, 969, 970, 971, 976,1001,1002,1003,1008,   0,1033,1040,1041,
+  1042,1043,1047,   0,   0,1080,1081,1082,1086,1110,   0,   0,1124,1125,1126,1127,
+  1131,1133,   0,1147,1154,1155,1156,1161,1187,1188,1189,1193,   0,1219,1226,1227,
+  1228,1229,1233,   0,   0,1267,1268,1269,1273,1298,   0,1303, 943,1128, 944,1129,
+   954,1139, 958,1143, 959,1144, 960,1145, 961,1146, 964,1149,   0,   0, 973,1158,
+   974,1159, 975,1160, 983,1168, 978,1163, 988,1173, 990,1175, 991,1176, 993,1178,
+   994,1179,   0,   0,1004,1190,1005,1191,1006,1192,1014,1199,1007,   0,   0,   0,
+  1016,1201,1020,1206,   0,1022,1208,1025,1211,1023,1209,   0,   0,   0,   0,1032,
+  1218,1037,1223,1035,1221,   0,   0,   0,1044,1230,1045,1231,1049,1235,   0,   0,
+  1058,1244,1064,1250,1060,1246,1066,1252,1067,1253,1072,1258,1069,1255,1077,1264,
+  1074,1261,   0,   0,1083,1270,1084,1271,1085,1272,1088,1275,1089,1276,1096,1283,
+  1103,1290,1111,1299,1115,1118,1307,1120,1309,1121,1310,   0,1053,1239,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1093,1280,   0,   0,   0,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0, 949,1134,1010,1195,1050,1236,1090,1277,1341,1368,1340,
-  1367,1342,1369,1339,1366,   0,1320,1347,1418,1419,1323,1350,   0,   0, 992,1177,
-  1018,1204,1055,1241,1416,1417,1415,1424,1202,   0,   0,   0, 987,1172,   0,   0,
-  1031,1217,1321,1348,1322,1349,1338,1365, 950,1135, 951,1136, 979,1164, 980,1165,
-  1011,1196,1012,1197,1051,1237,1052,1238,1061,1247,1062,1248,1091,1278,1092,1279,
-  1071,1257,1076,1263,   0,   0, 997,1182,   0,   0,   0,   0,   0,   0, 945,1130,
-   982,1167,1337,1364,1335,1362,1046,1232,1422,1423,1113,1301,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   8,   9,   0,  10,1425,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,1314,1427,   5,
-  1434,1438,1443,   0,1450,   0,1455,1461,1514,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0, 949,1134,1010,1195,1050,1236,1090,
+  1277,1341,1368,1340,1367,1342,1369,1339,1366,   0,1320,1347,1418,1419,1323,1350,
+     0,   0, 992,1177,1018,1204,1055,1241,1416,1417,1415,1424,1202,   0,   0,   0,
+   987,1172,   0,   0,1031,1217,1321,1348,1322,1349,1338,1365, 950,1135, 951,1136,
+   979,1164, 980,1165,1011,1196,1012,1197,1051,1237,1052,1238,1061,1247,1062,1248,
+  1091,1278,1092,1279,1071,1257,1076,1263,   0,   0, 997,1182,   0,   0,   0,   0,
+     0,   0, 945,1130, 982,1167,1337,1364,1335,1362,1046,1232,1422,1423,1113,1301,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   8,   9,   0,  10,
+  1425,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,
+     0,1314,1427,   5,1434,1438,1443,   0,1450,   0,1455,1461,1514,   0,   0,   0,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1446,1458,1468,1476,1480,1486,1517,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1446,1458,1468,1476,1480,1486,1517,   0,   0,   0,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1489,1503,1494,1500,1508,   0,   0,   0,   0,1520,1521,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,1526,1528,   0,1525,   0,   0,   0,1522,
-     0,   0,   0,   0,1536,1532,1539,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1534,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1556,   0,   0,   0,   0,   0,   0,1548,1550,   0,1547,   0,   0,   0,1567,
-     0,   0,   0,   0,1558,1554,1561,   0,   0,   0,   0,   0,   0,   0,1568,1569,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,1529,1551,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,1523,1545,1524,1546,   0,   0,1527,1549,
-     0,   0,1570,1571,1530,1552,1531,1553,   0,   0,1533,1555,1535,1557,1537,1559,
-     0,   0,1572,1573,1544,1566,1538,1560,1540,1562,1541,1563,1542,1564,   0,   0,
-  1543,1565,   0,   0,   0,   0,   0,   0,   0,   0,1606,1607,1609,1608,1610,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,1613,   0,1611,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1612,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1489,1503,1494,1500,1508,   0,   0,   0,   0,1520,
+  1521,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1526,1528,   0,1525,
+     0,   0,   0,1522,   0,   0,   0,   0,1536,1532,1539,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,1534,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,1556,   0,   0,   0,   0,   0,   0,1548,1550,   0,1547,
+     0,   0,   0,1567,   0,   0,   0,   0,1558,1554,1561,   0,   0,   0,   0,   0,
+     0,   0,1568,1569,   0,   0,   0,   0,   0,   0,   0,   0,   0,1529,1551,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1523,1545,1524,1546,
+     0,   0,1527,1549,   0,   0,1570,1571,1530,1552,1531,1553,   0,   0,1533,1555,
+  1535,1557,1537,1559,   0,   0,1572,1573,1544,1566,1538,1560,1540,1562,1541,1563,
+  1542,1564,   0,   0,1543,1565,   0,   0,   0,   0,   0,   0,   0,   0,1606,1607,
+  1609,1608,1610,   0,   0,   0,   0,   0,   0,   0,   0,   0,1613,   0,1611,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1612,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1620,   0,   0,   0,   0,   0,   0,   0,1623,   0,   0,1624,   0,   0,   0,
+     0,   0,   0,   0,   0,1620,   0,   0,   0,   0,   0,   0,   0,1623,   0,   0,
+  1624,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,1614,1615,1616,1617,1618,1619,1621,1622,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,1628,1629,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1625,1626,   0,1627,   0,   0,   0,1634,
+     0,   0,1635,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,1630,1631,1632,   0,   0,1633,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,1639,   0,   0,1638,1640,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1636,1637,   0,   0,   0,   0,   0,   0,
+  1641,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1642,1644,1643,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,1645,   0,   0,   0,   0,   0,   0,   0,1646,   0,   0,   0,
+     0,   0,   0,1648,1649,   0,1647,1650,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1651,1653,1652,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1654,   0,1655,1657,1656,   0,   0,   0,   0,1659,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1660,   0,   0,   0,   0,1661,   0,
+     0,   0,   0,1662,   0,   0,   0,   0,1663,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,1658,   0,   0,   0,   0,   0,   0,   0,   0,   0,1664,
+     0,1665,1673,   0,1674,   0,   0,   0,   0,   0,   0,   0,   0,1666,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1668,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1669,   0,   0,   0,   0,1670,   0,
+     0,   0,   0,1671,   0,   0,   0,   0,1672,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,1667,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,1675,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,1676,   0,1677,   0,1678,   0,1679,   0,1680,   0,   0,   0,1681,   0,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1614,1615,1616,1617,1618,1619,1621,1622,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1628,1629,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1625,1626,   0,1627,   0,   0,   0,1634,   0,   0,1635,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1630,1631,1632,   0,   0,1633,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1639,   0,   0,1638,1640,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1636,1637,   0,   0,   0,   0,   0,   0,1641,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,1682,   0,1683,   0,   0,1684,1685,   0,1686,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 953,1138, 955,1140,
+   956,1141, 957,1142,1324,1351, 963,1148, 965,1150, 968,1153, 966,1151, 967,1152,
+  1378,1380,1379,1381, 984,1169, 985,1170,1420,1421, 986,1171, 989,1174, 995,1180,
+   998,1183, 996,1181, 999,1184,1000,1185,1015,1200,1329,1356,1017,1203,1019,1205,
+  1021,1207,1024,1210,1687,1688,1027,1213,1026,1212,1028,1214,1029,1215,1030,1216,
+  1034,1220,1036,1222,1039,1225,1038,1224,1334,1361,1336,1363,1382,1384,1383,1385,
+  1056,1242,1057,1243,1059,1245,1063,1249,1689,1690,1065,1251,1068,1254,1070,1256,
+  1386,1387,1388,1389,1691,1692,1073,1259,1075,1262,1079,1266,1078,1265,1095,1282,
+  1098,1285,1097,1284,1390,1391,1392,1393,1099,1286,1100,1287,1101,1288,1102,1289,
+  1105,1292,1104,1291,1106,1294,1107,1295,1108,1296,1114,1302,1119,1308,1122,1311,
+  1123,1312,1186,1260,1293,1305,   0,1394,   0,   0,   0,   0, 952,1137, 947,1132,
+  1317,1344,1316,1343,1319,1346,1318,1345,1693,1695,1371,1375,1370,1374,1373,1377,
+  1372,1376,1694,1696, 981,1166, 977,1162, 972,1157,1326,1353,1325,1352,1328,1355,
+  1327,1354,1697,1698,1009,1194,1013,1198,1054,1240,1048,1234,1331,1358,1330,1357,
+  1333,1360,1332,1359,1699,1700,1396,1401,1395,1400,1398,1403,1397,1402,1399,1404,
+  1094,1281,1087,1274,1406,1411,1405,1410,1408,1413,1407,1412,1409,1414,1109,1297,
+  1117,1306,1116,1304,1112,1300,   0,   0,   0,   0,   0,   0,1471,1472,1701,1705,
+  1702,1706,1703,1707,1430,1431,1715,1719,1716,1720,1717,1721,1477,1478,1729,1731,
+  1730,1732,   0,   0,1435,1436,1733,1735,1734,1736,   0,   0,1481,1482,1737,1741,
+  1738,1742,1739,1743,1439,1440,1751,1755,1752,1756,1753,1757,1490,1491,1765,1768,
+  1766,1769,1767,1770,1447,1448,1771,1774,1772,1775,1773,1776,1495,1496,1777,1779,
+  1778,1780,   0,   0,1451,1452,1781,1783,1782,1784,   0,   0,1504,1505,1785,1788,
+  1786,1789,1787,1790,   0,1459,   0,1791,   0,1792,   0,1793,1509,1510,1794,1798,
+  1795,1799,1796,1800,1462,1463,1808,1812,1809,1813,1810,1814,1467,  21,1475,  22,
+  1479,  23,1485,  24,1493,  27,1499,  28,1507,  29,   0,   0,1704,1708,1709,1710,
+  1711,1712,1713,1714,1718,1722,1723,1724,1725,1726,1727,1728,1740,1744,1745,1746,
+  1747,1748,1749,1750,1754,1758,1759,1760,1761,1762,1763,1764,1797,1801,1802,1803,
+  1804,1805,1806,1807,1811,1815,1816,1817,1818,1819,1820,1821,1470,1469,1822,1474,
+  1465,   0,1473,1825,1429,1428,1426,  12,1432,   0,  26,   0,   0,1315,1823,1484,
+  1466,   0,1483,1829,1433,  13,1437,  14,1441,1826,1827,1828,1488,1487,1513,  19,
+     0,   0,1492,1515,1445,1444,1442,  15,   0,1831,1832,1833,1502,1501,1516,  25,
+  1497,1498,1506,1518,1457,1456,1454,  17,1453,1313,  11,   3,   0,   0,1824,1512,
+  1519,   0,1511,1830,1449,  16,1460,  18,1464,   4,   0,   0,  30,  31,   0,   0,
      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1642,1644,1643,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1645,   0,   0,   0,   0,   0,   0,   0,1646,   0,   0,   0,   0,   0,   0,1648,
-  1649,   0,1647,1650,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1651,1653,1652,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1654,   0,1655,1657,1656,   0,   0,   0,   0,1659,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1660,   0,   0,   0,   0,1661,   0,   0,   0,   0,1662,
-     0,   0,   0,   0,1663,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1658,   0,   0,   0,   0,   0,   0,   0,   0,   0,1664,   0,1665,1673,   0,
-  1674,   0,   0,   0,   0,   0,   0,   0,   0,1666,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1668,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1669,   0,   0,   0,   0,1670,   0,   0,   0,   0,1671,
-     0,   0,   0,   0,1672,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,1667,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1675,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1676,   0,
-  1677,   0,1678,   0,1679,   0,1680,   0,   0,   0,1681,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1682,   0,1683,   0,   0,1684,1685,   0,1686,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0, 953,1138, 955,1140, 956,1141, 957,1142,
-  1324,1351, 963,1148, 965,1150, 968,1153, 966,1151, 967,1152,1378,1380,1379,1381,
-   984,1169, 985,1170,1420,1421, 986,1171, 989,1174, 995,1180, 998,1183, 996,1181,
-   999,1184,1000,1185,1015,1200,1329,1356,1017,1203,1019,1205,1021,1207,1024,1210,
-  1687,1688,1027,1213,1026,1212,1028,1214,1029,1215,1030,1216,1034,1220,1036,1222,
-  1039,1225,1038,1224,1334,1361,1336,1363,1382,1384,1383,1385,1056,1242,1057,1243,
-  1059,1245,1063,1249,1689,1690,1065,1251,1068,1254,1070,1256,1386,1387,1388,1389,
-  1691,1692,1073,1259,1075,1262,1079,1266,1078,1265,1095,1282,1098,1285,1097,1284,
-  1390,1391,1392,1393,1099,1286,1100,1287,1101,1288,1102,1289,1105,1292,1104,1291,
-  1106,1294,1107,1295,1108,1296,1114,1302,1119,1308,1122,1311,1123,1312,1186,1260,
-  1293,1305,   0,1394,   0,   0,   0,   0, 952,1137, 947,1132,1317,1344,1316,1343,
-  1319,1346,1318,1345,1693,1695,1371,1375,1370,1374,1373,1377,1372,1376,1694,1696,
-   981,1166, 977,1162, 972,1157,1326,1353,1325,1352,1328,1355,1327,1354,1697,1698,
-  1009,1194,1013,1198,1054,1240,1048,1234,1331,1358,1330,1357,1333,1360,1332,1359,
-  1699,1700,1396,1401,1395,1400,1398,1403,1397,1402,1399,1404,1094,1281,1087,1274,
-  1406,1411,1405,1410,1408,1413,1407,1412,1409,1414,1109,1297,1117,1306,1116,1304,
-  1112,1300,   0,   0,   0,   0,   0,   0,1471,1472,1701,1705,1702,1706,1703,1707,
-  1430,1431,1715,1719,1716,1720,1717,1721,1477,1478,1729,1731,1730,1732,   0,   0,
-  1435,1436,1733,1735,1734,1736,   0,   0,1481,1482,1737,1741,1738,1742,1739,1743,
-  1439,1440,1751,1755,1752,1756,1753,1757,1490,1491,1765,1768,1766,1769,1767,1770,
-  1447,1448,1771,1774,1772,1775,1773,1776,1495,1496,1777,1779,1778,1780,   0,   0,
-  1451,1452,1781,1783,1782,1784,   0,   0,1504,1505,1785,1788,1786,1789,1787,1790,
-     0,1459,   0,1791,   0,1792,   0,1793,1509,1510,1794,1798,1795,1799,1796,1800,
-  1462,1463,1808,1812,1809,1813,1810,1814,1467,  21,1475,  22,1479,  23,1485,  24,
-  1493,  27,1499,  28,1507,  29,   0,   0,1704,1708,1709,1710,1711,1712,1713,1714,
-  1718,1722,1723,1724,1725,1726,1727,1728,1740,1744,1745,1746,1747,1748,1749,1750,
-  1754,1758,1759,1760,1761,1762,1763,1764,1797,1801,1802,1803,1804,1805,1806,1807,
-  1811,1815,1816,1817,1818,1819,1820,1821,1470,1469,1822,1474,1465,   0,1473,1825,
-  1429,1428,1426,  12,1432,   0,  26,   0,   0,1315,1823,1484,1466,   0,1483,1829,
-  1433,  13,1437,  14,1441,1826,1827,1828,1488,1487,1513,  19,   0,   0,1492,1515,
-  1445,1444,1442,  15,   0,1831,1832,1833,1502,1501,1516,  25,1497,1498,1506,1518,
-  1457,1456,1454,  17,1453,1313,  11,   3,   0,   0,1824,1512,1519,   0,1511,1830,
-  1449,  16,1460,  18,1464,   4,   0,   0,  30,  31,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  20,   0,
-     0,   0,   2,   6,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1834,1835,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1836,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1837,1839,1838,   0,   0,   0,   0,1840,   0,   0,   0,
-     0,1841,   0,   0,1842,   0,   0,   0,   0,   0,   0,   0,1843,   0,1844,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,1845,   0,   0,1846,   0,   0,1847,
-     0,1848,   0,   0,   0,   0,   0,   0, 937,   0,1850,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1849, 936, 938,1851,1852,   0,   0,1853,1854,   0,   0,
-  1855,1856,   0,   0,   0,   0,   0,   0,1857,1858,   0,   0,1861,1862,   0,   0,
-  1863,1864,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1867,1868,1869,1870,1859,1860,1865,1866,   0,   0,   0,   0,
-     0,   0,1871,1872,1873,1874,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,  32,  33,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1875,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1877,   0,1878,   0,1879,   0,1880,   0,1881,   0,1882,   0,
-  1883,   0,1884,   0,1885,   0,1886,   0,1887,   0,1888,   0,   0,1889,   0,1890,
-     0,1891,   0,   0,   0,   0,   0,   0,1892,1893,   0,1894,1895,   0,1896,1897,
-     0,1898,1899,   0,1900,1901,   0,   0,   0,   0,   0,   0,1876,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1902,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,1904,   0,1905,   0,1906,   0,1907,   0,1908,   0,1909,   0,
-  1910,   0,1911,   0,1912,   0,1913,   0,1914,   0,1915,   0,   0,1916,   0,1917,
-     0,1918,   0,   0,   0,   0,   0,   0,1919,1920,   0,1921,1922,   0,1923,1924,
-     0,1925,1926,   0,1927,1928,   0,   0,   0,   0,   0,   0,1903,   0,   0,1929,
-  1930,1931,1932,   0,   0,   0,1933,   0, 710, 385, 724, 715, 455, 103, 186, 825,
-   825, 242, 751, 205, 241, 336, 524, 601, 663, 676, 688, 738, 411, 434, 474, 500,
-   649, 746, 799, 108, 180, 416, 482, 662, 810, 275, 462, 658, 692, 344, 618, 679,
-   293, 388, 440, 492, 740, 116, 146, 168, 368, 414, 481, 527, 606, 660, 665, 722,
-   781, 803, 809, 538, 553, 588, 642, 758, 811, 701, 233, 299, 573, 612, 487, 540,
-   714, 779, 232, 267, 412, 445, 457, 585, 594, 766, 167, 613, 149, 148, 560, 589,
-   648, 768, 708, 345, 411, 704, 105, 259, 313, 496, 518, 174, 542, 120, 307, 101,
-   430, 372, 584, 183, 228, 529, 650, 697, 424, 732, 428, 349, 632, 355, 517, 110,
-   135, 147, 403, 580, 624, 700, 750, 170, 193, 245, 297, 374, 463, 543, 763, 801,
-   812, 815, 162, 384, 420, 730, 287, 330, 337, 366, 459, 476, 509, 558, 591, 610,
-   726, 652, 734, 759, 154, 163, 198, 473, 683, 697, 292, 311, 353, 423, 572, 494,
-   113, 217, 259, 280, 314, 499, 506, 603, 608, 752, 778, 782, 788, 117, 557, 748,
-   774, 320, 109, 126, 260, 265, 373, 411, 479, 523, 655, 737, 823, 380, 765, 161,
-   395, 398, 438, 451, 502, 516, 537, 583, 791, 136, 340, 769, 122, 273, 446, 727,
-   305, 322, 400, 496, 771, 155, 190, 269, 377, 391, 406, 432, 501, 519, 599, 684,
-   687, 749, 776, 175, 452, 191, 480, 510, 659, 772, 805, 813, 397, 444, 619, 566,
-   568, 575, 491, 471, 707, 111, 636, 156, 153, 288, 346, 578, 256, 435, 383, 729,
-   680, 767, 694, 295, 128, 210,   0,   0, 227,   0, 379,   0,   0, 150, 493, 525,
-   544, 551, 552, 556, 783, 576, 604,   0, 661,   0, 703,   0,   0, 735, 743,   0,
-     0,   0, 793, 794, 795, 808, 741, 773, 118, 127, 130, 166, 169, 177, 207, 213,
-   215, 226, 229, 268, 270, 317, 327, 329, 335, 369, 375, 381, 404, 441, 448, 458,
-   477, 484, 503, 539, 545, 547, 546, 548, 549, 550, 554, 555, 561, 564, 569, 591,
-   593, 595, 598, 607, 620, 625, 625, 651, 690, 695, 705, 706, 716, 717, 733, 735,
-   777, 786, 790, 315, 869, 623,   0,   0, 102, 145, 134, 115, 129, 138, 165, 171,
-   207, 202, 206, 212, 227, 231, 240, 243, 250, 254, 294, 296, 303, 308, 319, 325,
-   321, 329, 326, 335, 341, 357, 360, 362, 370, 379, 388, 389, 393, 421, 424, 438,
-   456, 454, 458, 465, 477, 535, 485, 490, 493, 507, 512, 514, 521, 522, 525, 526,
-   528, 533, 532, 541, 565, 569, 574, 586, 591, 597, 607, 637, 647, 674, 691, 693,
-   695, 698, 703, 699, 705, 704, 702, 706, 709, 717, 728, 736, 747, 754, 770, 777,
-   783, 784, 786, 787, 790, 802, 825, 848, 847, 857,  55,  65,  66, 883, 892, 916,
-   822, 824,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,1586,   0,1605,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1602,1603,1934,1935,1574,1575,1576,1577,1579,1580,1581,1583,1584,   0,
-  1585,1587,1588,1589,1591,   0,1592,   0,1593,1594,   0,1595,1596,   0,1598,1599,
-  1600,1601,1604,1582,1578,1590,1597,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1936,   0,1937,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1938,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1939,1940,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1941,1942,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1944,1943,   0,1945,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,1946,1947,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-  1948,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,1949,1950,1951,1952,1953,1954,1955,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,1956,1957,1958,1960,1959,1961,   0,   0,   0,   0,   0,   0,   0,
-     0,   0,   0,   0,   0,   0,   0,   0, 106, 104, 107, 826, 114, 118, 119, 121,
-   123, 124, 127, 125,  34, 830, 130, 131, 132, 137, 827,  35, 133, 139, 829, 142,
-   143, 112, 144, 145, 924, 151, 152,  37, 157, 158, 159, 160,  38, 165, 166, 169,
-   171, 172, 173, 174, 176, 177, 178, 179, 181, 182, 182, 182, 833, 468, 184, 185,
-   834, 187, 188, 189, 196, 192, 194, 195, 197, 199, 200, 201, 203, 204, 204, 206,
-   208, 209, 211, 218, 213, 219, 214, 216, 153, 234, 221, 222, 223, 220, 225, 224,
-   230, 835, 235, 236, 237, 238, 239, 244, 836, 837, 247, 248, 249, 246, 251,  39,
-    40, 253, 255, 255, 838, 257, 258, 259, 261, 839, 262, 263, 301, 264,  41, 266,
-   270, 272, 271, 841, 274, 842, 277, 276, 278, 281, 282,  42, 283, 284, 285, 286,
-    43, 843,  44, 289, 290, 291, 293, 934, 298, 845, 845, 621, 300, 300,  45, 852,
-   894, 302, 304,  46, 306, 309, 310, 312, 316,  48,  47, 317, 846, 318, 323, 324,
-   325, 324, 328, 329, 333, 331, 332, 334, 335, 336, 338, 339, 342, 343, 347, 351,
-   849, 350, 348, 352, 354, 359, 850, 361, 358, 356,  49, 363, 365, 367, 364,  50,
-   369, 371, 851, 376, 386, 378,  53, 381,  52,  51, 140, 141, 387, 382, 614,  78,
-   388, 389, 390, 394, 392, 856,  54, 399, 396, 402, 404, 858, 405, 401, 407,  55,
-   408, 409, 410, 413, 859, 415,  56, 417, 860, 418,  57, 419, 422, 424, 425, 861,
-   840, 862, 426, 863, 429, 431, 427, 433, 437, 441, 438, 439, 442, 443, 864, 436,
-   449, 450,  58, 454, 453, 865, 447, 460, 866, 867, 461, 466, 465, 464,  59, 467,
-   470, 469, 472, 828, 475, 868, 478, 870, 483, 485, 486, 871, 488, 489, 872, 873,
-   495, 497,  60, 498,  61,  61, 504, 505, 507, 508, 511,  62, 513, 874, 515, 875,
-   518, 844, 520, 876, 877, 878,  63,  64, 528, 880, 879, 881, 882, 530, 531, 531,
-   533,  66, 534,  67,  68, 884, 536, 538, 541,  69, 885, 549, 886, 887, 556, 559,
-    70, 561, 562, 563, 888, 889, 889, 567,  71, 890, 570, 571,  72, 891, 577,  73,
-   581, 579, 582, 893, 587,  74, 590, 592, 596,  75, 895, 896,  76, 897, 600, 898,
-   602, 605, 607, 899, 900, 609, 901, 611, 853,  77, 615, 616,  79, 617, 252, 902,
-   903, 854, 855, 621, 622, 731,  80, 627, 626, 628, 164, 629, 630, 631, 633, 904,
-   632, 634, 639, 640, 635, 641, 646, 651, 638, 643, 644, 645, 905, 907, 906,  81,
-   653, 654, 656, 911, 657, 908,  82,  83, 909, 910,  84, 664, 665, 666, 667, 669,
-   668, 671, 670, 674, 672, 673, 675,  85, 677, 678,  86, 681, 682, 912, 685, 686,
-    87, 689,  36, 913, 914,  88,  89, 696, 702, 709, 711, 915, 712, 713, 718, 719,
-   917, 831, 721, 720, 723, 832, 725, 728, 918, 919, 739, 742, 744, 920, 745, 753,
-   756, 757, 755, 760, 761, 921, 762,  90, 764, 922,  91, 775, 279, 780, 923, 925,
-    92,  93, 785, 926,  94, 927, 787, 787, 789, 928, 792,  95, 796, 797, 798, 800,
-    96, 929, 802, 804, 806,  97,  98, 807, 930,  99, 931, 932, 933, 814, 100, 816,
-   817, 818, 819, 820, 821, 935,   0,   0,
+     0,   0,  20,   0,   0,   0,   2,   6,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1834,1835,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1836,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1837,1839,1838,   0,   0,   0,   0,
+  1840,   0,   0,   0,   0,1841,   0,   0,1842,   0,   0,   0,   0,   0,   0,   0,
+  1843,   0,1844,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1845,   0,   0,
+  1846,   0,   0,1847,   0,1848,   0,   0,   0,   0,   0,   0, 937,   0,1850,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1849, 936, 938,1851,1852,   0,   0,
+  1853,1854,   0,   0,1855,1856,   0,   0,   0,   0,   0,   0,1857,1858,   0,   0,
+  1861,1862,   0,   0,1863,1864,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1867,1868,1869,1870,1859,1860,1865,1866,
+     0,   0,   0,   0,   0,   0,1871,1872,1873,1874,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,  32,  33,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1875,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1877,   0,1878,   0,1879,   0,1880,   0,
+  1881,   0,1882,   0,1883,   0,1884,   0,1885,   0,1886,   0,1887,   0,1888,   0,
+     0,1889,   0,1890,   0,1891,   0,   0,   0,   0,   0,   0,1892,1893,   0,1894,
+  1895,   0,1896,1897,   0,1898,1899,   0,1900,1901,   0,   0,   0,   0,   0,   0,
+  1876,   0,   0,   0,   0,   0,   0,   0,   0,   0,1902,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,1904,   0,1905,   0,1906,   0,1907,   0,
+  1908,   0,1909,   0,1910,   0,1911,   0,1912,   0,1913,   0,1914,   0,1915,   0,
+     0,1916,   0,1917,   0,1918,   0,   0,   0,   0,   0,   0,1919,1920,   0,1921,
+  1922,   0,1923,1924,   0,1925,1926,   0,1927,1928,   0,   0,   0,   0,   0,   0,
+  1903,   0,   0,1929,1930,1931,1932,   0,   0,   0,1933,   0, 710, 385, 724, 715,
+   455, 103, 186, 825, 825, 242, 751, 205, 241, 336, 524, 601, 663, 676, 688, 738,
+   411, 434, 474, 500, 649, 746, 799, 108, 180, 416, 482, 662, 810, 275, 462, 658,
+   692, 344, 618, 679, 293, 388, 440, 492, 740, 116, 146, 168, 368, 414, 481, 527,
+   606, 660, 665, 722, 781, 803, 809, 538, 553, 588, 642, 758, 811, 701, 233, 299,
+   573, 612, 487, 540, 714, 779, 232, 267, 412, 445, 457, 585, 594, 766, 167, 613,
+   149, 148, 560, 589, 648, 768, 708, 345, 411, 704, 105, 259, 313, 496, 518, 174,
+   542, 120, 307, 101, 430, 372, 584, 183, 228, 529, 650, 697, 424, 732, 428, 349,
+   632, 355, 517, 110, 135, 147, 403, 580, 624, 700, 750, 170, 193, 245, 297, 374,
+   463, 543, 763, 801, 812, 815, 162, 384, 420, 730, 287, 330, 337, 366, 459, 476,
+   509, 558, 591, 610, 726, 652, 734, 759, 154, 163, 198, 473, 683, 697, 292, 311,
+   353, 423, 572, 494, 113, 217, 259, 280, 314, 499, 506, 603, 608, 752, 778, 782,
+   788, 117, 557, 748, 774, 320, 109, 126, 260, 265, 373, 411, 479, 523, 655, 737,
+   823, 380, 765, 161, 395, 398, 438, 451, 502, 516, 537, 583, 791, 136, 340, 769,
+   122, 273, 446, 727, 305, 322, 400, 496, 771, 155, 190, 269, 377, 391, 406, 432,
+   501, 519, 599, 684, 687, 749, 776, 175, 452, 191, 480, 510, 659, 772, 805, 813,
+   397, 444, 619, 566, 568, 575, 491, 471, 707, 111, 636, 156, 153, 288, 346, 578,
+   256, 435, 383, 729, 680, 767, 694, 295, 128, 210,   0,   0, 227,   0, 379,   0,
+     0, 150, 493, 525, 544, 551, 552, 556, 783, 576, 604,   0, 661,   0, 703,   0,
+     0, 735, 743,   0,   0,   0, 793, 794, 795, 808, 741, 773, 118, 127, 130, 166,
+   169, 177, 207, 213, 215, 226, 229, 268, 270, 317, 327, 329, 335, 369, 375, 381,
+   404, 441, 448, 458, 477, 484, 503, 539, 545, 547, 546, 548, 549, 550, 554, 555,
+   561, 564, 569, 591, 593, 595, 598, 607, 620, 625, 625, 651, 690, 695, 705, 706,
+   716, 717, 733, 735, 777, 786, 790, 315, 869, 623,   0,   0, 102, 145, 134, 115,
+   129, 138, 165, 171, 207, 202, 206, 212, 227, 231, 240, 243, 250, 254, 294, 296,
+   303, 308, 319, 325, 321, 329, 326, 335, 341, 357, 360, 362, 370, 379, 388, 389,
+   393, 421, 424, 438, 456, 454, 458, 465, 477, 535, 485, 490, 493, 507, 512, 514,
+   521, 522, 525, 526, 528, 533, 532, 541, 565, 569, 574, 586, 591, 597, 607, 637,
+   647, 674, 691, 693, 695, 698, 703, 699, 705, 704, 702, 706, 709, 717, 728, 736,
+   747, 754, 770, 777, 783, 784, 786, 787, 790, 802, 825, 848, 847, 857,  55,  65,
+    66, 883, 892, 916, 822, 824,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,1586,   0,1605,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1602,1603,1934,1935,1574,1575,1576,1577,1579,1580,
+  1581,1583,1584,   0,1585,1587,1588,1589,1591,   0,1592,   0,1593,1594,   0,1595,
+  1596,   0,1598,1599,1600,1601,1604,1582,1578,1590,1597,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1936,   0,1937,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,1938,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1939,1940,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,1941,1942,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,1944,1943,   0,1945,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,1946,1947,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,1948,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,1949,1950,1951,1952,1953,1954,
+  1955,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,1956,1957,1958,1960,1959,1961,   0,   0,   0,
+     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 106, 104, 107, 826,
+   114, 118, 119, 121, 123, 124, 127, 125,  34, 830, 130, 131, 132, 137, 827,  35,
+   133, 139, 829, 142, 143, 112, 144, 145, 924, 151, 152,  37, 157, 158, 159, 160,
+    38, 165, 166, 169, 171, 172, 173, 174, 176, 177, 178, 179, 181, 182, 182, 182,
+   833, 468, 184, 185, 834, 187, 188, 189, 196, 192, 194, 195, 197, 199, 200, 201,
+   203, 204, 204, 206, 208, 209, 211, 218, 213, 219, 214, 216, 153, 234, 221, 222,
+   223, 220, 225, 224, 230, 835, 235, 236, 237, 238, 239, 244, 836, 837, 247, 248,
+   249, 246, 251,  39,  40, 253, 255, 255, 838, 257, 258, 259, 261, 839, 262, 263,
+   301, 264,  41, 266, 270, 272, 271, 841, 274, 842, 277, 276, 278, 281, 282,  42,
+   283, 284, 285, 286,  43, 843,  44, 289, 290, 291, 293, 934, 298, 845, 845, 621,
+   300, 300,  45, 852, 894, 302, 304,  46, 306, 309, 310, 312, 316,  48,  47, 317,
+   846, 318, 323, 324, 325, 324, 328, 329, 333, 331, 332, 334, 335, 336, 338, 339,
+   342, 343, 347, 351, 849, 350, 348, 352, 354, 359, 850, 361, 358, 356,  49, 363,
+   365, 367, 364,  50, 369, 371, 851, 376, 386, 378,  53, 381,  52,  51, 140, 141,
+   387, 382, 614,  78, 388, 389, 390, 394, 392, 856,  54, 399, 396, 402, 404, 858,
+   405, 401, 407,  55, 408, 409, 410, 413, 859, 415,  56, 417, 860, 418,  57, 419,
+   422, 424, 425, 861, 840, 862, 426, 863, 429, 431, 427, 433, 437, 441, 438, 439,
+   442, 443, 864, 436, 449, 450,  58, 454, 453, 865, 447, 460, 866, 867, 461, 466,
+   465, 464,  59, 467, 470, 469, 472, 828, 475, 868, 478, 870, 483, 485, 486, 871,
+   488, 489, 872, 873, 495, 497,  60, 498,  61,  61, 504, 505, 507, 508, 511,  62,
+   513, 874, 515, 875, 518, 844, 520, 876, 877, 878,  63,  64, 528, 880, 879, 881,
+   882, 530, 531, 531, 533,  66, 534,  67,  68, 884, 536, 538, 541,  69, 885, 549,
+   886, 887, 556, 559,  70, 561, 562, 563, 888, 889, 889, 567,  71, 890, 570, 571,
+    72, 891, 577,  73, 581, 579, 582, 893, 587,  74, 590, 592, 596,  75, 895, 896,
+    76, 897, 600, 898, 602, 605, 607, 899, 900, 609, 901, 611, 853,  77, 615, 616,
+    79, 617, 252, 902, 903, 854, 855, 621, 622, 731,  80, 627, 626, 628, 164, 629,
+   630, 631, 633, 904, 632, 634, 639, 640, 635, 641, 646, 651, 638, 643, 644, 645,
+   905, 907, 906,  81, 653, 654, 656, 911, 657, 908,  82,  83, 909, 910,  84, 664,
+   665, 666, 667, 669, 668, 671, 670, 674, 672, 673, 675,  85, 677, 678,  86, 681,
+   682, 912, 685, 686,  87, 689,  36, 913, 914,  88,  89, 696, 702, 709, 711, 915,
+   712, 713, 718, 719, 917, 831, 721, 720, 723, 832, 725, 728, 918, 919, 739, 742,
+   744, 920, 745, 753, 756, 757, 755, 760, 761, 921, 762,  90, 764, 922,  91, 775,
+   279, 780, 923, 925,  92,  93, 785, 926,  94, 927, 787, 787, 789, 928, 792,  95,
+   796, 797, 798, 800,  96, 929, 802, 804, 806,  97,  98, 807, 930,  99, 931, 932,
+   933, 814, 100, 816, 817, 818, 819, 820, 821, 935,   0,   0,
 };
 static const int16_t
 _hb_ucd_i16[92] =
@@ -4400,12 +4403,12 @@
 static inline uint_fast8_t
 _hb_ucd_gc (unsigned u)
 {
-  return u<1114110u?_hb_ucd_u8[6800+(((_hb_ucd_u8[1312+(((_hb_ucd_u16[((_hb_ucd_u8[544+(((_hb_ucd_u8[u>>1>>3>>3>>4])<<4)+((u>>1>>3>>3)&15u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:2;
+  return u<1114110u?_hb_ucd_u8[6808+(((_hb_ucd_u8[1312+(((_hb_ucd_u16[((_hb_ucd_u8[544+(((_hb_ucd_u8[u>>1>>3>>3>>4])<<4)+((u>>1>>3>>3)&15u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:2;
 }
 static inline uint_fast8_t
 _hb_ucd_ccc (unsigned u)
 {
-  return u<125259u?_hb_ucd_u8[8792+(((_hb_ucd_u8[8236+(((_hb_ucd_u8[7776+(((_hb_ucd_u8[7424+(((_hb_ucd_u8[7178+(u>>2>>2>>2>>3)])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:0;
+  return u<125259u?_hb_ucd_u8[8800+(((_hb_ucd_u8[8244+(((_hb_ucd_u8[7784+(((_hb_ucd_u8[7432+(((_hb_ucd_u8[7186+(u>>2>>2>>2>>3)])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:0;
 }
 static inline unsigned
 _hb_ucd_b4 (const uint8_t* a, unsigned i)
@@ -4415,24 +4418,24 @@
 static inline int_fast16_t
 _hb_ucd_bmg (unsigned u)
 {
-  return u<65380u?_hb_ucd_i16[((_hb_ucd_u8[9684+(((_hb_ucd_u8[9452+(((_hb_ucd_u8[9356+(((_hb_ucd_b4(9292+_hb_ucd_u8,u>>1>>2>>3>>3))<<3)+((u>>1>>2>>3)&7u))])<<3)+((u>>1>>2)&7u))])<<2)+((u>>1)&3u))])<<1)+((u)&1u)]:0;
+  return u<65380u?_hb_ucd_i16[((_hb_ucd_u8[9692+(((_hb_ucd_u8[9460+(((_hb_ucd_u8[9364+(((_hb_ucd_b4(9300+_hb_ucd_u8,u>>1>>2>>3>>3))<<3)+((u>>1>>2>>3)&7u))])<<3)+((u>>1>>2)&7u))])<<2)+((u>>1)&3u))])<<1)+((u)&1u)]:0;
 }
 static inline uint_fast8_t
 _hb_ucd_sc (unsigned u)
 {
-  return u<918000u?_hb_ucd_u8[11118+(((_hb_ucd_u16[4024+(((_hb_ucd_u16[2040+(((_hb_ucd_u8[10382+(((_hb_ucd_u8[9932+(u>>2>>2>>3>>4)])<<4)+((u>>2>>2>>3)&15u))])<<3)+((u>>2>>2)&7u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:2;
+  return u<918000u?_hb_ucd_u8[11126+(((_hb_ucd_u16[4040+(((_hb_ucd_u16[2048+(((_hb_ucd_u8[10390+(((_hb_ucd_u8[9940+(u>>2>>2>>3>>4)])<<4)+((u>>2>>2>>3)&15u))])<<3)+((u>>2>>2)&7u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:2;
 }
 static inline uint_fast16_t
 _hb_ucd_dm (unsigned u)
 {
-  return u<195102u?_hb_ucd_u16[6728+(((_hb_ucd_u8[13944+(((_hb_ucd_u8[13562+(u>>4>>5)])<<5)+((u>>4)&31u))])<<4)+((u)&15u))]:0;
+  return u<195102u?_hb_ucd_u16[6748+(((_hb_ucd_u8[13952+(((_hb_ucd_u8[13570+(u>>4>>5)])<<5)+((u>>4)&31u))])<<4)+((u)&15u))]:0;
 }
 
 
 #else
 
 static const uint8_t
-_hb_ucd_u8[13370] =
+_hb_ucd_u8[13386] =
 {
     0,  1,  2,  3,  4,  5,  6,  7,  7,  8,  7,  7,  7,  7,  7,  7,
     7,  7,  7,  7,  9, 10,  7,  7,  7,  7,  7, 11, 12, 12, 12, 13,
@@ -4440,7 +4443,7 @@
     7, 24, 21, 21, 21, 25, 26, 27, 21, 28, 29, 30, 31, 32, 33, 34,
     7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
     7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 35, 21, 36,
-    7,  7,  7,  7, 35, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+    7,  7,  7,  7, 37, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
@@ -4462,7 +4465,7 @@
    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
-   37, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+   38, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
@@ -4503,8 +4506,9 @@
    34,192,193,111,111,111,111,111,130,194,195,111, 34,196,111,111,
    67, 67,197, 67, 67,111, 67,198, 67, 67, 67, 67, 67, 67, 67, 67,
    67, 67, 67, 67, 67, 67, 67,199,111,111,111,111,111,111,111,111,
-   34, 34, 34, 34, 34, 34, 34, 34,111,111,111,111,111,111,111,111,
+   34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,111,111,111,
    34, 34, 34, 34, 34,111,111,111,111,111,111,111,111,111,111,111,
+   34, 34, 34, 34, 34, 34, 34, 34,111,111,111,111,111,111,111,111,
   200,111,188,188,111,111,111,111,111,111,111,111,111,111,111,111,
     0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  3,  2,  4,  5,  6,  2,
     7,  7,  7,  7,  7,  2,  8,  9, 10, 11, 11, 11, 11, 11, 11, 11,
@@ -4967,7 +4971,7 @@
    31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 65, 66, 67, 31, 31,
    31, 31, 68, 31, 31, 31, 31, 31, 31, 31, 31, 69, 70, 71, 17, 17,
    72, 73, 31, 74, 75, 76, 77, 78, 79, 31, 80, 81, 17, 82, 17, 17,
-   17, 17, 31, 31, 23, 23, 23, 23, 23, 23, 31, 31, 31, 31, 31, 31,
+   17, 17, 31, 31, 23, 23, 23, 23, 23, 23, 23, 83, 31, 31, 31, 31,
    23, 83, 31, 31, 23, 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    31, 31, 31, 31, 84,  0,  0,  1,  0,  1,  2,  3,  0,  1,  2,  3,
@@ -5597,12 +5601,12 @@
 static inline uint_fast8_t
 _hb_ucd_gc (unsigned u)
 {
-  return u<1114112u?_hb_ucd_u8[5080+(((_hb_ucd_u8[1152+(((_hb_ucd_u16[((_hb_ucd_u8[544+(((_hb_ucd_u8[u>>1>>3>>3>>4])<<4)+((u>>1>>3>>3)&15u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:2;
+  return u<1114112u?_hb_ucd_u8[5096+(((_hb_ucd_u8[1168+(((_hb_ucd_u16[((_hb_ucd_u8[544+(((_hb_ucd_u8[u>>1>>3>>3>>4])<<4)+((u>>1>>3>>3)&15u))])<<3)+((u>>1>>3)&7u)])<<3)+((u>>1)&7u))])<<1)+((u)&1u))]:2;
 }
 static inline uint_fast8_t
 _hb_ucd_ccc (unsigned u)
 {
-  return u<125259u?_hb_ucd_u8[7038+(((_hb_ucd_u8[6482+(((_hb_ucd_u8[6022+(((_hb_ucd_u8[5670+(((_hb_ucd_u8[5424+(u>>2>>2>>2>>3)])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:0;
+  return u<125259u?_hb_ucd_u8[7054+(((_hb_ucd_u8[6498+(((_hb_ucd_u8[6038+(((_hb_ucd_u8[5686+(((_hb_ucd_u8[5440+(u>>2>>2>>2>>3)])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:0;
 }
 static inline unsigned
 _hb_ucd_b4 (const uint8_t* a, unsigned i)
@@ -5612,17 +5616,17 @@
 static inline int_fast16_t
 _hb_ucd_bmg (unsigned u)
 {
-  return u<65380u?_hb_ucd_i16[((_hb_ucd_u8[7930+(((_hb_ucd_u8[7698+(((_hb_ucd_u8[7602+(((_hb_ucd_b4(7538+_hb_ucd_u8,u>>1>>2>>3>>3))<<3)+((u>>1>>2>>3)&7u))])<<3)+((u>>1>>2)&7u))])<<2)+((u>>1)&3u))])<<1)+((u)&1u)]:0;
+  return u<65380u?_hb_ucd_i16[((_hb_ucd_u8[7946+(((_hb_ucd_u8[7714+(((_hb_ucd_u8[7618+(((_hb_ucd_b4(7554+_hb_ucd_u8,u>>1>>2>>3>>3))<<3)+((u>>1>>2>>3)&7u))])<<3)+((u>>1>>2)&7u))])<<2)+((u>>1)&3u))])<<1)+((u)&1u)]:0;
 }
 static inline uint_fast8_t
 _hb_ucd_sc (unsigned u)
 {
-  return u<918016u?_hb_ucd_u8[11228+(((_hb_ucd_u8[10264+(((_hb_ucd_u8[9276+(((_hb_ucd_u8[8596+(((_hb_ucd_u8[8292+(((_hb_ucd_u8[8178+(u>>2>>2>>2>>3>>4)])<<4)+((u>>2>>2>>2>>3)&15u))])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:2;
+  return u<918016u?_hb_ucd_u8[11244+(((_hb_ucd_u8[10280+(((_hb_ucd_u8[9292+(((_hb_ucd_u8[8612+(((_hb_ucd_u8[8308+(((_hb_ucd_u8[8194+(u>>2>>2>>2>>3>>4)])<<4)+((u>>2>>2>>2>>3)&15u))])<<3)+((u>>2>>2>>2)&7u))])<<2)+((u>>2>>2)&3u))])<<2)+((u>>2)&3u))])<<2)+((u)&3u))]:2;
 }
 static inline uint_fast16_t
 _hb_ucd_dm (unsigned u)
 {
-  return u<195102u?_hb_ucd_u16[1608+(((_hb_ucd_u8[12570+(((_hb_ucd_u8[12188+(u>>4>>5)])<<5)+((u>>4)&31u))])<<4)+((u)&15u))]:0;
+  return u<195102u?_hb_ucd_u16[1608+(((_hb_ucd_u8[12586+(((_hb_ucd_u8[12204+(u>>4>>5)])<<5)+((u>>4)&31u))])<<4)+((u)&15u))]:0;
 }
 
 #endif
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh	2024-04-08 05:38:38.000000000 +0000
@@ -7,13 +7,13 @@
  * on file with this header:
  *
  * # emoji-data.txt
- * # Date: 2022-08-02, 00:26:10 GMT
- * # © 2022 Unicode®, Inc.
+ * # Date: 2023-02-01, 02:22:54 GMT
+ * # © 2023 Unicode®, Inc.
  * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
  * # For terms of use, see https://www.unicode.org/terms_of_use.html
  * #
  * # Emoji Data for UTS #51
- * # Used with Emoji Version 15.0 and subsequent minor revisions (if any)
+ * # Used with Emoji Version 15.1 and subsequent minor revisions (if any)
  * #
  * # For documentation and usage, see https://www.unicode.org/reports/tr51
  */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-vector.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-vector.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-vector.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-vector.hh	2024-04-08 05:38:38.000000000 +0000
@@ -54,7 +54,7 @@
   hb_vector_t (const Iterable &o) : hb_vector_t ()
   {
     auto iter = hb_iter (o);
-    if (iter.is_random_access_iterator)
+    if (iter.is_random_access_iterator || iter.has_fast_len)
       alloc (hb_len (iter), true);
     hb_copy (iter, *this);
   }
@@ -62,7 +62,19 @@
   {
     alloc (o.length, true);
     if (unlikely (in_error ())) return;
-    copy_vector (o);
+    copy_array (o.as_array ());
+  }
+  hb_vector_t (array_t o) : hb_vector_t ()
+  {
+    alloc (o.length, true);
+    if (unlikely (in_error ())) return;
+    copy_array (o);
+  }
+  hb_vector_t (c_array_t o) : hb_vector_t ()
+  {
+    alloc (o.length, true);
+    if (unlikely (in_error ())) return;
+    copy_array (o);
   }
   hb_vector_t (hb_vector_t &&o)
   {
@@ -74,7 +86,7 @@
   ~hb_vector_t () { fini (); }
 
   public:
-  int allocated = 0; /* == -1 means allocation failed. */
+  int allocated = 0; /* < 0 means allocation failed. */
   unsigned int length = 0;
   public:
   Type *arrayZ = nullptr;
@@ -90,19 +102,21 @@
 
   void fini ()
   {
-    shrink_vector (0);
-    hb_free (arrayZ);
+    /* We allow a hack to make the vector point to a foreign array
+     * by the user. In that case length/arrayZ are non-zero but
+     * allocated is zero. Don't free anything. */
+    if (allocated)
+    {
+      shrink_vector (0);
+      hb_free (arrayZ);
+    }
     init ();
   }
 
   void reset ()
   {
     if (unlikely (in_error ()))
-      /* Big Hack! We don't know the true allocated size before
-       * an allocation failure happened. But we know it was at
-       * least as big as length. Restore it to that and continue
-       * as if error did not happen. */
-      allocated = length;
+      reset_error ();
     resize (0);
   }
 
@@ -119,7 +133,7 @@
     alloc (o.length, true);
     if (unlikely (in_error ())) return *this;
 
-    copy_vector (o);
+    copy_array (o.as_array ());
 
     return *this;
   }
@@ -191,47 +205,38 @@
   Type *push ()
   {
     if (unlikely (!resize (length + 1)))
-      return &Crap (Type);
+      return std::addressof (Crap (Type));
     return std::addressof (arrayZ[length - 1]);
   }
-  template ::value &&
-                          std::is_copy_assignable::value)>
-  Type *push (T&& v)
-  {
-    Type *p = push ();
-    if (p == &Crap (Type))
-      // If push failed to allocate then don't copy v, since this may cause
-      // the created copy to leak memory since we won't have stored a
-      // reference to it.
-      return p;
-    *p = std::forward (v);
-    return p;
-  }
-  template ::value)>
-  Type *push (T&& v)
+  template  Type *push (Args&&... args)
   {
-    if (unlikely (!alloc (length + 1)))
+    if (unlikely ((int) length >= allocated && !alloc (length + 1)))
       // If push failed to allocate then don't copy v, since this may cause
       // the created copy to leak memory since we won't have stored a
       // reference to it.
-      return &Crap (Type);
+      return std::addressof (Crap (Type));
 
     /* Emplace. */
-    length++;
-    Type *p = std::addressof (arrayZ[length - 1]);
-    return new (p) Type (std::forward (v));
+    Type *p = std::addressof (arrayZ[length++]);
+    return new (p) Type (std::forward (args)...);
   }
 
   bool in_error () const { return allocated < 0; }
+  void set_error ()
+  {
+    assert (allocated >= 0);
+    allocated = -allocated - 1;
+  }
+  void reset_error ()
+  {
+    assert (allocated < 0);
+    allocated = -(allocated + 1);
+  }
 
   template 
   Type *
-  realloc_vector (unsigned new_allocated)
+  realloc_vector (unsigned new_allocated, hb_priority<0>)
   {
     if (!new_allocated)
     {
@@ -243,7 +248,7 @@
   template 
   Type *
-  realloc_vector (unsigned new_allocated)
+  realloc_vector (unsigned new_allocated, hb_priority<0>)
   {
     if (!new_allocated)
     {
@@ -263,47 +268,66 @@
     }
     return new_array;
   }
+  /* Specialization for hb_vector_t> to speed up. */
+  template ) ||
+                          hb_is_same (T, hb_array_t ))>
+  Type *
+  realloc_vector (unsigned new_allocated, hb_priority<1>)
+  {
+    if (!new_allocated)
+    {
+      hb_free (arrayZ);
+      return nullptr;
+    }
+    return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type));
+  }
 
   template 
   void
-  grow_vector (unsigned size)
+  grow_vector (unsigned size, hb_priority<0>)
   {
-    memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ));
+    hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ));
     length = size;
   }
   template 
   void
-  grow_vector (unsigned size)
+  grow_vector (unsigned size, hb_priority<0>)
   {
-    while (length < size)
-    {
-      length++;
-      new (std::addressof (arrayZ[length - 1])) Type ();
-    }
+    for (; length < size; length++)
+      new (std::addressof (arrayZ[length])) Type ();
+  }
+  /* Specialization for hb_vector_t> to speed up. */
+  template ) ||
+                          hb_is_same (T, hb_array_t ))>
+  void
+  grow_vector (unsigned size, hb_priority<1>)
+  {
+    hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ));
+    length = size;
   }
 
   template 
   void
-  copy_vector (const hb_vector_t &other)
+  copy_array (hb_array_t other)
   {
     length = other.length;
-#ifndef HB_OPTIMIZE_SIZE
-    if (sizeof (T) >= sizeof (long long))
+    if (!HB_OPTIMIZE_SIZE_VAL && sizeof (T) >= sizeof (long long))
       /* This runs faster because of alignment. */
       for (unsigned i = 0; i < length; i++)
         arrayZ[i] = other.arrayZ[i];
     else
-#endif
        hb_memcpy ((void *) arrayZ, (const void *) other.arrayZ, length * item_size);
   }
   template ::value)>
   void
-  copy_vector (const hb_vector_t &other)
+  copy_array (hb_array_t other)
   {
     length = 0;
     while (length < other.length)
@@ -318,7 +342,7 @@
                           std::is_default_constructible::value &&
                           std::is_copy_assignable::value)>
   void
-  copy_vector (const hb_vector_t &other)
+  copy_array (hb_array_t other)
   {
     length = 0;
     while (length < other.length)
@@ -332,11 +356,15 @@
   void
   shrink_vector (unsigned size)
   {
-    while ((unsigned) length > size)
+    assert (size <= length);
+    if (!std::is_trivially_destructible::value)
     {
-      arrayZ[(unsigned) length - 1].~Type ();
-      length--;
+      unsigned count = length - size;
+      Type *p = arrayZ + length - 1;
+      while (count--)
+        p--->~Type ();
     }
+    length = size;
   }
 
   void
@@ -383,18 +411,18 @@
 
     if (unlikely (overflows))
     {
-      allocated = -1;
+      set_error ();
       return false;
     }
 
-    Type *new_array = realloc_vector (new_allocated);
+    Type *new_array = realloc_vector (new_allocated, hb_prioritize);
 
     if (unlikely (new_allocated && !new_array))
     {
       if (new_allocated <= (unsigned) allocated)
         return true; // shrinking failed; it's okay; happens in our fuzzer
 
-      allocated = -1;
+      set_error ();
       return false;
     }
 
@@ -413,7 +441,7 @@
     if (size > length)
     {
       if (initialize)
-        grow_vector (size);
+        grow_vector (size, hb_prioritize);
     }
     else if (size < length)
     {
@@ -432,7 +460,7 @@
   Type pop ()
   {
     if (!length) return Null (Type);
-    Type v {std::move (arrayZ[length - 1])};
+    Type v (std::move (arrayZ[length - 1]));
     arrayZ[length - 1].~Type ();
     length--;
     return v;
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-version.h openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-version.h
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb-version.h	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb-version.h	2024-04-08 05:38:38.000000000 +0000
@@ -41,7 +41,7 @@
  *
  * The major component of the library version available at compile-time.
  */
-#define HB_VERSION_MAJOR 7
+#define HB_VERSION_MAJOR 8
 /**
  * HB_VERSION_MINOR:
  *
@@ -53,14 +53,14 @@
  *
  * The micro component of the library version available at compile-time.
  */
-#define HB_VERSION_MICRO 0
+#define HB_VERSION_MICRO 2
 
 /**
  * HB_VERSION_STRING:
  *
  * A string literal containing the library version available at compile-time.
  */
-#define HB_VERSION_STRING "7.2.0"
+#define HB_VERSION_STRING "8.2.2"
 
 /**
  * HB_VERSION_ATLEAST:
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb.hh openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb.hh
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libharfbuzz/hb.hh	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libharfbuzz/hb.hh	2024-04-08 05:38:38.000000000 +0000
@@ -64,6 +64,7 @@
 #pragma GCC diagnostic error   "-Wbitwise-instead-of-logical"
 #pragma GCC diagnostic error   "-Wcast-align"
 #pragma GCC diagnostic error   "-Wcast-function-type"
+#pragma GCC diagnostic error   "-Wconstant-conversion"
 #pragma GCC diagnostic error   "-Wcomma"
 #pragma GCC diagnostic error   "-Wdelete-non-virtual-dtor"
 #pragma GCC diagnostic error   "-Wembedded-directive"
@@ -255,8 +256,8 @@
 #endif
 
 #if defined(__OPTIMIZE__) && hb_has_builtin(__builtin_expect)
-#define likely(expr) (__builtin_expect (!!(expr), 1))
-#define unlikely(expr) (__builtin_expect (!!(expr), 0))
+#define likely(expr) __builtin_expect (bool(expr), 1)
+#define unlikely(expr) __builtin_expect (bool(expr), 0)
 #else
 #define likely(expr) (expr)
 #define unlikely(expr) (expr)
@@ -315,6 +316,14 @@
 #define __restrict
 #endif
 
+#ifndef HB_ALWAYS_INLINE
+#if defined(_MSC_VER)
+#define HB_ALWAYS_INLINE __forceinline
+#else
+#define HB_ALWAYS_INLINE __attribute__((always_inline)) inline
+#endif
+#endif
+
 /*
  * Borrowed from https://bugzilla.mozilla.org/show_bug.cgi?id=1215411
  * HB_FALLTHROUGH is an annotation to suppress compiler warnings about switch
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c	2024-04-08 05:38:38.000000000 +0000
@@ -1132,6 +1132,10 @@
         return;
     }
     num_bytes += sb->remaining_skip;
+    // Check for overflow if remaining_skip value is too large
+    if (num_bytes < 0) {
+        return;
+    }
     sb->remaining_skip = 0;
 
     /* First the easy case where we are skipping <= the current contents. */
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libjavajpeg/jpegdecoder.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libjavajpeg/jpegdecoder.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libjavajpeg/jpegdecoder.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libjavajpeg/jpegdecoder.c	2024-04-08 05:38:38.000000000 +0000
@@ -406,6 +406,10 @@
         return;
     }
     num_bytes += src->remaining_skip;
+    // Check for overflow if remaining_skip value is too large
+    if (num_bytes < 0) {
+        return;
+    }
     src->remaining_skip = 0;
     ret = (int)src->pub.bytes_in_buffer; /* this conversion is safe, because capacity of the buffer is limited by jnit */
     if (ret >= num_bytes) {
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/share/native/libjsound/MidiOutDevice.c openjdk-11-11.0.23+9/src/java.desktop/share/native/libjsound/MidiOutDevice.c
--- openjdk-11-11.0.22+7/src/java.desktop/share/native/libjsound/MidiOutDevice.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/share/native/libjsound/MidiOutDevice.c	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -121,6 +121,7 @@
                                                         jbyteArray jData, jint size, jlong timeStamp) {
 #if USE_PLATFORM_MIDI_OUT == TRUE
     UBYTE* data;
+    UBYTE* msg;
 #endif
 
     TRACE0("Java_com_sun_media_sound_MidiOutDevice_nSendLongMessage.\n");
@@ -133,11 +134,12 @@
     }
     /* "continuation" sysex messages start with F7 (instead of F0), but
        are sent without the F7. */
+    msg = data;
     if (data[0] == 0xF7 && size > 1) {
-        data++;
+        msg++;
         size--;
     }
-    MIDI_OUT_SendLongMessage((MidiDeviceHandle*) (UINT_PTR) deviceHandle, data,
+    MIDI_OUT_SendLongMessage((MidiDeviceHandle*) (UINT_PTR) deviceHandle, msg,
                              (UINT32) size, (UINT32)timeStamp);
     // release the byte array
     (*e)->ReleaseByteArrayElements(e, jData, (jbyte*) data, JNI_ABORT);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java openjdk-11-11.0.23+9/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java
--- openjdk-11-11.0.22+7/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,8 +26,12 @@
 
 import java.awt.RenderingHints;
 import static java.awt.RenderingHints.*;
+import static java.util.concurrent.TimeUnit.SECONDS;
 import java.awt.color.ColorSpace;
 import java.awt.image.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 
@@ -194,6 +198,74 @@
         return img;
     }
 
+    private static volatile Boolean shouldDisableSystemTray = null;
+
+    /**
+     * There is an issue displaying the xembed icons in appIndicators
+     * area with certain Gnome Shell versions.
+     * To avoid any loss of quality of service, we are disabling
+     * SystemTray support in such cases.
+     *
+     * @return true if system tray should be disabled
+     */
+    public boolean shouldDisableSystemTray() {
+        Boolean result = shouldDisableSystemTray;
+        if (result == null) {
+            synchronized (GTK_LOCK) {
+                result = shouldDisableSystemTray;
+                if (result == null) {
+                    String desktop = AccessController.doPrivileged(
+                            new GetPropertyAction("sun.desktop"));
+                    if ("gnome".equals(desktop)) {
+                        @SuppressWarnings("removal")
+                        Integer gnomeShellMajorVersion =
+                                AccessController
+                                        .doPrivileged((PrivilegedAction)
+                                                this::getGnomeShellMajorVersion);
+
+                        if (gnomeShellMajorVersion == null
+                                || gnomeShellMajorVersion < 45) {
+
+                            return shouldDisableSystemTray = true;
+                        }
+                    }
+                    shouldDisableSystemTray = result = false;
+                }
+            }
+        }
+        return result;
+    }
+
+    private Integer getGnomeShellMajorVersion() {
+        try {
+            Process process =
+                new ProcessBuilder("/usr/bin/gnome-shell", "--version")
+                        .start();
+            try (InputStreamReader isr = new InputStreamReader(process.getInputStream());
+                 BufferedReader reader = new BufferedReader(isr)) {
+
+                if (process.waitFor(2, SECONDS) &&  process.exitValue() == 0) {
+                    String line = reader.readLine();
+                    if (line != null) {
+                        String[] versionComponents = line
+                                .replaceAll("[^\\d.]", "")
+                                .split("\\.");
+
+                        if (versionComponents.length >= 1) {
+                            return Integer.parseInt(versionComponents[0]);
+                        }
+                    }
+                }
+            }
+        } catch (IOException
+                 | InterruptedException
+                 | IllegalThreadStateException
+                 | NumberFormatException ignored) {
+        }
+
+        return null;
+    }
+
     /**
      * Returns a BufferedImage which contains the Gtk icon requested.  If no
      * such icon exists or an error occurs loading the icon the result will
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/unix/classes/sun/awt/X11/XSystemTrayPeer.java openjdk-11-11.0.23+9/src/java.desktop/unix/classes/sun/awt/X11/XSystemTrayPeer.java
--- openjdk-11-11.0.22+7/src/java.desktop/unix/classes/sun/awt/X11/XSystemTrayPeer.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/unix/classes/sun/awt/X11/XSystemTrayPeer.java	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,7 @@
 import sun.awt.SunToolkit;
 import sun.awt.AppContext;
 import sun.awt.AWTAccessor;
+import sun.awt.UNIXToolkit;
 import sun.util.logging.PlatformLogger;
 
 public class XSystemTrayPeer implements SystemTrayPeer, XMSelectionListener {
@@ -48,22 +49,32 @@
     private static final XAtom _NET_SYSTEM_TRAY_OPCODE = XAtom.get("_NET_SYSTEM_TRAY_OPCODE");
     private static final XAtom _NET_WM_ICON = XAtom.get("_NET_WM_ICON");
     private static final long SYSTEM_TRAY_REQUEST_DOCK = 0;
+    private final boolean shouldDisableSystemTray;
 
     XSystemTrayPeer(SystemTray target) {
         this.target = target;
         peerInstance = this;
 
-        selection.addSelectionListener(this);
+        UNIXToolkit tk = (UNIXToolkit)Toolkit.getDefaultToolkit();
+        shouldDisableSystemTray = tk.shouldDisableSystemTray();
 
-        long selection_owner = selection.getOwner(SCREEN);
-        available = (selection_owner != XConstants.None);
+        if (!shouldDisableSystemTray) {
+            selection.addSelectionListener(this);
 
-        if (log.isLoggable(PlatformLogger.Level.FINE)) {
-            log.fine(" check if system tray is available. selection owner: " + selection_owner);
+            long selection_owner = selection.getOwner(SCREEN);
+            available = (selection_owner != XConstants.None);
+
+            if (log.isLoggable(PlatformLogger.Level.FINE)) {
+                log.fine(" check if system tray is available. selection owner: " + selection_owner);
+            }
         }
     }
 
     public void ownerChanged(int screen, XMSelection sel, long newOwner, long data, long timestamp) {
+        if (shouldDisableSystemTray) {
+            return;
+        }
+
         if (screen != SCREEN) {
             return;
         }
@@ -77,6 +88,10 @@
     }
 
     public void ownerDeath(int screen, XMSelection sel, long deadOwner) {
+        if (shouldDisableSystemTray) {
+            return;
+        }
+
         if (screen != SCREEN) {
             return;
         }
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c openjdk-11-11.0.23+9/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c
--- openjdk-11-11.0.22+7/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c	2024-04-08 05:38:38.000000000 +0000
@@ -2300,6 +2300,7 @@
 
     pRect = (RECT_T *)SAFE_SIZE_ARRAY_ALLOC(malloc, worstBufferSize, sizeof(RECT_T));
     if (!pRect) {
+        (*env)->ReleaseIntArrayElements(env, bitmap, values, JNI_ABORT);
         return;
     }
 
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp openjdk-11-11.0.23+9/src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp
--- openjdk-11-11.0.22+7/src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp	2024-04-08 05:38:38.000000000 +0000
@@ -90,6 +90,7 @@
 typedef HRESULT(__stdcall *PFNDRAWTHEMEBACKGROUND)(HTHEME hTheme, HDC hdc,
         int iPartId, int iStateId, const RECT *pRect,  const RECT *pClipRect);
 
+typedef HTHEME(__stdcall *PFNOPENTHEMEDATA)(HWND hwnd, LPCWSTR pszClassList);
 typedef HTHEME(__stdcall *PFNOPENTHEMEDATAFORDPI)(HWND hwnd, LPCWSTR pszClassList, UINT dpi);
 
 typedef HRESULT (__stdcall *PFNDRAWTHEMETEXT)(HTHEME hTheme, HDC hdc,
@@ -134,6 +135,7 @@
                 (HTHEME hTheme, int iPartId, int iStateIdFrom, int iStateIdTo,
                  int iPropId, DWORD *pdwDuration);
 
+static PFNOPENTHEMEDATA OpenThemeDataFunc = NULL;
 static PFNOPENTHEMEDATAFORDPI OpenThemeDataForDpiFunc = NULL;
 static PFNDRAWTHEMEBACKGROUND DrawThemeBackground = NULL;
 static PFNCLOSETHEMEDATA CloseThemeData = NULL;
@@ -154,13 +156,17 @@
 //this function might not exist on Windows XP
 static PFNGETTHEMETRANSITIONDURATION GetThemeTransitionDuration = NULL;
 
+constexpr unsigned int defaultDPI = 96;
 
-BOOL InitThemes() {
+
+static BOOL InitThemes() {
     static HMODULE hModThemes = NULL;
     hModThemes = JDK_LoadSystemLibrary("UXTHEME.DLL");
     DTRACE_PRINTLN1("InitThemes hModThemes = %x\n", hModThemes);
     if(hModThemes) {
         DTRACE_PRINTLN("Loaded UxTheme.dll\n");
+        OpenThemeDataFunc = (PFNOPENTHEMEDATA)GetProcAddress(hModThemes,
+                                                         "OpenThemeData");
         OpenThemeDataForDpiFunc = (PFNOPENTHEMEDATAFORDPI)GetProcAddress(
                                    hModThemes, "OpenThemeDataForDpi");
         DrawThemeBackground = (PFNDRAWTHEMEBACKGROUND)GetProcAddress(
@@ -198,7 +204,7 @@
             (PFNGETTHEMETRANSITIONDURATION)GetProcAddress(hModThemes,
                                         "GetThemeTransitionDuration");
 
-        if(OpenThemeDataForDpiFunc
+        if((OpenThemeDataForDpiFunc || OpenThemeDataFunc)
            && DrawThemeBackground
            && CloseThemeData
            && DrawThemeText
@@ -218,10 +224,12 @@
               DTRACE_PRINTLN("Loaded function pointers.\n");
               // We need to make sure we can load the Theme.
               // Use the default DPI value of 96 on windows.
-              constexpr unsigned int defaultDPI = 96;
-              HTHEME hTheme = OpenThemeDataForDpiFunc (
-                              AwtToolkit::GetInstance().GetHWnd(),
-                              L"Button", defaultDPI);
+              HTHEME hTheme = OpenThemeDataForDpiFunc
+                              ? OpenThemeDataForDpiFunc(AwtToolkit::GetInstance().GetHWnd(),
+                                                        L"Button", defaultDPI)
+                              : OpenThemeDataFunc(AwtToolkit::GetInstance().GetHWnd(),
+                                                  L"Button");
+
               if(hTheme) {
                   DTRACE_PRINTLN("Loaded Theme data.\n");
                   CloseThemeData(hTheme);
@@ -285,11 +293,13 @@
         JNU_ThrowOutOfMemoryError(env, 0);
         return 0;
     }
+
     // We need to open the Theme on a Window that will stick around.
     // The best one for that purpose is the Toolkit window.
-    HTHEME htheme = OpenThemeDataForDpiFunc(
-                    AwtToolkit::GetInstance().GetHWnd(),
-                    str, dpi);
+    HTHEME htheme = OpenThemeDataForDpiFunc
+                    ? OpenThemeDataForDpiFunc(AwtToolkit::GetInstance().GetHWnd(), str, dpi)
+                    : OpenThemeDataFunc(AwtToolkit::GetInstance().GetHWnd(), str);
+
     JNU_ReleaseStringPlatformChars(env, widget, str);
     return (jlong) htheme;
 }
@@ -460,6 +470,7 @@
             NULL, 0);
     if (hDibSection == NULL) {
         DTRACE_PRINTLN("Error creating DIB section");
+        DeleteDC(memDC);
         ReleaseDC(NULL,defaultDC);
         return;
     }
@@ -468,9 +479,14 @@
 
     rect.left = 0;
     rect.top = 0;
-    rect.bottom = rectBottom;
-    rect.right = rectRight;
 
+    if (OpenThemeDataForDpiFunc) {
+        rect.bottom = rectBottom;
+        rect.right = rectRight;
+    } else {
+        rect.bottom = h;
+        rect.right = w;
+    }
     ZeroMemory(pSrcBits,(BITS_PER_PIXEL>>3)*w*h);
 
     HRESULT hres = DrawThemeBackground(hTheme, memDC, part, state, &rect, NULL);
@@ -493,6 +509,28 @@
     ReleaseDC(NULL,defaultDC);
 }
 
+static void rescale(SIZE *size) {
+    static int dpiX = -1;
+    static int dpiY = -1;
+
+    if (dpiX == -1 || dpiY == -1) {
+        HWND hWnd = ::GetDesktopWindow();
+        HDC hDC = ::GetDC(hWnd);
+        dpiX = ::GetDeviceCaps(hDC, LOGPIXELSX);
+        dpiY = ::GetDeviceCaps(hDC, LOGPIXELSY);
+        ::ReleaseDC(hWnd, hDC);
+    }
+
+    if (dpiX !=0 && dpiX != defaultDPI) {
+        float invScaleX = (float) defaultDPI / dpiX;
+        size->cx = (int) round(size->cx * invScaleX);
+    }
+    if (dpiY != 0 && dpiY != defaultDPI) {
+        float invScaleY = (float) defaultDPI / dpiY;
+        size->cy = (int) round(size->cy * invScaleY);
+    }
+}
+
 jobject newInsets(JNIEnv *env, jint top, jint left, jint bottom, jint right) {
     if (env->EnsureLocalCapacity(2) < 0) {
         return NULL;
@@ -784,6 +822,10 @@
                 CHECK_NULL_RETURN(dimMID, NULL);
             }
 
+            if (!OpenThemeDataForDpiFunc) {
+                rescale(&size);
+            }
+
             jobject dimObj = env->NewObject(dimClassID, dimMID, size.cx, size.cy);
             if (safe_ExceptionOccurred(env)) {
                 env->ExceptionDescribe();
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp openjdk-11-11.0.23+9/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp
--- openjdk-11-11.0.22+7/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2023, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -170,6 +170,8 @@
     // create an offscreen bitmap
     hbitmap = ::CreateCompatibleBitmap(hdcScreen, width, height);
     if (hbitmap == NULL) {
+        ::DeleteDC(hdcMem);
+        ::DeleteDC(hdcScreen);
         throw std::bad_alloc();
     }
     hOldBitmap = (HBITMAP)::SelectObject(hdcMem, hbitmap);
@@ -189,9 +191,21 @@
     static const int BITS_PER_PIXEL = 32;
     static const int BYTES_PER_PIXEL = BITS_PER_PIXEL/8;
 
-    if (!IS_SAFE_SIZE_MUL(width, height)) throw std::bad_alloc();
+    if (!IS_SAFE_SIZE_MUL(width, height)) {
+        ::DeleteObject(hbitmap);
+        ::DeleteDC(hdcMem);
+        ::DeleteDC(hdcScreen);
+        throw std::bad_alloc();
+    }
+
     int numPixels = width*height;
-    if (!IS_SAFE_SIZE_MUL(BYTES_PER_PIXEL, numPixels)) throw std::bad_alloc();
+    if (!IS_SAFE_SIZE_MUL(BYTES_PER_PIXEL, numPixels)) {
+        ::DeleteObject(hbitmap);
+        ::DeleteDC(hdcMem);
+        ::DeleteDC(hdcScreen);
+        throw std::bad_alloc();
+    }
+
     int pixelDataSize = BYTES_PER_PIXEL*numPixels;
     DASSERT(pixelDataSize > 0 && pixelDataSize % 4 == 0);
     // allocate memory for BITMAPINFO + pixel data
@@ -202,6 +216,9 @@
     // See MSDN docs for BITMAPINFOHEADER -bchristi
 
     if (!IS_SAFE_SIZE_ADD(sizeof(BITMAPINFOHEADER) + 3 * sizeof(RGBQUAD), pixelDataSize)) {
+        ::DeleteObject(hbitmap);
+        ::DeleteDC(hdcMem);
+        ::DeleteDC(hdcScreen);
         throw std::bad_alloc();
     }
     BITMAPINFO * pinfo = (BITMAPINFO *)(new BYTE[sizeof(BITMAPINFOHEADER) + 3 * sizeof(RGBQUAD) + pixelDataSize]);
diff -Nru openjdk-11-11.0.22+7/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp openjdk-11-11.0.23+9/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp
--- openjdk-11-11.0.22+7/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -184,6 +184,12 @@
         return 0;
     }
 
+    HRESULT hr = ::CoInitializeEx(NULL, COINIT_MULTITHREADED | COINIT_DISABLE_OLE1DDE);
+    if (FAILED(hr) && hr != RPC_E_CHANGED_MODE) {
+        DS_unlockCache();
+        return 0;
+    }
+
     if (g_lastCacheRefreshTime == 0
         || (UINT64) timeGetTime() > (UINT64) (g_lastCacheRefreshTime + WAIT_BETWEEN_CACHE_REFRESH_MILLIS)) {
         /* first, initialize any old cache items */
@@ -224,6 +230,11 @@
 
         g_lastCacheRefreshTime = (UINT64) timeGetTime();
     }
+
+    if (hr != RPC_E_CHANGED_MODE) {
+        ::CoUninitialize();
+    }
+
     DS_unlockCache();
     /*TRACE1("DirectSound: %d installed devices\n", g_mixerCount);*/
     return g_mixerCount;
@@ -258,6 +269,13 @@
         DS_unlockCache();
         return FALSE;
     }
+
+    HRESULT hr = ::CoInitializeEx(NULL, COINIT_MULTITHREADED | COINIT_DISABLE_OLE1DDE);
+    if (FAILED(hr) && hr != RPC_E_CHANGED_MODE) {
+        DS_unlockCache();
+        return 0;
+    }
+
     desc->maxSimulLines = 0;
     if (g_audioDeviceCache[desc->deviceID].isSource) {
         DirectSoundEnumerateW((LPDSENUMCALLBACKW) DS_GetDescEnum, desc);
@@ -267,6 +285,10 @@
         strncpy(desc->description, "DirectSound Capture", DAUDIO_STRING_LENGTH);
     }
 
+    if (hr != RPC_E_CHANGED_MODE) {
+        ::CoUninitialize();
+    }
+
     /*desc->vendor;
     desc->version;*/
 
diff -Nru openjdk-11-11.0.22+7/src/java.management/share/classes/sun/management/ThreadImpl.java openjdk-11-11.0.23+9/src/java.management/share/classes/sun/management/ThreadImpl.java
--- openjdk-11-11.0.22+7/src/java.management/share/classes/sun/management/ThreadImpl.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.management/share/classes/sun/management/ThreadImpl.java	2024-04-08 05:38:38.000000000 +0000
@@ -349,6 +349,13 @@
         }
     }
 
+    protected long getTotalThreadAllocatedBytes() {
+        if (isThreadAllocatedMemoryEnabled()) {
+            return getTotalThreadAllocatedMemory();
+        }
+        return -1;
+    }
+
     protected long getCurrentThreadAllocatedBytes() {
         if (isThreadAllocatedMemoryEnabled()) {
             return getThreadAllocatedMemory0(0);
@@ -532,6 +539,7 @@
     private static native void getThreadUserCpuTime1(long[] ids, long[] result);
     private static native long getThreadAllocatedMemory0(long id);
     private static native void getThreadAllocatedMemory1(long[] ids, long[] result);
+    private static native long getTotalThreadAllocatedMemory();
     private static native void setThreadCpuTimeEnabled0(boolean enable);
     private static native void setThreadAllocatedMemoryEnabled0(boolean enable);
     private static native void setThreadContentionMonitoringEnabled0(boolean enable);
diff -Nru openjdk-11-11.0.22+7/src/java.management/share/native/libmanagement/ThreadImpl.c openjdk-11-11.0.23+9/src/java.management/share/native/libmanagement/ThreadImpl.c
--- openjdk-11-11.0.22+7/src/java.management/share/native/libmanagement/ThreadImpl.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.management/share/native/libmanagement/ThreadImpl.c	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,7 +98,7 @@
 Java_sun_management_ThreadImpl_getThreadAllocatedMemory0
   (JNIEnv *env, jclass cls, jlong tid)
 {
-  return jmm_interface->GetOneThreadAllocatedMemory(env, tid);
+    return jmm_interface->GetOneThreadAllocatedMemory(env, tid);
 }
 
 JNIEXPORT void JNICALL
@@ -108,6 +108,13 @@
     jmm_interface->GetThreadAllocatedMemory(env, ids, sizeArray);
 }
 
+JNIEXPORT jlong JNICALL
+Java_sun_management_ThreadImpl_getTotalThreadAllocatedMemory
+  (JNIEnv *env, jclass cls)
+{
+    return jmm_interface->GetTotalThreadAllocatedMemory(env);
+}
+
 JNIEXPORT jobjectArray JNICALL
 Java_sun_management_ThreadImpl_findMonitorDeadlockedThreads0
   (JNIEnv *env, jclass cls)
diff -Nru openjdk-11-11.0.22+7/src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java openjdk-11-11.0.23+9/src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java
--- openjdk-11-11.0.22+7/src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java	2024-04-08 05:38:38.000000000 +0000
@@ -103,14 +103,10 @@
                 return false;
             }
             if (secure && destination != null) {
-                if (destination.getHostName() != null) {
-                    if (!destination.getHostName().equalsIgnoreCase(
-                            other.destination.getHostName())) {
-                        return false;
-                    }
-                } else {
-                    if (other.destination.getHostName() != null)
-                        return false;
+                String hostString = destination.getHostString();
+                if (hostString == null || !hostString.equalsIgnoreCase(
+                        other.destination.getHostString())) {
+                    return false;
                 }
             }
             return true;
diff -Nru openjdk-11-11.0.22+7/src/java.prefs/unix/native/libprefs/FileSystemPreferences.c openjdk-11-11.0.23+9/src/java.prefs/unix/native/libprefs/FileSystemPreferences.c
--- openjdk-11-11.0.22+7/src/java.prefs/unix/native/libprefs/FileSystemPreferences.c	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.prefs/unix/native/libprefs/FileSystemPreferences.c	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -71,7 +71,7 @@
     jclass thisclass, jstring java_fname, jint permission, jboolean shared) {
     const char *fname = JNU_GetStringPlatformChars(env, java_fname, NULL);
     int fd, rc;
-    int result[2];
+    int result[2] = {0, 0};
     jintArray javaResult = NULL;
     int old_umask;
     FLOCK fl;
@@ -90,6 +90,7 @@
 
     if (shared == JNI_TRUE) {
         fd = open(fname, O_RDONLY, 0);
+        result[1] = errno;
     } else {
         old_umask = umask(0);
         fd = open(fname, O_WRONLY|O_CREAT, permission);
diff -Nru openjdk-11-11.0.22+7/src/java.xml/share/classes/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java openjdk-11-11.0.23+9/src/java.xml/share/classes/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java
--- openjdk-11-11.0.22+7/src/java.xml/share/classes/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml/share/classes/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,6 +44,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Random;
 import java.util.Set;
 import javax.xml.XMLConstants;
@@ -1729,12 +1730,7 @@
      */
     private boolean isDefaultNamespace(String uri) {
         String defaultNamespace = fInternalNamespaceContext.getURI(DEFAULT_PREFIX);
-
-        if (uri.equals(defaultNamespace)) {
-            return true;
-        }
-
-        return false;
+        return Objects.equals(uri, defaultNamespace);
     }
 
     /**
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/Init.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/Init.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/Init.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/Init.java	2024-04-08 05:38:38.000000000 +0000
@@ -57,17 +57,22 @@
  */
 public class Init {
 
-    /** The namespace for CONF file **/
+    /**
+     * The namespace for CONF file
+     **/
     public static final String CONF_NS = "http://www.xmlsecurity.org/NS/#configuration";
 
     private static final com.sun.org.slf4j.internal.Logger LOG =
-        com.sun.org.slf4j.internal.LoggerFactory.getLogger(Init.class);
+            com.sun.org.slf4j.internal.LoggerFactory.getLogger(Init.class);
 
-    /** Field alreadyInitialized */
+    /**
+     * Field alreadyInitialized
+     */
     private static boolean alreadyInitialized = false;
 
     /**
      * Method isInitialized
+     *
      * @return true if the library is already initialized.
      */
     public static final synchronized boolean isInitialized() {
@@ -82,28 +87,23 @@
         if (alreadyInitialized) {
             return;
         }
-
-        InputStream is =
-            AccessController.doPrivileged(
-                (PrivilegedAction)
-                    () -> {
-                        String cfile =
-                            System.getProperty("com.sun.org.apache.xml.internal.security.resource.config");
-                        if (cfile == null) {
-                            return null;
-                        }
-                        return getResourceAsStream(cfile, Init.class);
-                    }
-                );
-        if (is == null) {
-            dynamicInit();
-        } else {
-            fileInit(is);
-            try {
-                is.close();
-            } catch (IOException ex) {
-                LOG.warn(ex.getMessage());
+        PrivilegedAction action = () -> {
+            String cfile = System.getProperty("com.sun.org.apache.xml.internal.security.resource.config");
+            if (cfile == null) {
+                return null;
             }
+            return getResourceAsStream(cfile, Init.class);
+        };
+
+        try (@SuppressWarnings("removal")
+             InputStream is = AccessController.doPrivileged(action)) {
+            if (is == null) {
+                dynamicInit();
+            } else {
+                fileInit(is);
+             }
+        } catch (IOException ex) {
+            LOG.warn(ex.getMessage(), ex);
         }
 
         alreadyInitialized = true;
@@ -410,9 +410,11 @@
         }
         List ret = new ArrayList<>();
         Enumeration urls = new Enumeration() {
+            @Override
             public boolean hasMoreElements() {
                 return false;
             }
+            @Override
             public URL nextElement() {
                 return null;
             }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java	2024-04-08 05:38:38.000000000 +0000
@@ -40,7 +40,9 @@
 
     private static Map algorithmsMap = new ConcurrentHashMap<>();
 
-    private static String providerName;
+    private static String globalProviderName;
+
+    private static final ThreadLocal threadSpecificProviderName = new ThreadLocal<>();
 
     /**
      * Method register
@@ -210,6 +212,14 @@
             new Algorithm("EC", "RIPEMD160withECDSA", "Signature")
         );
         algorithmsMap.put(
+            XMLSignature.ALGO_ID_SIGNATURE_EDDSA_ED25519,
+            new Algorithm("Ed25519", "Ed25519", "Signature")
+        );
+        algorithmsMap.put(
+            XMLSignature.ALGO_ID_SIGNATURE_EDDSA_ED448,
+            new Algorithm("Ed448", "Ed448", "Signature")
+        );
+        algorithmsMap.put(
             XMLSignature.ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5,
             new Algorithm("", "HmacMD5", "Mac", 0, 0)
         );
@@ -336,7 +346,10 @@
      * @return the default providerId.
      */
     public static String getProviderId() {
-        return providerName;
+        if (threadSpecificProviderName.get() != null) {
+            return threadSpecificProviderName.get();
+        }
+        return globalProviderName;
     }
 
     /**
@@ -347,7 +360,18 @@
      */
     public static void setProviderId(String provider) {
         JavaUtils.checkRegisterPermission();
-        providerName = provider;
+        globalProviderName = provider;
+    }
+
+    /**
+     * Sets the default Provider for this thread to obtain the security algorithms
+     * @param threadSpecificProviderName the default providerId.
+     * @throws SecurityException if a security manager is installed and the
+     *    caller does not have permission to register the JCE algorithm
+     */
+    public static void setThreadSpecificProviderName(String threadSpecificProviderName) {
+        JavaUtils.checkRegisterPermission();
+        JCEMapper.threadSpecificProviderName.set(threadSpecificProviderName);
     }
 
     /**
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java	2024-04-08 05:38:38.000000000 +0000
@@ -256,11 +256,13 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseNamespace() {
         return Constants.SignatureSpecNS;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_DIGESTMETHOD;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java	2024-04-08 05:38:38.000000000 +0000
@@ -35,6 +35,7 @@
 import com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA;
 import com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureDSA;
 import com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureECDSA;
+import com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureEDDSA;
 import com.sun.org.apache.xml.internal.security.exceptions.AlgorithmAlreadyRegisteredException;
 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
 import com.sun.org.apache.xml.internal.security.signature.XMLSignature;
@@ -497,6 +498,12 @@
             XMLSignature.ALGO_ID_SIGNATURE_ECDSA_RIPEMD160, SignatureECDSA.SignatureECDSARIPEMD160.class
         );
         algorithmHash.put(
+                XMLSignature.ALGO_ID_SIGNATURE_EDDSA_ED25519, SignatureEDDSA.SignatureEd25519.class
+        );
+        algorithmHash.put(
+                XMLSignature.ALGO_ID_SIGNATURE_EDDSA_ED448, SignatureEDDSA.SignatureEd448.class
+        );
+        algorithmHash.put(
             XMLSignature.ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5, IntegrityHmac.IntegrityHmacMD5.class
         );
         algorithmHash.put(
@@ -521,6 +528,7 @@
      *
      * @return URI of this element
      */
+    @Override
     public String getBaseNamespace() {
         return Constants.SignatureSpecNS;
     }
@@ -530,6 +538,7 @@
      *
      * @return Local name
      */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_SIGNATUREMETHOD;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java	2024-04-08 05:38:38.000000000 +0000
@@ -22,7 +22,12 @@
  */
 package com.sun.org.apache.xml.internal.security.algorithms;
 
-import java.security.*;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.SecureRandom;
+import java.security.Signature;
 import java.security.spec.AlgorithmParameterSpec;
 
 import com.sun.org.apache.xml.internal.security.signature.XMLSignatureException;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java	2024-04-08 05:38:38.000000000 +0000
@@ -28,9 +28,13 @@
 import java.io.IOException;
 import java.math.BigInteger;
 import java.security.interfaces.ECPublicKey;
-import java.security.spec.*;
+import java.security.spec.ECField;
+import java.security.spec.ECFieldF2m;
+import java.security.spec.ECFieldFp;
+import java.security.spec.ECParameterSpec;
+import java.security.spec.ECPoint;
+import java.security.spec.EllipticCurve;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 public final class ECDSAUtils {
@@ -786,9 +790,7 @@
             field = ecFieldF2m.getReductionPolynomial();
         }
 
-        Iterator ecCurveDefinitionIterator = ecCurveDefinitions.iterator();
-        while (ecCurveDefinitionIterator.hasNext()) {
-            ECCurveDefinition ecCurveDefinition = ecCurveDefinitionIterator.next();
+        for (ECCurveDefinition ecCurveDefinition : ecCurveDefinitions) {
             String oid = ecCurveDefinition.equals(field, a, b, affineX, affineY, order, h);
             if (oid != null) {
                 return oid;
@@ -798,9 +800,7 @@
     }
 
     public static ECCurveDefinition getECCurveDefinition(String oid) {
-        Iterator ecCurveDefinitionIterator = ecCurveDefinitions.iterator();
-        while (ecCurveDefinitionIterator.hasNext()) {
-            ECCurveDefinition ecCurveDefinition = ecCurveDefinitionIterator.next();
+        for (ECCurveDefinition ecCurveDefinition : ecCurveDefinitions) {
             if (ecCurveDefinition.getOid().equals(oid)) {
                 return ecCurveDefinition;
             }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java	2024-04-08 05:38:38.000000000 +0000
@@ -90,6 +90,7 @@
      * @param params
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineSetParameter(AlgorithmParameterSpec params) throws XMLSignatureException {
         throw new XMLSignatureException("empty", new Object[]{"Incorrect method call"});
     }
@@ -102,6 +103,7 @@
      * @return true if the signature is correct
      * @throws XMLSignatureException
      */
+    @Override
     protected boolean engineVerify(byte[] signature) throws XMLSignatureException {
         try {
             if (hmacOutputLength != null && hmacOutputLength.length < getDigestLength()) {
@@ -124,6 +126,7 @@
      * @param secretKey
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineInitVerify(Key secretKey) throws XMLSignatureException {
         if (!(secretKey instanceof SecretKey)) {
             String supplied = null;
@@ -150,6 +153,7 @@
      * @return the result of the {@link java.security.Signature#sign()} method
      * @throws XMLSignatureException
      */
+    @Override
     protected byte[] engineSign() throws XMLSignatureException {
         try {
             if (hmacOutputLength != null && hmacOutputLength.length < getDigestLength()) {
@@ -170,6 +174,7 @@
      * @param secretKey
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineInitSign(Key secretKey) throws XMLSignatureException {
         engineInitSign(secretKey, (AlgorithmParameterSpec)null);
     }
@@ -181,6 +186,7 @@
      * @param algorithmParameterSpec
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineInitSign(
         Key secretKey, AlgorithmParameterSpec algorithmParameterSpec
     ) throws XMLSignatureException {
@@ -213,6 +219,7 @@
      * @param secureRandom
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineInitSign(Key secretKey, SecureRandom secureRandom)
         throws XMLSignatureException {
         throw new XMLSignatureException("algorithms.CannotUseSecureRandomOnMAC");
@@ -225,6 +232,7 @@
      * @param input
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineUpdate(byte[] input) throws XMLSignatureException {
         try {
             this.macAlgorithm.update(input);
@@ -240,6 +248,7 @@
      * @param input
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineUpdate(byte input) throws XMLSignatureException {
         try {
             this.macAlgorithm.update(input);
@@ -257,6 +266,7 @@
      * @param len
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineUpdate(byte[] buf, int offset, int len) throws XMLSignatureException {
         try {
             this.macAlgorithm.update(buf, offset, len);
@@ -270,6 +280,7 @@
      * {@inheritDoc}
      *
      */
+    @Override
     protected String engineGetJCEAlgorithmString() {
         return this.macAlgorithm.getAlgorithm();
     }
@@ -279,6 +290,7 @@
      *
      * {@inheritDoc}
      */
+    @Override
     protected String engineGetJCEProviderName() {
         return this.macAlgorithm.getProvider().getName();
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java	2024-04-08 05:38:38.000000000 +0000
@@ -64,20 +64,25 @@
 
     public SignatureBaseRSA(Provider provider) throws XMLSignatureException {
         String algorithmID = JCEMapper.translateURItoJCEID(this.engineGetURI());
-        LOG.debug("Created SignatureRSA using {}", algorithmID);
+        this.signatureAlgorithm = getSignature(provider, algorithmID);
+        LOG.debug("Created SignatureRSA using {0} and provider {1}",
+            algorithmID, signatureAlgorithm.getProvider());
+    }
 
+    Signature getSignature(Provider provider, String algorithmID)
+        throws XMLSignatureException {
         try {
             if (provider == null) {
                 String providerId = JCEMapper.getProviderId();
                 if (providerId == null) {
-                    this.signatureAlgorithm = Signature.getInstance(algorithmID);
+                    return Signature.getInstance(algorithmID);
 
                 } else {
-                    this.signatureAlgorithm = Signature.getInstance(algorithmID, providerId);
+                    return Signature.getInstance(algorithmID, providerId);
                 }
 
             } else {
-                this.signatureAlgorithm = Signature.getInstance(algorithmID, provider);
+                return Signature.getInstance(algorithmID, provider);
             }
 
         } catch (NoSuchAlgorithmException | NoSuchProviderException ex) {
@@ -87,6 +92,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineSetParameter(AlgorithmParameterSpec params)
         throws XMLSignatureException {
         try {
@@ -97,6 +103,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected boolean engineVerify(byte[] signature) throws XMLSignatureException {
         try {
             return this.signatureAlgorithm.verify(signature);
@@ -106,11 +113,13 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitVerify(Key publicKey) throws XMLSignatureException {
         engineInitVerify(publicKey, this.signatureAlgorithm);
     }
 
     /** {@inheritDoc} */
+    @Override
     protected byte[] engineSign() throws XMLSignatureException {
         try {
             return this.signatureAlgorithm.sign();
@@ -120,17 +129,20 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitSign(Key privateKey, SecureRandom secureRandom)
         throws XMLSignatureException {
         engineInitSign(privateKey, secureRandom, this.signatureAlgorithm);
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitSign(Key privateKey) throws XMLSignatureException {
         engineInitSign(privateKey, (SecureRandom)null);
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineUpdate(byte[] input) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(input);
@@ -140,6 +152,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineUpdate(byte input) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(input);
@@ -149,6 +162,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineUpdate(byte[] buf, int offset, int len) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(buf, offset, len);
@@ -158,22 +172,26 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected String engineGetJCEAlgorithmString() {
         return this.signatureAlgorithm.getAlgorithm();
     }
 
     /** {@inheritDoc} */
+    @Override
     protected String engineGetJCEProviderName() {
         return this.signatureAlgorithm.getProvider().getName();
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineSetHMACOutputLength(int HMACOutputLength)
         throws XMLSignatureException {
         throw new XMLSignatureException("algorithms.HMACOutputLengthOnlyForHMAC");
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitSign(
         Key signingKey, AlgorithmParameterSpec algorithmParameterSpec
     ) throws XMLSignatureException {
@@ -355,10 +373,53 @@
         }
     }
 
+    public abstract static class SignatureBaseRSAPSS extends SignatureBaseRSA {
+
+        public SignatureBaseRSAPSS() throws XMLSignatureException {
+            super();
+        }
+
+        public SignatureBaseRSAPSS(Provider provider) throws XMLSignatureException {
+            super(provider);
+        }
+
+        @Override
+        Signature getSignature(Provider provider, String algorithmID)
+            throws XMLSignatureException {
+            try {
+                Signature sig;
+                if (provider == null) {
+                    String providerId = JCEMapper.getProviderId();
+                    if (providerId == null) {
+                        sig = Signature.getInstance("RSASSA-PSS");
+                    } else {
+                        sig = Signature.getInstance("RSASSA-PSS", providerId);
+                    }
+                } else {
+                    sig = Signature.getInstance("RSASSA-PSS", provider);
+                }
+                try {
+                    sig.setParameter(getPSSParameterSpec());
+                } catch (InvalidAlgorithmParameterException e) {
+                    throw new NoSuchAlgorithmException("Should not happen", e);
+                }
+                return sig;
+            } catch (NoSuchAlgorithmException | NoSuchProviderException e) {
+                return super.getSignature(provider, algorithmID);
+            }
+        }
+
+        abstract PSSParameterSpec getPSSParameterSpec();
+    }
+
     /**
      * Class SignatureRSASHA1MGF1
      */
-    public static class SignatureRSASHA1MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA1MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA1_MGF1_PARAMS
+                = new PSSParameterSpec("SHA-1", "MGF1", MGF1ParameterSpec.SHA1,
+                20, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA1MGF1
@@ -378,12 +439,21 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA1_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSASHA224MGF1
      */
-    public static class SignatureRSASHA224MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA224MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA224_MGF1_PARAMS
+                = new PSSParameterSpec("SHA-224", "MGF1", MGF1ParameterSpec.SHA224,
+                28, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA224MGF1
@@ -403,12 +473,21 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA224_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA224_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSASHA256MGF1
      */
-    public static class SignatureRSASHA256MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA256MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA256_MGF1_PARAMS
+                = new PSSParameterSpec("SHA-256", "MGF1", MGF1ParameterSpec.SHA256,
+                32, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA256MGF1
@@ -428,12 +507,21 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA256_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSASHA384MGF1
      */
-    public static class SignatureRSASHA384MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA384MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA384_MGF1_PARAMS
+                = new PSSParameterSpec("SHA-384", "MGF1", MGF1ParameterSpec.SHA384,
+                48, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA384MGF1
@@ -453,12 +541,21 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA384_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA384_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSASHA512MGF1
      */
-    public static class SignatureRSASHA512MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA512MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA512_MGF1_PARAMS
+                = new PSSParameterSpec("SHA-512", "MGF1", MGF1ParameterSpec.SHA512,
+                64, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA512MGF1
@@ -478,12 +575,22 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA512_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA512_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSA3_SHA224MGF1
      */
-    public static class SignatureRSASHA3_224MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA3_224MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA3_224_MGF1_PARAMS
+                = new PSSParameterSpec("SHA3-224", "MGF1",
+                new MGF1ParameterSpec("SHA3-224"),
+                28, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA3_224MGF1
@@ -503,12 +610,22 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_224_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA3_224_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSA3_SHA256MGF1
      */
-    public static class SignatureRSASHA3_256MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA3_256MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA3_256_MGF1_PARAMS
+                = new PSSParameterSpec("SHA3-256", "MGF1",
+                new MGF1ParameterSpec("SHA3-256"),
+                32, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA3_256MGF1
@@ -528,12 +645,22 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_256_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA3_256_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSA3_SHA384MGF1
      */
-    public static class SignatureRSASHA3_384MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA3_384MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA3_384_MGF1_PARAMS
+                = new PSSParameterSpec("SHA3-384", "MGF1",
+                new MGF1ParameterSpec("SHA3-384"),
+                48, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA3_384MGF1
@@ -553,12 +680,22 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_384_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA3_384_MGF1_PARAMS;
+        }
     }
 
     /**
      * Class SignatureRSASHA3_512MGF1
      */
-    public static class SignatureRSASHA3_512MGF1 extends SignatureBaseRSA {
+    public static class SignatureRSASHA3_512MGF1 extends SignatureBaseRSAPSS {
+
+        private static final PSSParameterSpec SHA3_512_MGF1_PARAMS
+                = new PSSParameterSpec("SHA3-512", "MGF1",
+                new MGF1ParameterSpec("SHA3-512"),
+                64, PSSParameterSpec.TRAILER_FIELD_BC);
 
         /**
          * Constructor SignatureRSASHA3_512MGF1
@@ -578,10 +715,15 @@
         public String engineGetURI() {
             return XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA3_512_MGF1;
         }
+
+        @Override
+        public PSSParameterSpec getPSSParameterSpec() {
+            return SHA3_512_MGF1_PARAMS;
+        }
     }
 
     public static class SignatureRSASSAPSS extends SignatureBaseRSA {
-        PSSParameterSpec pssParameterSpec;
+        private PSSParameterSpec pssParameterSpec;
 
         public enum DigestAlgorithm {
             SHA256("SHA-256", "http://www.w3.org/2001/04/xmlenc#sha256", 32),
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java	2024-04-08 05:38:38.000000000 +0000
@@ -60,6 +60,7 @@
      *
      * {@inheritDoc}
      */
+    @Override
     protected String engineGetURI() {
         return XMLSignature.ALGO_ID_SIGNATURE_DSA;
     }
@@ -100,6 +101,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected void engineSetParameter(AlgorithmParameterSpec params)
         throws XMLSignatureException {
         try {
@@ -112,6 +114,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected boolean engineVerify(byte[] signature)
         throws XMLSignatureException {
         try {
@@ -130,6 +133,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected void engineInitVerify(Key publicKey) throws XMLSignatureException {
         engineInitVerify(publicKey, this.signatureAlgorithm);
         size = ((DSAKey)publicKey).getParams().getQ().bitLength();
@@ -138,6 +142,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected byte[] engineSign() throws XMLSignatureException {
         try {
             byte[] jcebytes = this.signatureAlgorithm.sign();
@@ -151,6 +156,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected void engineInitSign(Key privateKey, SecureRandom secureRandom)
         throws XMLSignatureException {
         engineInitSign(privateKey, secureRandom, this.signatureAlgorithm);
@@ -160,6 +166,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected void engineInitSign(Key privateKey) throws XMLSignatureException {
         engineInitSign(privateKey, (SecureRandom)null);
     }
@@ -167,6 +174,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected void engineUpdate(byte[] input) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(input);
@@ -178,6 +186,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected void engineUpdate(byte input) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(input);
@@ -189,6 +198,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     protected void engineUpdate(byte[] buf, int offset, int len) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(buf, offset, len);
@@ -202,6 +212,7 @@
      *
      * {@inheritDoc}
      */
+    @Override
     protected String engineGetJCEAlgorithmString() {
         return this.signatureAlgorithm.getAlgorithm();
     }
@@ -211,6 +222,7 @@
      *
      * {@inheritDoc}
      */
+    @Override
     protected String engineGetJCEProviderName() {
         return this.signatureAlgorithm.getProvider().getName();
     }
@@ -221,6 +233,7 @@
      * @param HMACOutputLength
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineSetHMACOutputLength(int HMACOutputLength) throws XMLSignatureException {
         throw new XMLSignatureException("algorithms.HMACOutputLengthOnlyForHMAC");
     }
@@ -232,6 +245,7 @@
      * @param algorithmParameterSpec
      * @throws XMLSignatureException
      */
+    @Override
     protected void engineInitSign(
         Key signingKey, AlgorithmParameterSpec algorithmParameterSpec
     ) throws XMLSignatureException {
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java	2024-04-08 05:38:38.000000000 +0000
@@ -26,7 +26,14 @@
 package com.sun.org.apache.xml.internal.security.algorithms.implementations;
 
 import java.io.IOException;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Signature;
+import java.security.SignatureException;
 import java.security.interfaces.ECPrivateKey;
 import java.security.spec.AlgorithmParameterSpec;
 
@@ -118,6 +125,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineSetParameter(AlgorithmParameterSpec params)
         throws XMLSignatureException {
         try {
@@ -128,6 +136,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected boolean engineVerify(byte[] signature) throws XMLSignatureException {
         try {
             byte[] jcebytes = SignatureECDSA.convertXMLDSIGtoASN1(signature);
@@ -143,11 +152,13 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitVerify(Key publicKey) throws XMLSignatureException {
         engineInitVerify(publicKey, signatureAlgorithm);
     }
 
     /** {@inheritDoc} */
+    @Override
     protected byte[] engineSign() throws XMLSignatureException {
         try {
             byte[] jcebytes = this.signatureAlgorithm.sign();
@@ -158,6 +169,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitSign(Key privateKey, SecureRandom secureRandom)
         throws XMLSignatureException {
         if (privateKey instanceof ECPrivateKey) {
@@ -169,11 +181,13 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitSign(Key privateKey) throws XMLSignatureException {
         engineInitSign(privateKey, (SecureRandom)null);
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineUpdate(byte[] input) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(input);
@@ -183,6 +197,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineUpdate(byte input) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(input);
@@ -192,6 +207,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineUpdate(byte[] buf, int offset, int len) throws XMLSignatureException {
         try {
             this.signatureAlgorithm.update(buf, offset, len);
@@ -201,22 +217,26 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     protected String engineGetJCEAlgorithmString() {
         return this.signatureAlgorithm.getAlgorithm();
     }
 
     /** {@inheritDoc} */
+    @Override
     protected String engineGetJCEProviderName() {
         return this.signatureAlgorithm.getProvider().getName();
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineSetHMACOutputLength(int HMACOutputLength)
         throws XMLSignatureException {
         throw new XMLSignatureException("algorithms.HMACOutputLengthOnlyForHMAC");
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void engineInitSign(
         Key signingKey, AlgorithmParameterSpec algorithmParameterSpec
     ) throws XMLSignatureException {
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureEDDSA.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureEDDSA.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureEDDSA.java	1970-01-01 00:00:00.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureEDDSA.java	2024-04-08 05:38:38.000000000 +0000
@@ -0,0 +1,247 @@
+/*
+ * reserved comment block
+ * DO NOT REMOVE OR ALTER!
+ */
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.sun.org.apache.xml.internal.security.algorithms.implementations;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Signature;
+import java.security.SignatureException;
+import java.security.spec.AlgorithmParameterSpec;
+
+import com.sun.org.apache.xml.internal.security.algorithms.JCEMapper;
+import com.sun.org.apache.xml.internal.security.algorithms.SignatureAlgorithmSpi;
+import com.sun.org.apache.xml.internal.security.signature.XMLSignature;
+import com.sun.org.apache.xml.internal.security.signature.XMLSignatureException;
+import com.sun.org.apache.xml.internal.security.utils.XMLUtils;
+
+/**
+ *
+ */
+public abstract class SignatureEDDSA extends SignatureAlgorithmSpi {
+
+    private static final com.sun.org.slf4j.internal.Logger LOG =
+        com.sun.org.slf4j.internal.LoggerFactory.getLogger(SignatureEDDSA.class);
+
+    private final Signature signatureAlgorithm;
+
+
+    /**
+     * Constructor SignatureEDDSA
+     *
+     * @throws XMLSignatureException
+     */
+    public SignatureEDDSA() throws XMLSignatureException {
+        this(null);
+    }
+
+    public SignatureEDDSA(Provider provider) throws XMLSignatureException {
+        String algorithmID = JCEMapper.translateURItoJCEID(this.engineGetURI());
+        LOG.debug("Created SignatureEDDSA using {}", algorithmID);
+
+        try {
+            if (provider == null) {
+                String providerId = JCEMapper.getProviderId();
+                if (providerId == null) {
+                    this.signatureAlgorithm = Signature.getInstance(algorithmID);
+
+                } else {
+                    this.signatureAlgorithm = Signature.getInstance(algorithmID, providerId);
+                }
+
+            } else {
+                this.signatureAlgorithm = Signature.getInstance(algorithmID, provider);
+            }
+
+        } catch (NoSuchAlgorithmException | NoSuchProviderException ex) {
+            Object[] exArgs = { algorithmID, ex.getLocalizedMessage() };
+            throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineSetParameter(AlgorithmParameterSpec params)
+        throws XMLSignatureException {
+        try {
+            this.signatureAlgorithm.setParameter(params);
+        } catch (InvalidAlgorithmParameterException ex) {
+            throw new XMLSignatureException(ex);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected boolean engineVerify(byte[] signature) throws XMLSignatureException {
+        try {
+
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Called SignatureEDDSA.verify() on " + XMLUtils.encodeToString(signature));
+            }
+
+            return this.signatureAlgorithm.verify(signature);
+        } catch (SignatureException  ex) {
+            throw new XMLSignatureException(ex);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineInitVerify(Key publicKey) throws XMLSignatureException {
+        engineInitVerify(publicKey, signatureAlgorithm);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected byte[] engineSign() throws XMLSignatureException {
+        try {
+            return this.signatureAlgorithm.sign();
+        } catch (SignatureException ex) {
+            throw new XMLSignatureException(ex);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineInitSign(Key privateKey, SecureRandom secureRandom)
+        throws XMLSignatureException {
+
+        engineInitSign(privateKey, secureRandom, this.signatureAlgorithm);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineInitSign(Key privateKey) throws XMLSignatureException {
+        engineInitSign(privateKey, (SecureRandom)null);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineUpdate(byte[] input) throws XMLSignatureException {
+        try {
+            this.signatureAlgorithm.update(input);
+        } catch (SignatureException ex) {
+            throw new XMLSignatureException(ex);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineUpdate(byte input) throws XMLSignatureException {
+        try {
+            this.signatureAlgorithm.update(input);
+        } catch (SignatureException ex) {
+            throw new XMLSignatureException(ex);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineUpdate(byte[] buf, int offset, int len) throws XMLSignatureException {
+        try {
+            this.signatureAlgorithm.update(buf, offset, len);
+        } catch (SignatureException ex) {
+            throw new XMLSignatureException(ex);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected String engineGetJCEAlgorithmString() {
+        return this.signatureAlgorithm.getAlgorithm();
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected String engineGetJCEProviderName() {
+        return this.signatureAlgorithm.getProvider().getName();
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineSetHMACOutputLength(int HMACOutputLength)
+        throws XMLSignatureException {
+        throw new XMLSignatureException("algorithms.HMACOutputLengthOnlyForHMAC");
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void engineInitSign(
+        Key signingKey, AlgorithmParameterSpec algorithmParameterSpec
+    ) throws XMLSignatureException {
+        throw new XMLSignatureException("algorithms.CannotUseAlgorithmParameterSpecOnEdDSA");
+    }
+
+    /**
+     * Class SignatureEd25519
+     *
+     */
+    public static class SignatureEd25519 extends SignatureEDDSA {
+        /**
+         * Constructor SignatureEd25519
+         *
+         * @throws XMLSignatureException
+         */
+        public SignatureEd25519() throws XMLSignatureException {
+            super();
+        }
+
+        public SignatureEd25519(Provider provider) throws XMLSignatureException {
+            super(provider);
+        }
+
+        /** {@inheritDoc} */
+        @Override
+        public String engineGetURI() {
+            return XMLSignature.ALGO_ID_SIGNATURE_EDDSA_ED25519;
+        }
+    }
+
+    /**
+     * Class SignatureEd448
+     */
+    public static class SignatureEd448 extends SignatureEDDSA {
+
+        /**
+         * Constructor SignatureEd448
+         *
+         * @throws XMLSignatureException
+         */
+        public SignatureEd448() throws XMLSignatureException {
+            super();
+        }
+
+        public SignatureEd448(Provider provider) throws XMLSignatureException {
+            super(provider);
+        }
+
+        /** {@inheritDoc} */
+        @Override
+        public String engineGetURI() {
+            return XMLSignature.ALGO_ID_SIGNATURE_EDDSA_ED448;
+        }
+    }
+}
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java	2024-04-08 05:38:38.000000000 +0000
@@ -122,7 +122,7 @@
      * @return a Canonicalizer instance ready for the job
      * @throws InvalidCanonicalizerException
      */
-    public static final Canonicalizer getInstance(String algorithmURI)
+    public static Canonicalizer getInstance(String algorithmURI)
         throws InvalidCanonicalizerException {
         return new Canonicalizer(algorithmURI);
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java	2024-04-08 05:38:38.000000000 +0000
@@ -22,11 +22,12 @@
  */
 package com.sun.org.apache.xml.internal.security.c14n.helper;
 
-import com.sun.org.apache.xml.internal.security.utils.Constants;
-import org.w3c.dom.Attr;
 import java.io.Serializable;
 import java.util.Comparator;
 
+import com.sun.org.apache.xml.internal.security.utils.Constants;
+import org.w3c.dom.Attr;
+
 /**
  * Compares two attributes based on the C14n specification.
  *
@@ -69,6 +70,7 @@
      *   obj0 is less than, equal to, or greater than obj1
      *
      */
+    @Override
     public int compare(Attr attr0, Attr attr1) {
         String namespaceURI0 = attr0.getNamespaceURI();
         String namespaceURI1 = attr1.getNamespaceURI();
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java	2024-04-08 05:38:38.000000000 +0000
@@ -32,6 +32,7 @@
         super(false, true);
     }
 
+    @Override
     public final String engineGetURI() {
         return Canonicalizer.ALGO_ID_C14N11_OMIT_COMMENTS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java	2024-04-08 05:38:38.000000000 +0000
@@ -32,6 +32,7 @@
         super(true, true);
     }
 
+    @Override
     public final String engineGetURI() {
         return Canonicalizer.ALGO_ID_C14N11_WITH_COMMENTS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java	2024-04-08 05:38:38.000000000 +0000
@@ -83,6 +83,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException always
      */
+    @Override
     public void engineCanonicalizeXPathNodeSet(Set xpathNodeSet, String inclusiveNamespaces, OutputStream writer)
         throws CanonicalizationException {
 
@@ -98,6 +99,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(Node rootNode, String inclusiveNamespaces, OutputStream writer)
         throws CanonicalizationException {
 
@@ -113,6 +115,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(
             Node rootNode, String inclusiveNamespaces, boolean propagateDefaultNamespace, OutputStream writer)
             throws CanonicalizationException {
@@ -297,6 +300,7 @@
         }
     }
 
+    @Override
     protected void circumventBugIfNeeded(XMLSignatureInput input)
         throws XMLParserException, IOException {
         if (!input.isNeedsToBeExpanded()) {
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java	2024-04-08 05:38:38.000000000 +0000
@@ -82,6 +82,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(Node rootNode, OutputStream writer)
         throws CanonicalizationException {
         engineCanonicalizeSubTree(rootNode, "", null, writer);
@@ -95,6 +96,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(
         Node rootNode, String inclusiveNamespaces, OutputStream writer
     ) throws CanonicalizationException {
@@ -110,6 +112,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(
         Node rootNode, String inclusiveNamespaces, boolean propagateDefaultNamespace, OutputStream writer
     ) throws CanonicalizationException {
@@ -155,6 +158,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeXPathNodeSet(
         Set xpathNodeSet, String inclusiveNamespaces, OutputStream writer
     ) throws CanonicalizationException {
@@ -336,6 +340,7 @@
         }
     }
 
+    @Override
     protected void circumventBugIfNeeded(XMLSignatureInput input)
         throws XMLParserException, IOException {
         if (!input.isNeedsToBeExpanded() || inclusiveNSSet.isEmpty()) {
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java	2024-04-08 05:38:38.000000000 +0000
@@ -34,6 +34,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public final String engineGetURI() {
         return Canonicalizer.ALGO_ID_C14N_EXCL_OMIT_COMMENTS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java	2024-04-08 05:38:38.000000000 +0000
@@ -38,6 +38,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public final String engineGetURI() {
         return Canonicalizer.ALGO_ID_C14N_EXCL_WITH_COMMENTS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java	2024-04-08 05:38:38.000000000 +0000
@@ -37,6 +37,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public final String engineGetURI() {
         return Canonicalizer.ALGO_ID_C14N_OMIT_COMMENTS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java	2024-04-08 05:38:38.000000000 +0000
@@ -36,6 +36,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public final String engineGetURI() {
         return Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java	2024-04-08 05:38:38.000000000 +0000
@@ -27,7 +27,6 @@
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.ListIterator;
 import java.util.Map;
@@ -108,6 +107,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(Node rootNode, OutputStream writer)
         throws CanonicalizationException {
         engineCanonicalizeSubTree(rootNode, (Node)null, writer);
@@ -120,6 +120,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeXPathNodeSet(Set xpathNodeSet, OutputStream writer)
         throws CanonicalizationException {
         this.xpathNodeSet = xpathNodeSet;
@@ -458,13 +459,16 @@
         } while(true);
     }
 
-    protected int isVisibleDO(Node currentNode, int level) {
+    protected int isVisibleDO(Node currentNode, int level) throws CanonicalizationException {
         if (nodeFilter != null) {
-            Iterator it = nodeFilter.iterator();
-            while (it.hasNext()) {
-                int i = it.next().isNodeIncludeDO(currentNode, level);
-                if (i != 1) {
-                    return i;
+            for (NodeFilter filter : nodeFilter) {
+                try {
+                    int i = filter.isNodeIncludeDO(currentNode, level);
+                    if (i != 1) {
+                        return i;
+                    }
+                } catch (Exception e) {
+                    throw new CanonicalizationException(e);
                 }
             }
         }
@@ -474,13 +478,16 @@
         return 1;
     }
 
-    protected int isVisibleInt(Node currentNode) {
+    protected int isVisibleInt(Node currentNode) throws CanonicalizationException {
         if (nodeFilter != null) {
-            Iterator it = nodeFilter.iterator();
-            while (it.hasNext()) {
-                int i = it.next().isNodeInclude(currentNode);
-                if (i != 1) {
-                    return i;
+            for (NodeFilter filter : nodeFilter) {
+                try {
+                    int i = filter.isNodeInclude(currentNode);
+                    if (i != 1) {
+                        return i;
+                    }
+                } catch (Exception e) {
+                    throw new CanonicalizationException(e);
                 }
             }
         }
@@ -490,12 +497,15 @@
         return 1;
     }
 
-    protected boolean isVisible(Node currentNode) {
+    protected boolean isVisible(Node currentNode) throws CanonicalizationException {
         if (nodeFilter != null) {
-            Iterator it = nodeFilter.iterator();
-            while (it.hasNext()) {
-                if (it.next().isNodeInclude(currentNode) != 1) {
-                    return false;
+            for (NodeFilter filter : nodeFilter) {
+                try {
+                    if (filter.isNodeInclude(currentNode) != 1) {
+                        return false;
+                    }
+                } catch (Exception e) {
+                    throw new CanonicalizationException(e);
                 }
             }
         }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java	2024-04-08 05:38:38.000000000 +0000
@@ -68,6 +68,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException always
      */
+    @Override
     public void engineCanonicalizeXPathNodeSet(Set xpathNodeSet, String inclusiveNamespaces, OutputStream writer)
         throws CanonicalizationException {
 
@@ -83,6 +84,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(Node rootNode, String inclusiveNamespaces, OutputStream writer)
         throws CanonicalizationException {
 
@@ -98,6 +100,7 @@
      * @param writer OutputStream to write the canonicalization result
      * @throws CanonicalizationException
      */
+    @Override
     public void engineCanonicalizeSubTree(
             Node rootNode, String inclusiveNamespaces, boolean propagateDefaultNamespace, OutputStream writer)
             throws CanonicalizationException {
@@ -165,6 +168,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public final String engineGetURI() {
         return Canonicalizer.ALGO_ID_C14N_PHYSICAL;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java	2024-04-08 05:38:38.000000000 +0000
@@ -24,10 +24,8 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.List;
 
-
 import org.w3c.dom.Attr;
 import org.w3c.dom.Node;
 
@@ -50,7 +48,7 @@
         initialMap.put(XMLNS, ne);
     }
 
-    /**The map betwen prefix-> entry table. */
+    /**The map between prefix-> entry table. */
     private SymbMap symb;
 
     /**The stacks for removing the definitions when doing pop.*/
@@ -58,7 +56,7 @@
     private boolean cloned = true;
 
     /**
-     * Default constractor
+     * Default constructor
      **/
     public NameSpaceSymbTable() {
         //Insert the default binding for xmlns.
@@ -75,18 +73,16 @@
      * @param result the list where to fill the unrendered xmlns definitions.
      **/
     public void getUnrenderedNodes(Collection result) {
-        Iterator it = symb.entrySet().iterator();
-        while (it.hasNext()) {
-            NameSpaceSymbEntry n = it.next();
+        for (NameSpaceSymbEntry nsEntry : symb.entrySet()) {
             //put them rendered?
-            if (!n.rendered && n.n != null) {
-                n = n.clone();
+            if (!nsEntry.rendered && nsEntry.n != null) {
+                nsEntry = nsEntry.clone();
                 needsClone();
-                symb.put(n.prefix, n);
-                n.lastrendered = n.uri;
-                n.rendered = true;
+                symb.put(nsEntry.prefix, nsEntry);
+                nsEntry.lastrendered = nsEntry.uri;
+                nsEntry.rendered = true;
 
-                result.add(n.n);
+                result.add(nsEntry.n);
             }
         }
     }
@@ -170,14 +166,14 @@
         symb.put(prefix, entry);
         entry.rendered = true;
         entry.lastrendered = entry.uri;
-        // Return the node for outputing.
+        // Return the node for outputting.
         return entry.n;
     }
 
     /**
      * Gets a definition without mark it as render.
      * For render in exclusive c14n the namespaces in the include prefixes.
-     * @param prefix The prefix whose definition is neaded.
+     * @param prefix The prefix whose definition is needed.
      * @return the attr to render, null if there is no need to render
      **/
     public Attr getMappingWithoutRendered(String prefix) {
@@ -314,6 +310,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public NameSpaceSymbEntry clone() { //NOPMD
         try {
             return (NameSpaceSymbEntry)super.clone();
@@ -347,9 +344,9 @@
 
     List entrySet() {
         List a = new ArrayList<>();
-        for (int i = 0;i < entries.length;i++) {
-            if (entries[i] != null && entries[i].uri.length() != 0) {
-                a.add(entries[i]);
+        for (NameSpaceSymbEntry nsEntry : entries) {
+            if (nsEntry != null && !nsEntry.uri.isEmpty()) {
+                a.add(nsEntry);
             }
         }
         return a;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java	2024-04-08 05:38:38.000000000 +0000
@@ -129,20 +129,16 @@
                 }
             }
             if (!baseAttrs.isEmpty()) {
-                Iterator it = col.iterator();
                 String base = null;
                 Attr baseAttr = null;
-                while (it.hasNext()) {
-                    Attr n = it.next();
+                for (Attr n : col) {
                     if ("base".equals(n.getLocalName())) {
                         base = n.getValue();
                         baseAttr = n;
                         break;
                     }
                 }
-                it = baseAttrs.iterator();
-                while (it.hasNext()) {
-                    Attr n = it.next();
+                for (Attr n : baseAttrs) {
                     if (base == null) {
                         base = n.getValue();
                         baseAttr = n;
@@ -162,9 +158,7 @@
         } else {
             for (; size >= 0; size--) {
                 e = levels.get(size);
-                Iterator it = e.nodes.iterator();
-                while (it.hasNext()) {
-                    Attr n = it.next();
+                for (Attr n : e.nodes) {
                     if (!loa.containsKey(n.getName())) {
                         loa.put(n.getName(), n);
                     }
@@ -352,7 +346,7 @@
                 // that from the input buffer else if the input buffer consists
                 // only of ".." and if the output buffer does not contain only
                 // the root slash "/", then move the ".." to the output buffer
-                // else delte it.; otherwise,
+                // else delete it.; otherwise,
             } else if (".".equals(input)) {
                 input = "";
                 printStep("2D", output.toString(), input);
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java	2024-04-08 05:38:38.000000000 +0000
@@ -160,6 +160,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String toString() {
         String s = this.getClass().getName();
         String message = super.getLocalizedMessage();
@@ -181,6 +182,7 @@
      * Method printStackTrace
      *
      */
+    @Override
     public void printStackTrace() {
         synchronized (System.err) {
             super.printStackTrace(System.err);
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java	2024-04-08 05:38:38.000000000 +0000
@@ -1184,6 +1184,7 @@
 
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_KEYINFO;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java	2024-04-08 05:38:38.000000000 +0000
@@ -98,6 +98,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_DERENCODEDKEYVALUE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java	2024-04-08 05:38:38.000000000 +0000
@@ -95,6 +95,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_KEYINFOREFERENCE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java	2024-04-08 05:38:38.000000000 +0000
@@ -65,6 +65,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_KEYNAME;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java	2024-04-08 05:38:38.000000000 +0000
@@ -160,6 +160,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_KEYVALUE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java	2024-04-08 05:38:38.000000000 +0000
@@ -59,13 +59,14 @@
     /**
      * Method getMgmtData
      *
-     * @return the managment data
+     * @return the management data
      */
     public String getMgmtData() {
         return this.getTextFromTextChild();
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_MGMTDATA;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java	2024-04-08 05:38:38.000000000 +0000
@@ -44,6 +44,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_PGPDATA;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java	2024-04-08 05:38:38.000000000 +0000
@@ -129,6 +129,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_RETRIEVALMETHOD;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java	2024-04-08 05:38:38.000000000 +0000
@@ -45,6 +45,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_SPKIDATA;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java	2024-04-08 05:38:38.000000000 +0000
@@ -528,6 +528,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_X509DATA;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java	2024-04-08 05:38:38.000000000 +0000
@@ -97,6 +97,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public PublicKey getPublicKey() throws XMLSecurityException {
         try {
             DSAPublicKeySpec pkspec =
@@ -123,6 +124,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_DSAKEYVALUE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/ECKeyValue.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/ECKeyValue.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/ECKeyValue.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/ECKeyValue.java	2024-04-08 05:38:38.000000000 +0000
@@ -40,16 +40,15 @@
 
 import javax.xml.crypto.MarshalException;
 
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
 import com.sun.org.apache.xml.internal.security.utils.Constants;
 import com.sun.org.apache.xml.internal.security.utils.I18n;
 import com.sun.org.apache.xml.internal.security.utils.Signature11ElementProxy;
 import com.sun.org.apache.xml.internal.security.utils.XMLUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
 
 public class ECKeyValue extends Signature11ElementProxy implements KeyValueContent {
 
@@ -161,6 +160,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public PublicKey getPublicKey() throws XMLSecurityException {
         try {
             ECParameterSpec ecParams = null;
@@ -210,6 +210,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_ECKEYVALUE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java	2024-04-08 05:38:38.000000000 +0000
@@ -93,6 +93,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public PublicKey getPublicKey() throws XMLSecurityException {
         try {
             KeyFactory rsaFactory = KeyFactory.getInstance("RSA");
@@ -115,6 +116,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_RSAKEYVALUE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java	2024-04-08 05:38:38.000000000 +0000
@@ -64,6 +64,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_X509CRL;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java	2024-04-08 05:38:38.000000000 +0000
@@ -127,6 +127,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean equals(Object obj) {
         if (!(obj instanceof XMLX509Certificate)) {
             return false;
@@ -139,12 +140,13 @@
         }
     }
 
+    @Override
     public int hashCode() {
         int result = 17;
         try {
             byte[] bytes = getCertificateBytes();
-            for (int i = 0; i < bytes.length; i++) {
-                result = 31 * result + bytes[i];
+            for (byte element : bytes) {
+                result = 31 * result + element;
             }
         } catch (XMLSecurityException e) {
             LOG.debug(e.getMessage(), e);
@@ -153,6 +155,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_X509CERTIFICATE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java	2024-04-08 05:38:38.000000000 +0000
@@ -132,6 +132,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_X509DIGEST;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java	2024-04-08 05:38:38.000000000 +0000
@@ -132,6 +132,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean equals(Object obj) {
         if (!(obj instanceof XMLX509IssuerSerial)) {
             return false;
@@ -143,6 +144,7 @@
             && this.getIssuerName().equals(other.getIssuerName());
     }
 
+    @Override
     public int hashCode() {
         int result = 17;
         result = 31 * result + getSerialNumber().hashCode();
@@ -151,6 +153,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_X509ISSUERSERIAL;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java	2024-04-08 05:38:38.000000000 +0000
@@ -145,6 +145,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean equals(Object obj) {
         if (!(obj instanceof XMLX509SKI)) {
             return false;
@@ -159,12 +160,13 @@
         }
     }
 
+    @Override
     public int hashCode() {
         int result = 17;
         try {
             byte[] bytes = getSKIBytes();
-            for (int i = 0; i < bytes.length; i++) {
-                result = 31 * result + bytes[i];
+            for (byte element : bytes) {
+                result = 31 * result + element;
             }
         } catch (XMLSecurityException e) {
             LOG.debug(e.getMessage(), e);
@@ -174,6 +176,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_X509SKI;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java	2024-04-08 05:38:38.000000000 +0000
@@ -80,6 +80,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean equals(Object obj) {
         if (!(obj instanceof XMLX509SubjectName)) {
             return false;
@@ -92,6 +93,7 @@
         return thisSubject.equals(otherSubject);
     }
 
+    @Override
     public int hashCode() {
         int result = 17;
         result = 31 * result + this.getSubjectName().hashCode();
@@ -99,6 +101,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_X509SUBJECTNAME;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -31,9 +31,6 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.DEREncodedKeyValueResolver;
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.DSAKeyValueResolver;
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.ECKeyValueResolver;
@@ -47,6 +44,8 @@
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509SubjectNameResolver;
 import com.sun.org.apache.xml.internal.security.keys.storage.StorageResolver;
 import com.sun.org.apache.xml.internal.security.utils.JavaUtils;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 
 /**
  * KeyResolver is factory class for subclass of KeyResolverSpi that
@@ -295,10 +294,12 @@
             it = res.iterator();
         }
 
+        @Override
         public boolean hasNext() {
             return it.hasNext();
         }
 
+        @Override
         public KeyResolverSpi next() {
             KeyResolverSpi resolver = it.next();
             if (resolver == null) {
@@ -308,6 +309,7 @@
             return resolver;
         }
 
+        @Override
         public void remove() {
             throw new UnsupportedOperationException("Can't remove resolvers using the iterator");
         }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -32,7 +32,9 @@
 import java.security.cert.X509Certificate;
 import java.util.Arrays;
 import java.util.Enumeration;
+
 import javax.crypto.SecretKey;
+
 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
 import com.sun.org.apache.xml.internal.security.keys.content.X509Data;
 import com.sun.org.apache.xml.internal.security.keys.content.x509.XMLX509Certificate;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -26,7 +26,6 @@
 import java.security.PublicKey;
 import java.security.cert.X509Certificate;
 
-
 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
 import com.sun.org.apache.xml.internal.security.keys.content.keyvalues.RSAKeyValue;
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolverSpi;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -31,7 +31,6 @@
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 import java.util.ListIterator;
 import java.util.Set;
@@ -283,10 +282,8 @@
     }
 
     private static Element getDocumentElement(Set set) {
-        Iterator it = set.iterator();
         Element e = null;
-        while (it.hasNext()) {
-            Node currentNode = it.next();
+        for (Node currentNode : set) {
             if (currentNode != null && Node.ELEMENT_NODE == currentNode.getNodeType()) {
                 e = (Element) currentNode;
                 break;
@@ -294,7 +291,7 @@
         }
         List parents = new ArrayList<>();
 
-        // Obtain all the parents of the elemnt
+        // Obtain all the parents of the element
         while (e != null) {
             parents.add(e);
             Node n = e.getParentNode();
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -27,7 +27,9 @@
 import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.cert.X509Certificate;
+
 import javax.crypto.SecretKey;
+
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolverException;
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolverSpi;
 import com.sun.org.apache.xml.internal.security.keys.storage.StorageResolver;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -25,7 +25,9 @@
 import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.cert.X509Certificate;
+
 import javax.crypto.SecretKey;
+
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolverException;
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolverSpi;
 import com.sun.org.apache.xml.internal.security.keys.storage.StorageResolver;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -86,8 +86,8 @@
             }
 
             // populate Object array
-            for (int i = 0; i < els.length; i++) {
-                XMLX509Certificate xmlCert = new XMLX509Certificate(els[i], baseURI);
+            for (Element el : els) {
+                XMLX509Certificate xmlCert = new XMLX509Certificate(el, baseURI);
                 X509Certificate cert = xmlCert.getX509Certificate();
                 if (cert != null) {
                     return cert;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -134,8 +134,7 @@
             while (storageIterator.hasNext()) {
                 X509Certificate cert = (X509Certificate) storageIterator.next();
 
-                for (int i = 0; i < x509Digests.length; i++) {
-                    XMLX509Digest keyInfoDigest = x509Digests[i];
+                for (XMLX509Digest keyInfoDigest : x509Digests) {
                     byte[] certDigestBytes = XMLX509Digest.getDigestBytesFromCert(cert, keyInfoDigest.getAlgorithm());
 
                     if (Arrays.equals(keyInfoDigest.getDigestBytes(), certDigestBytes)) {
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -28,7 +28,6 @@
 import java.security.cert.X509Certificate;
 import java.util.Iterator;
 
-
 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
 import com.sun.org.apache.xml.internal.security.keys.content.x509.XMLX509SKI;
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolverException;
@@ -95,20 +94,18 @@
             }
 
             XMLX509SKI[] x509childObject = new XMLX509SKI[x509childNodes.length];
-
             for (int i = 0; i < x509childNodes.length; i++) {
                 x509childObject[i] = new XMLX509SKI(x509childNodes[i], baseURI);
             }
 
             Iterator storageIterator = storage.getIterator();
             while (storageIterator.hasNext()) {
-                X509Certificate cert = (X509Certificate)storageIterator.next();
+                X509Certificate cert = (X509Certificate) storageIterator.next();
                 XMLX509SKI certSKI = new XMLX509SKI(element.getOwnerDocument(), cert);
 
-                for (int i = 0; i < x509childObject.length; i++) {
-                    if (certSKI.equals(x509childObject[i])) {
+                for (XMLX509SKI childNodeSKI : x509childObject) {
+                    if (certSKI.equals(childNodeSKI)) {
                         LOG.debug("Return PublicKey from {}", cert.getSubjectX500Principal().getName());
-
                         return cert;
                     }
                 }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -28,7 +28,6 @@
 import java.security.cert.X509Certificate;
 import java.util.Iterator;
 
-
 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
 import com.sun.org.apache.xml.internal.security.keys.content.x509.XMLX509SubjectName;
 import com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolverException;
@@ -101,18 +100,15 @@
 
             Iterator storageIterator = storage.getIterator();
             while (storageIterator.hasNext()) {
-                X509Certificate cert = (X509Certificate)storageIterator.next();
-                XMLX509SubjectName certSN =
-                    new XMLX509SubjectName(element.getOwnerDocument(), cert);
-
+                X509Certificate cert = (X509Certificate) storageIterator.next();
+                XMLX509SubjectName certSN = new XMLX509SubjectName(element.getOwnerDocument(), cert);
                 LOG.debug("Found Certificate SN: {}", certSN.getSubjectName());
 
-                for (int i = 0; i < x509childObject.length; i++) {
-                    LOG.debug("Found Element SN:     {}", x509childObject[i].getSubjectName());
+                for (XMLX509SubjectName childSubject : x509childObject) {
+                    LOG.debug("Found Element SN:     {}", childSubject.getSubjectName());
 
-                    if (certSN.equals(x509childObject[i])) {
+                    if (certSN.equals(childSubject)) {
                         LOG.debug("match !!! ");
-
                         return cert;
                     }
                     LOG.debug("no match...");
@@ -122,7 +118,6 @@
             return null;
         } catch (XMLSecurityException ex) {
             LOG.debug("XMLSecurityException", ex);
-
             throw new KeyResolverException(ex);
         }
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -133,6 +133,7 @@
         }
 
         /** {@inheritDoc} */
+        @Override
         public boolean hasNext() {
             if (currentResolver == null) {
                 return false;
@@ -147,6 +148,7 @@
         }
 
         /** {@inheritDoc} */
+        @Override
         public Certificate next() {
             if (hasNext()) {
                 return currentResolver.next();
@@ -158,6 +160,7 @@
         /**
          * Method remove
          */
+        @Override
         public void remove() {
             throw new UnsupportedOperationException("Can't remove keys from KeyStore");
         }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -64,6 +64,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public Iterator getIterator() {
         return new KeyStoreIterator(this.keyStore);
     }
@@ -103,11 +104,13 @@
         }
 
         /** {@inheritDoc} */
+        @Override
         public boolean hasNext() {
             return this.i < this.certs.size();
         }
 
         /** {@inheritDoc} */
+        @Override
         public Certificate next() {
             if (hasNext()) {
                 return this.certs.get(this.i++);
@@ -119,6 +122,7 @@
         /**
          * Method remove
          */
+        @Override
         public void remove() {
             throw new UnsupportedOperationException("Can't remove keys from KeyStore");
         }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java	2024-04-08 05:38:38.000000000 +0000
@@ -46,6 +46,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public Iterator getIterator() {
         return new InternalIterator(this.certificate);
     }
@@ -71,11 +72,13 @@
         }
 
         /** {@inheritDoc} */
+        @Override
         public boolean hasNext() {
             return !this.alreadyReturned;
         }
 
         /** {@inheritDoc} */
+        @Override
         public Certificate next() {
             if (this.alreadyReturned) {
                 throw new NoSuchElementException();
@@ -87,6 +90,7 @@
         /**
          * Method remove
          */
+        @Override
         public void remove() {
             throw new UnsupportedOperationException("Can't remove keys from KeyStore");
         }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParser.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParser.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParser.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParser.java	2024-04-08 05:38:38.000000000 +0000
@@ -31,6 +31,15 @@
  */
 public interface XMLParser {
 
+    /**
+     * Parses a document from the input stream.
+     * Caller is responsible for closing the stream.
+     *
+     * @param inputStream
+     * @param disallowDocTypeDeclarations
+     * @return {@link Document}
+     * @throws XMLParserException
+     */
     Document parse(InputStream inputStream, boolean disallowDocTypeDeclarations) throws XMLParserException;
 
 }
\ No newline at end of file
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParserImpl.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParserImpl.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParserImpl.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/parser/XMLParserImpl.java	2024-04-08 05:38:38.000000000 +0000
@@ -50,10 +50,10 @@
                     (PrivilegedAction) () -> Integer.getInteger("com.sun.org.apache.xml.internal.security.parser.pool-size", 20));
 
     private static final Map> DOCUMENT_BUILDERS =
-            Collections.synchronizedMap(new WeakHashMap>());
+            Collections.synchronizedMap(new WeakHashMap<>());
 
     private static final Map> DOCUMENT_BUILDERS_DISALLOW_DOCTYPE =
-            Collections.synchronizedMap(new WeakHashMap>());
+            Collections.synchronizedMap(new WeakHashMap<>());
 
     @Override
     public Document parse(InputStream inputStream, boolean disallowDocTypeDeclarations) throws XMLParserException {
@@ -117,6 +117,7 @@
         final SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             return AccessController.doPrivileged(new PrivilegedAction() {
+                @Override
                 public ClassLoader run() {
                     return Thread.currentThread().getContextClassLoader();
                 }
@@ -129,6 +130,7 @@
         final SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             return AccessController.doPrivileged(new PrivilegedAction() {
+                @Override
                 public ClassLoader run() {
                     return clazz.getClassLoader();
                 }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml	2024-04-08 05:38:38.000000000 +0000
@@ -128,6 +128,10 @@
                           JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureECDSA$SignatureECDSASHA512" />
       
+      
+      
                           
       
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java	2024-04-08 05:38:38.000000000 +0000
@@ -28,7 +28,6 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -356,11 +355,8 @@
                             currentRef.dereferenceURIandPerformTransforms(null);
                         Set nl = signedManifestNodes.getNodeSet();
                         Manifest referencedManifest = null;
-                        Iterator nlIterator = nl.iterator();
-
-                        while (nlIterator.hasNext()) {
-                            Node n = nlIterator.next();
 
+                        for (Node n : nl) {
                             if (n.getNodeType() == Node.ELEMENT_NODE
                                 && ((Element) n).getNamespaceURI().equals(Constants.SignatureSpecNS)
                                 && ((Element) n).getLocalName().equals(Constants._TAG_MANIFEST)
@@ -578,6 +574,7 @@
      *
      * {@inheritDoc}
      */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_MANIFEST;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java	2024-04-08 05:38:38.000000000 +0000
@@ -22,6 +22,7 @@
  */
 package com.sun.org.apache.xml.internal.security.signature;
 
+import com.sun.org.apache.xml.internal.security.transforms.TransformationException;
 import org.w3c.dom.Node;
 
 /**
@@ -37,7 +38,7 @@
      *           -1 if the node and all it's child must not be output.
      *
      */
-    int isNodeInclude(Node n);
+    int isNodeInclude(Node n) throws TransformationException;
 
     /**
      * Tells if a node must be output in a c14n.
@@ -50,6 +51,6 @@
      *            0 if node must not be output,
      *           -1 if the node and all it's child must not be output.
      */
-    int isNodeIncludeDO(Node n, int level);
+    int isNodeIncludeDO(Node n, int level) throws TransformationException;
 
 }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java	2024-04-08 05:38:38.000000000 +0000
@@ -34,7 +34,7 @@
  * Handles {@code <ds:Object>} elements
  * {@code Object} {@link Element} supply facility which can contain any kind data
  *
- * $todo$ if we remove childen, the boolean values are not updated
+ * $todo$ if we remove children, the boolean values are not updated
  */
 public class ObjectContainer extends SignatureElementProxy {
 
@@ -130,6 +130,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_OBJECT;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java	2024-04-08 05:38:38.000000000 +0000
@@ -192,10 +192,12 @@
 
         // Create DigestMethod Element without actually instantiating a MessageDigest Object
         Algorithm digestAlgorithm = new Algorithm(getDocument(), messageDigestAlgorithm) {
+            @Override
             public String getBaseNamespace() {
                 return Constants.SignatureSpecNS;
             }
 
+            @Override
             public String getBaseLocalName() {
                 return Constants._TAG_DIGESTMETHOD;
             }
@@ -611,6 +613,7 @@
             try {
                 final Set s = input.getNodeSet();
                 referenceData = new ReferenceNodeSetData() {
+                    @Override
                     public Iterator iterator() {
                         return new Iterator() {
 
@@ -807,6 +810,7 @@
      * Method getBaseLocalName
      * {@inheritDoc}
      */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_REFERENCE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java	2024-04-08 05:38:38.000000000 +0000
@@ -139,6 +139,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_SIGNATUREPROPERTIES;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java	2024-04-08 05:38:38.000000000 +0000
@@ -49,7 +49,7 @@
     }
 
     /**
-     * Constructs {@link SignatureProperty} using sepcified {@code target} attribute and
+     * Constructs {@link SignatureProperty} using specified {@code target} attribute and
      * {@code id} attribute
      *
      * @param doc the {@link Document} in which {@code XMLsignature} is placed
@@ -126,6 +126,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_SIGNATUREPROPERTY;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java	2024-04-08 05:38:38.000000000 +0000
@@ -27,6 +27,7 @@
 import java.io.OutputStream;
 import java.security.Provider;
 import java.security.spec.AlgorithmParameterSpec;
+
 import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 
@@ -38,7 +39,6 @@
 import com.sun.org.apache.xml.internal.security.transforms.params.InclusiveNamespaces;
 import com.sun.org.apache.xml.internal.security.utils.Constants;
 import com.sun.org.apache.xml.internal.security.utils.XMLUtils;
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -401,6 +401,7 @@
      * {@inheritDoc}
      *
      */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_SIGNEDINFO;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/VerifiedReference.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/VerifiedReference.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/VerifiedReference.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/VerifiedReference.java	2024-04-08 05:38:38.000000000 +0000
@@ -38,7 +38,7 @@
      * @param valid Whether this Reference was successfully validated or not
      * @param uri The URI of this Reference
      * @param manifestReferences If this reference is a reference to a Manifest, this holds the list
-     * of verified referenes associated with this Manifest
+     * of verified references associated with this Manifest
      */
     public VerifiedReference(boolean valid, String uri, List manifestReferences) {
         this.valid = valid;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java	2024-04-08 05:38:38.000000000 +0000
@@ -201,6 +201,14 @@
     public static final String ALGO_ID_SIGNATURE_ECDSA_RIPEMD160 =
         "http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160";
 
+    /**Signature - EDDSA ED25519 */
+    public static final String ALGO_ID_SIGNATURE_EDDSA_ED25519 =
+            "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519";
+
+    /**Signature - EDDSA ED448 */
+    public static final String ALGO_ID_SIGNATURE_EDDSA_ED448 =
+            "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448";
+
     /** Signature - Optional RSASSA-PSS */
     public static final String ALGO_ID_SIGNATURE_RSA_PSS =
             Constants.XML_DSIG_NS_MORE_07_05 + "rsa-pss";
@@ -1023,6 +1031,7 @@
      *
      * @return Constants._TAG_SIGNATURE
      */
+    @Override
     public String getBaseLocalName() {
         return Constants._TAG_SIGNATURE;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java	2024-04-08 05:38:38.000000000 +0000
@@ -391,6 +391,7 @@
      * Method toString
      * {@inheritDoc}
      */
+    @Override
     public String toString() {
         if (isNodeSet()) {
             return "XMLSignatureInput/NodeSet/" + inputNodeSet.size()
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java	2024-04-08 05:38:38.000000000 +0000
@@ -127,7 +127,7 @@
     /**
      * Constructor XMLSignatureInputDebugger
      *
-     * @param xmlSignatureInput the signatur to pretty print
+     * @param xmlSignatureInput the signature to pretty print
      * @param inclusiveNamespace
      */
     public XMLSignatureInputDebugger(
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java	2024-04-08 05:38:38.000000000 +0000
@@ -30,6 +30,7 @@
 import java.util.List;
 import java.util.ListIterator;
 import java.util.NoSuchElementException;
+
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 
@@ -51,6 +52,7 @@
         this.excludeComments = excludeComments;
     }
 
+    @Override
     public Iterator iterator() {
         return new DelayedNodeIterator(root, excludeComments);
     }
@@ -78,6 +80,7 @@
             this.withComments = !excludeComments;
         }
 
+        @Override
         public boolean hasNext() {
             if (nodeSet == null) {
                 nodeSet = dereferenceSameDocumentURI(root);
@@ -86,6 +89,7 @@
             return li.hasNext();
         }
 
+        @Override
         public Node next() {
             if (nodeSet == null) {
                 nodeSet = dereferenceSameDocumentURI(root);
@@ -98,6 +102,7 @@
             }
         }
 
+        @Override
         public void remove() {
             throw new UnsupportedOperationException();
         }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java	2024-04-08 05:38:38.000000000 +0000
@@ -309,7 +309,7 @@
     /**
      * Transforms the input, and generates {@link XMLSignatureInput} as output.
      *
-     * @param input input {@link XMLSignatureInput} which can supplied Octect
+     * @param input input {@link XMLSignatureInput} which can supplied Octet
      * Stream and NodeSet as Input of Transformation
      * @param os where to output the result of the last transformation
      * @param secureValidation Whether secure validation is enabled
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java	2024-04-08 05:38:38.000000000 +0000
@@ -20,10 +20,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+/*
+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
+ */
 package com.sun.org.apache.xml.internal.security.transforms.implementations;
 
 import java.io.IOException;
 import java.io.OutputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.Security;
 
 import javax.xml.transform.TransformerException;
 
@@ -33,10 +39,7 @@
 import com.sun.org.apache.xml.internal.security.transforms.TransformSpi;
 import com.sun.org.apache.xml.internal.security.transforms.TransformationException;
 import com.sun.org.apache.xml.internal.security.transforms.Transforms;
-import com.sun.org.apache.xml.internal.security.utils.Constants;
-import com.sun.org.apache.xml.internal.security.utils.XMLUtils;
-import com.sun.org.apache.xml.internal.security.utils.XPathAPI;
-import com.sun.org.apache.xml.internal.security.utils.XPathFactory;
+import com.sun.org.apache.xml.internal.security.utils.*;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -52,8 +55,25 @@
  */
 public class TransformXPath extends TransformSpi {
 
-    private static final com.sun.org.slf4j.internal.Logger LOG =
-            com.sun.org.slf4j.internal.LoggerFactory.getLogger(TransformXPath.class);
+    // Whether the here() XPath function is supported.
+    static final boolean HEREFUNC;
+
+    static {
+        @SuppressWarnings("removal")
+        String prop =
+                AccessController.doPrivileged((PrivilegedAction) () ->
+                        Security.getProperty("jdk.xml.dsig.hereFunctionSupported"));
+        if (prop == null) {
+            HEREFUNC = true; // default true
+        } else if (prop.equals("true")) {
+            HEREFUNC = true;
+        } else if (prop.equals("false")) {
+            HEREFUNC = false;
+        } else {
+            throw new IllegalArgumentException(
+                    "Invalid jdk.xml.dsig.hereFunctionSupported setting: " + prop);
+        }
+    }
 
     /**
      * {@inheritDoc}
@@ -112,7 +132,9 @@
     }
 
     protected XPathFactory getXPathFactory() {
-        return XPathFactory.newInstance();
+        return HEREFUNC
+                ? XPathFactory.newInstance()
+                : new JDKXPathFactory();
     }
 
     /**
@@ -140,20 +162,19 @@
         /**
          * @see com.sun.org.apache.xml.internal.security.signature.NodeFilter#isNodeInclude(org.w3c.dom.Node)
          */
-        public int isNodeInclude(Node currentNode) {
+        public int isNodeInclude(Node currentNode) throws TransformationException {
             try {
                 boolean include = xPathAPI.evaluate(currentNode, xpathnode, str, xpathElement);
                 if (include) {
                     return 1;
                 }
                 return 0;
-            } catch (TransformerException e) {
-                LOG.debug("Error evaluating XPath expression", e);
-                return 0;
+            } catch (TransformerException ex) {
+                throw new TransformationException(ex);
             }
         }
 
-        public int isNodeIncludeDO(Node n, int level) {
+        public int isNodeIncludeDO(Node n, int level) throws TransformationException {
             return isNodeInclude(n);
         }
 
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java	2024-04-08 05:38:38.000000000 +0000
@@ -38,6 +38,7 @@
 import com.sun.org.apache.xml.internal.security.transforms.TransformationException;
 import com.sun.org.apache.xml.internal.security.transforms.Transforms;
 import com.sun.org.apache.xml.internal.security.transforms.params.XPath2FilterContainer;
+import com.sun.org.apache.xml.internal.security.utils.JDKXPathFactory;
 import com.sun.org.apache.xml.internal.security.utils.XMLUtils;
 import com.sun.org.apache.xml.internal.security.utils.XPathAPI;
 import com.sun.org.apache.xml.internal.security.utils.XPathFactory;
@@ -94,7 +95,9 @@
                 inputDoc = XMLUtils.getOwnerDocument(input.getNodeSet());
             }
 
-            XPathFactory xpathFactory = XPathFactory.newInstance();
+            XPathFactory xpathFactory = TransformXPath.HEREFUNC
+                    ? XPathFactory.newInstance()
+                    : new JDKXPathFactory();
             for (int i = 0; i < xpathElements.length; i++) {
                 Element xpathElement = xpathElements[i];
 
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java	2024-04-08 05:38:38.000000000 +0000
@@ -108,7 +108,7 @@
      * @param bitlen {@code int} the desired length in bits of the representation
      * @return a byte array with {@code bitlen} bits of {@code big}
      */
-    static final byte[] getBytes(BigInteger big, int bitlen) {
+    static byte[] getBytes(BigInteger big, int bitlen) {
 
         //round bitlen
         bitlen = ((bitlen + 7) >> 3) << 3;
@@ -148,7 +148,7 @@
      * @param big
      * @return String with Base64 encoding
      */
-    public static final String encode(BigInteger big) {
+    public static String encode(BigInteger big) {
         byte[] bytes = XMLUtils.getBytes(big, big.bitLength());
         return XMLUtils.encodeToString(bytes);
     }
@@ -164,7 +164,7 @@
      * @param bitlen {@code int} the desired length in bits of the representation
      * @return a byte array with {@code bitlen} bits of {@code big}
      */
-    public static final byte[] encode(BigInteger big, int bitlen) {
+    public static byte[] encode(BigInteger big, int bitlen) {
 
         //round bitlen
         bitlen = ((bitlen + 7) >> 3) << 3;
@@ -205,7 +205,7 @@
      * @return the biginteger obtained from the node
      * @throws Base64DecodingException
      */
-    public static final BigInteger decodeBigIntegerFromElement(Element element)
+    public static BigInteger decodeBigIntegerFromElement(Element element)
         throws Base64DecodingException {
         return new BigInteger(1, Base64.decode(element));
     }
@@ -216,7 +216,7 @@
      * @return a decoded BigInteger
      * @throws Base64DecodingException
      */
-    public static final BigInteger decodeBigIntegerFromText(Text text)
+    public static BigInteger decodeBigIntegerFromText(Text text)
         throws Base64DecodingException {
         return new BigInteger(1, Base64.decode(text.getData()));
     }
@@ -228,7 +228,7 @@
      * @param element
      * @param biginteger
      */
-    public static final void fillElementWithBigInteger(Element element, BigInteger biginteger) {
+    public static void fillElementWithBigInteger(Element element, BigInteger biginteger) {
 
         String encodedInt = encode(biginteger);
 
@@ -253,7 +253,7 @@
      * $todo$ not tested yet
      * @throws Base64DecodingException
      */
-    public static final byte[] decode(Element element) throws Base64DecodingException {
+    public static byte[] decode(Element element) throws Base64DecodingException {
 
         Node sibling = element.getFirstChild();
         StringBuilder sb = new StringBuilder();
@@ -279,7 +279,7 @@
      * @return an Element with the base64 encoded in the text.
      *
      */
-    public static final Element encodeToElement(Document doc, String localName, byte[] bytes) {
+    public static Element encodeToElement(Document doc, String localName, byte[] bytes) {
         Element el = XMLUtils.createElementInSignatureSpace(doc, localName);
         Text text = doc.createTextNode(encode(bytes));
 
@@ -296,7 +296,7 @@
      * @throws Base64DecodingException
      *
      */
-    public static final byte[] decode(byte[] base64) throws Base64DecodingException  {
+    public static byte[] decode(byte[] base64) throws Base64DecodingException  {
         return decodeInternal(base64, -1);
     }
 
@@ -307,7 +307,7 @@
      * @param binaryData {@code byte[]} to be base64 encoded
      * @return the {@code String} with encoded data
      */
-    public static final String encode(byte[] binaryData) {
+    public static String encode(byte[] binaryData) {
         return XMLUtils.ignoreLineBreaks()
             ? encode(binaryData, Integer.MAX_VALUE)
             : encode(binaryData, BASE64DEFAULTLENGTH);
@@ -323,7 +323,7 @@
      * @throws IOException
      * @throws Base64DecodingException
      */
-    public static final byte[] decode(BufferedReader reader)
+    public static byte[] decode(BufferedReader reader)
         throws IOException, Base64DecodingException {
 
         byte[] retBytes = null;
@@ -342,11 +342,11 @@
         return retBytes;
     }
 
-    protected static final boolean isWhiteSpace(byte octet) {
+    protected static boolean isWhiteSpace(byte octet) {
         return octet == 0x20 || octet == 0xd || octet == 0xa || octet == 0x9;
     }
 
-    protected static final boolean isPad(byte octet) {
+    protected static boolean isPad(byte octet) {
         return octet == PAD;
     }
 
@@ -364,7 +364,7 @@
      * @param length {@code int} length of wrapped lines; No wrapping if less than 4.
      * @return a {@code String} with encoded data
      */
-    public static final String  encode(byte[] binaryData, int length) {
+    public static String  encode(byte[] binaryData, int length) {
         if (length < 4) {
             length = Integer.MAX_VALUE;
         }
@@ -474,7 +474,7 @@
      * @return byte array containing the decoded data
      * @throws Base64DecodingException if there is a problem decoding the data
      */
-    public static final byte[] decode(String encoded) throws Base64DecodingException {
+    public static byte[] decode(String encoded) throws Base64DecodingException {
         if (encoded == null) {
             return null;
         }
@@ -483,7 +483,7 @@
         return decodeInternal(bytes, len);
     }
 
-    protected static final int getBytesInternal(String s, byte[] result) {
+    protected static int getBytesInternal(String s, byte[] result) {
         int length = s.length();
 
         int newSize = 0;
@@ -496,7 +496,7 @@
         return newSize;
     }
 
-    protected static final byte[] decodeInternal(byte[] base64Data, int len)
+    protected static byte[] decodeInternal(byte[] base64Data, int len)
         throws Base64DecodingException {
         // remove white spaces
         if (len == -1) {
@@ -591,7 +591,7 @@
      * @throws IOException
      * @throws Base64DecodingException
      */
-    public static final void decode(String base64Data, OutputStream os)
+    public static void decode(String base64Data, OutputStream os)
         throws Base64DecodingException, IOException {
         byte[] bytes = new byte[base64Data.length()];
         int len = getBytesInternal(base64Data, bytes);
@@ -606,12 +606,12 @@
      * @throws IOException
      * @throws Base64DecodingException
      */
-    public static final void decode(byte[] base64Data, OutputStream os)
+    public static void decode(byte[] base64Data, OutputStream os)
         throws Base64DecodingException, IOException {
         decode(base64Data, os, -1);
     }
 
-    protected static final void decode(byte[] base64Data, OutputStream os, int len)
+    protected static void decode(byte[] base64Data, OutputStream os, int len)
         throws Base64DecodingException, IOException {
         // remove white spaces
         if (len == -1) {
@@ -694,7 +694,7 @@
      * @throws IOException
      * @throws Base64DecodingException
      */
-    public static final void decode(InputStream is, OutputStream os)
+    public static void decode(InputStream is, OutputStream os)
         throws Base64DecodingException, IOException {
         //byte[] decodedData = null;
         byte b1 = 0, b2 = 0, b3 = 0, b4 = 0;
@@ -771,7 +771,7 @@
      * @param data  the byte array of base64 data (with WS)
      * @return the new length
      */
-    protected static final int removeWhiteSpace(byte[] data) {
+    protected static int removeWhiteSpace(byte[] data) {
         if (data == null) {
             return 0;
         }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java	2024-04-08 05:38:38.000000000 +0000
@@ -84,6 +84,7 @@
         this.context = context;
     }
 
+    @Override
     public String getNamespaceURI(String prefix) {
         if (prefix == null) {
             throw new IllegalArgumentException("prefix is null");
@@ -107,6 +108,7 @@
         return NULL_NS_URI;
     }
 
+    @Override
     public String getPrefix(String namespaceURI) {
         if (namespaceURI == null) {
             throw new IllegalArgumentException("namespace URI is null");
@@ -140,6 +142,7 @@
     /**
      * Throws {@link UnsupportedOperationException}.
      */
+    @Override
     public Iterator getPrefixes(String namespaceURI) {
         throw new UnsupportedOperationException();
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java	2024-04-08 05:38:38.000000000 +0000
@@ -43,16 +43,19 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public void write(byte[] arg0) {
         write(arg0, 0, arg0.length);
     }
 
     /** {@inheritDoc} */
-    public void write(int arg0) {
+    @Override
+    public synchronized void write(int arg0) {
         mda.update((byte)arg0);
     }
 
     /** {@inheritDoc} */
+    @Override
     public void write(byte[] arg0, int arg1, int arg2) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Pre-digested input:");
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java	2024-04-08 05:38:38.000000000 +0000
@@ -23,8 +23,8 @@
 package com.sun.org.apache.xml.internal.security.utils;
 
 import java.math.BigInteger;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
 import org.w3c.dom.Attr;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java	2024-04-08 05:38:38.000000000 +0000
@@ -57,6 +57,7 @@
      * @param index
      * @return node with index i
      */
+    @Override
     public Node item(int index) {
         return nodes.get(index);
     }
@@ -66,6 +67,7 @@
      *
      *  @return length of the list
      */
+    @Override
     public int getLength() {
         return nodes.size();
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java	2024-04-08 05:38:38.000000000 +0000
@@ -55,7 +55,7 @@
     /**
      * Method translate
      *
-     * translates a message ID into an internationalized String, see alse
+     * translates a message ID into an internationalized String, see also
      * {@code XMLSecurityException.getExceptionMEssage()}. The strings are
      * stored in the {@code ResourceBundle}, which is identified in
      * {@code exceptionMessagesResourceBundleBase}
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java	2024-04-08 05:38:38.000000000 +0000
@@ -57,6 +57,7 @@
      *
      * @throws TransformerException
      */
+    @Override
     public NodeList selectNodeList(
         Node contextNode, Node xpathnode, String str, Node namespaceNode
     ) throws TransformerException {
@@ -92,6 +93,7 @@
      *  @param str The XPath expression
      *  @param namespaceNode The node from which prefixes in the XPath will be resolved to namespaces.
      */
+    @Override
     public boolean evaluate(Node contextNode, Node xpathnode, String str, Node namespaceNode)
         throws TransformerException {
         if (!str.equals(xpathStr) || xpathExpression == null) {
@@ -122,6 +124,7 @@
     /**
      * Clear any context information from this object
      */
+    @Override
     public void clear() {
         xpathStr = null;
         xpathExpression = null;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathFactory.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathFactory.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathFactory.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathFactory.java	2024-04-08 05:38:38.000000000 +0000
@@ -31,6 +31,7 @@
     /**
      * Get a new XPathAPI instance
      */
+    @Override
     public XPathAPI newXPathAPI() {
         return new JDKXPathAPI();
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java	2024-04-08 05:38:38.000000000 +0000
@@ -95,7 +95,7 @@
 
     /**
      * This method reads all bytes from the given InputStream till EOF and
-     * returns them as a byte array.
+     * returns them as a byte array. The method doesn't close the input stream.
      *
      * @param inputStream
      * @return the bytes read from the stream
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java	2024-04-08 05:38:38.000000000 +0000
@@ -468,15 +468,15 @@
      */
     static String trim(String str) {
 
-        String trimed = str.trim();
-        int i = str.indexOf(trimed) + trimed.length();
+        String trimmed = str.trim();
+        int i = str.indexOf(trimmed) + trimmed.length();
 
-        if (str.length() > i && trimed.endsWith("\\")
-            && !trimed.endsWith("\\\\") && str.charAt(i) == ' ') {
-            trimed = trimed + " ";
+        if (str.length() > i && trimmed.endsWith("\\")
+            && !trimmed.endsWith("\\\\") && str.charAt(i) == ' ') {
+            trimmed = trimmed + " ";
         }
 
-        return trimed;
+        return trimmed;
     }
 
 }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java	2024-04-08 05:38:38.000000000 +0000
@@ -69,6 +69,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseNamespace() {
         return Constants.SignatureSpec11NS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java	2024-04-08 05:38:38.000000000 +0000
@@ -63,6 +63,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getBaseNamespace() {
         return Constants.SignatureSpecNS;
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java	2024-04-08 05:38:38.000000000 +0000
@@ -44,6 +44,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public void write(byte[] arg0)  {
         try {
             sa.update(arg0);
@@ -53,6 +54,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public void write(int arg0) {
         try {
             sa.update((byte)arg0);
@@ -62,6 +64,7 @@
     }
 
     /** {@inheritDoc} */
+    @Override
     public void write(byte[] arg0, int arg1, int arg2) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Canonicalized SignedInfo:");
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java	2024-04-08 05:38:38.000000000 +0000
@@ -44,6 +44,7 @@
         buf = new byte[INITIAL_SIZE];
     }
 
+    @Override
     public void write(byte[] arg0) {
         if ((VM_ARRAY_INDEX_MAX_VALUE - pos) < arg0.length) {
             throw new OutOfMemoryError();
@@ -56,6 +57,7 @@
         pos = newPos;
     }
 
+    @Override
     public void write(byte[] arg0, int arg1, int arg2) {
         if ((VM_ARRAY_INDEX_MAX_VALUE - pos) < arg2) {
             throw new OutOfMemoryError();
@@ -68,6 +70,7 @@
         pos = newPos;
     }
 
+    @Override
     public void write(int arg0) {
         if (VM_ARRAY_INDEX_MAX_VALUE - pos == 0) {
             throw new OutOfMemoryError();
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java	2024-04-08 05:38:38.000000000 +0000
@@ -22,11 +22,15 @@
  */
 package com.sun.org.apache.xml.internal.security.utils;
 
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigInteger;
+import java.nio.file.Files;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
@@ -42,6 +46,8 @@
 import com.sun.org.apache.xml.internal.security.parser.XMLParser;
 import com.sun.org.apache.xml.internal.security.parser.XMLParserException;
 import com.sun.org.apache.xml.internal.security.parser.XMLParserImpl;
+import com.sun.org.slf4j.internal.Logger;
+import com.sun.org.slf4j.internal.LoggerFactory;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -50,6 +56,8 @@
 import org.w3c.dom.NodeList;
 import org.w3c.dom.Text;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 /**
  * DOM and XML accessibility and comfort functions.
  *
@@ -60,8 +68,7 @@
             AccessController.doPrivileged(
                     (PrivilegedAction) () -> Boolean.getBoolean("com.sun.org.apache.xml.internal.security.ignoreLineBreaks"));
 
-    private static final com.sun.org.slf4j.internal.Logger LOG =
-            com.sun.org.slf4j.internal.LoggerFactory.getLogger(XMLUtils.class);
+    private static final Logger LOG = LoggerFactory.getLogger(XMLUtils.class);
 
     private static XMLParser xmlParserImpl =
             AccessController.doPrivileged(
@@ -72,7 +79,7 @@
                                 return (XMLParser) JavaUtils.newInstanceWithEmptyConstructor(
                                         ClassLoaderUtils.loadClass(xmlParserClass, XMLUtils.class));
                             } catch (ClassNotFoundException | IllegalAccessException | InstantiationException | InvocationTargetException e) {
-                                LOG.error("Error instantiating XMLParser. Falling back to XMLParserImpl");
+                                LOG.error("Error instantiating XMLParser. Falling back to XMLParserImpl", e);
                             }
                         }
                         return new XMLParserImpl();
@@ -147,18 +154,18 @@
      * @param rootNode
      * @param result
      * @param exclude
-     * @param com whether comments or not
+     * @param comments whether comments or not
      */
-    public static void getSet(Node rootNode, Set result, Node exclude, boolean com) {
+    public static void getSet(Node rootNode, Set result, Node exclude, boolean comments) {
         if (exclude != null && isDescendantOrSelf(exclude, rootNode)) {
             return;
         }
-        getSetRec(rootNode, result, exclude, com);
+        getSetRec(rootNode, result, exclude, comments);
     }
 
     @SuppressWarnings("fallthrough")
     private static void getSetRec(final Node rootNode, final Set result,
-                                final Node exclude, final boolean com) {
+                                final Node exclude, final boolean comments) {
         if (rootNode == exclude) {
             return;
         }
@@ -185,11 +192,11 @@
                         return;
                     }
                 }
-                getSetRec(r, result, exclude, com);
+                getSetRec(r, result, exclude, comments);
             }
             break;
         case Node.COMMENT_NODE:
-            if (com) {
+            if (comments) {
                 result.add(rootNode);
             }
             break;
@@ -200,6 +207,18 @@
         }
     }
 
+    /**
+     * Outputs a DOM tree to a {@link File}.
+     *
+     * @param contextNode root node of the DOM tree
+     * @param outputFile the file to write to
+     * @throws IOException
+     */
+    public static void outputDOM(Node contextNode, File outputFile) throws IOException {
+        try (OutputStream os = new BufferedOutputStream(Files.newOutputStream(outputFile.toPath()), 8192)) {
+            outputDOM(contextNode, os, false);
+        }
+    }
 
     /**
      * Outputs a DOM tree to an {@link OutputStream}.
@@ -208,7 +227,7 @@
      * @param os the {@link OutputStream}
      */
     public static void outputDOM(Node contextNode, OutputStream os) {
-        XMLUtils.outputDOM(contextNode, os, false);
+        outputDOM(contextNode, os, false);
     }
 
     /**
@@ -223,13 +242,12 @@
     public static void outputDOM(Node contextNode, OutputStream os, boolean addPreamble) {
         try {
             if (addPreamble) {
-                os.write("\n".getBytes(java.nio.charset.StandardCharsets.UTF_8));
+                os.write("\n".getBytes(UTF_8));
             }
-
             Canonicalizer.getInstance(
                 Canonicalizer.ALGO_ID_C14N_PHYSICAL).canonicalizeSubtree(contextNode, os);
         } catch (IOException | InvalidCanonicalizerException | CanonicalizationException ex) {
-            LOG.debug(ex.getMessage(), ex);
+            LOG.error(ex.getMessage(), ex);
         }
     }
 
@@ -251,7 +269,7 @@
             Canonicalizer.getInstance(
                 Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS).canonicalizeSubtree(contextNode, os);
         } catch (InvalidCanonicalizerException | CanonicalizationException ex) {
-            LOG.debug(ex.getMessage(), ex);
+            LOG.error(ex.getMessage(), ex);
             // throw new RuntimeException(ex.getMessage());
         }
     }
@@ -860,7 +878,7 @@
                                 // Continue searching to find duplicates
                                 foundElement = attr.getOwnerElement();
                             } else {
-                                LOG.debug("Multiple elements with the same 'Id' attribute value!");
+                                LOG.warn("Multiple elements with the same 'Id' attribute value!");
                                 return false;
                             }
                         }
@@ -919,8 +937,8 @@
                     int length = attributes.getLength();
                     for (int i = 0; i < length; i++) {
                         Attr attr = (Attr)attributes.item(i);
-                        if (attr.isId() && id.equals(attr.getValue()) && se != knownElement) {
-                            LOG.debug("Multiple elements with the same 'Id' attribute value!");
+                        if (attr.isId() && id.equals(attr.getValue()) && !knownElement.isSameNode(se)) {
+                            LOG.warn("Multiple elements with the same 'Id' attribute value!");
                             return false;
                         }
                     }
@@ -950,6 +968,49 @@
         return true;
     }
 
+    /**
+     * Reads a document from the input stream.
+     *
+     * @param file
+     * @param disallowDocTypeDeclarations
+     * @return {@link Document}
+     * @throws XMLParserException
+     * @throws IOException
+     */
+    public static Document read(File file, boolean disallowDocTypeDeclarations) throws XMLParserException, IOException {
+        try (InputStream inputStream = new BufferedInputStream(Files.newInputStream(file.toPath()), 8192)) {
+            return read(inputStream, disallowDocTypeDeclarations);
+        }
+    }
+
+    /**
+     * Reads a document from the input stream and closes it.
+     *
+     * @param name - resource name to be opened by the class loader
+     * @param loader
+     * @param disallowDocTypeDeclarations
+     * @return {@link Document}
+     * @throws XMLParserException
+     * @throws IOException inputStream.close() failed.
+     */
+    public static Document readResource(String name, ClassLoader loader, boolean disallowDocTypeDeclarations)
+        throws XMLParserException, IOException {
+        // Delegate to XMLParser implementation
+        try (InputStream inputStream = loader.getResourceAsStream(name)) {
+            return read(inputStream, disallowDocTypeDeclarations);
+        }
+
+    }
+
+    /**
+     * Reads a document from the input stream.
+     * Caller is responsible for closing the stream.
+     *
+     * @param inputStream
+     * @param disallowDocTypeDeclarations
+     * @return {@link Document}
+     * @throws XMLParserException
+     */
     public static Document read(InputStream inputStream, boolean disallowDocTypeDeclarations) throws XMLParserException {
         // Delegate to XMLParser implementation
         return xmlParserImpl.parse(inputStream, disallowDocTypeDeclarations);
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java	2024-04-08 05:38:38.000000000 +0000
@@ -27,8 +27,8 @@
 import java.io.InputStream;
 import java.net.InetSocketAddress;
 import java.net.Proxy;
-import java.net.URISyntaxException;
 import java.net.URI;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.nio.charset.StandardCharsets;
@@ -205,6 +205,7 @@
      * @param context
      * @return true if can be resolved
      */
+    @Override
     public boolean engineCanResolveURI(ResourceResolverContext context) {
         if (context.uriToResolve == null) {
             LOG.debug("quick fail, uri == null");
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java	2024-04-08 05:38:38.000000000 +0000
@@ -110,6 +110,7 @@
      * {@inheritDoc}
      * @param context
      */
+    @Override
     public boolean engineCanResolveURI(ResourceResolverContext context) {
         if (context.uriToResolve == null) {
             LOG.debug("Quick fail for null uri");
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java	2024-04-08 05:38:38.000000000 +0000
@@ -66,6 +66,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public boolean engineCanResolveURI(ResourceResolverContext context) {
         if (context.uriToResolve == null) {
             return false;
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java	2024-04-08 05:38:38.000000000 +0000
@@ -104,6 +104,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public boolean engineCanResolveURI(ResourceResolverContext context) {
         return isXPointerSlash(context.uriToResolve) || isXPointerId(context.uriToResolve);
     }
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/DigestMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/DigestMethod.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/DigestMethod.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/DigestMethod.java	2024-04-08 05:38:38.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
 
 /**
  * A representation of the XML DigestMethod element as
- * defined in the 
+ * defined in the 
  * W3C Recommendation for XML-Signature Syntax and Processing.
  * The XML Schema Definition is defined as:
  * 
@@ -59,8 +59,6 @@
  */
 public interface DigestMethod extends XMLStructure, AlgorithmMethod {
 
-    // All methods can be found in RFC 6931.
-
     /**
      * The 
      * SHA1 digest method algorithm URI.
diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/SignatureMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/SignatureMethod.java
--- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/SignatureMethod.java	2024-01-09 21:19:49.000000000 +0000
+++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/SignatureMethod.java	2024-04-08 05:38:38.000000000 +0000
@@ -34,7 +34,7 @@
 
 /**
  * A representation of the XML SignatureMethod element
- * as defined in the 
+ * as defined in the 
  * W3C Recommendation for XML-Signature Syntax and Processing.
  * The XML Schema Definition is defined as:
  * 
@@ -52,6 +52,12 @@
  * A SignatureMethod instance may be created by invoking the
  * {@link XMLSignatureFactory#newSignatureMethod newSignatureMethod} method
  * of the {@link XMLSignatureFactory} class.
+ * 

+ * The signature method algorithm URIs defined in this class are specified + * in the + * W3C Recommendation for XML-Signature Syntax and Processing + * and + * RFC 9231: Additional XML Security Uniform Resource Identifiers (URIs) * * @author Sean Mullan * @author JSR 105 Expert Group @@ -60,8 +66,6 @@ */ public interface SignatureMethod extends XMLStructure, AlgorithmMethod { - // All methods can be found in RFC 6931. - /** * The DSA-SHA1 * (DSS) signature method algorithm URI. @@ -235,6 +239,7 @@ */ String HMAC_SHA512 = "http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"; + /** * Returns the algorithm-specific input parameters of this * SignatureMethod. diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -51,6 +51,14 @@ * (for example, you should not use the same DOMValidateContext * instance to validate two different {@link XMLSignature} objects). * + * @implNote + * By default, the JDK implementation enables a secure validation mode by + * setting the org.jcp.xml.dsig.secureValidation property to + * Boolean.TRUE (see the {@link #setProperty setProperty} + * method). When enabled, validation of XML signatures are subject to + * stricter checking of algorithms and other constraints as specified by the + * jdk.xml.dsig.secureValidationPolicy security property. + * * @author Sean Mullan * @author JSR 105 Expert Group * @since 1.6 @@ -103,10 +111,7 @@ this.node = node; super.setKeySelector(ks); - if (System.getSecurityManager() != null) { - super.setProperty("org.jcp.xml.dsig.secureValidation", - Boolean.TRUE); - } + super.setProperty("org.jcp.xml.dsig.secureValidation", Boolean.TRUE); } /** diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java 2024-04-08 05:38:38.000000000 +0000 @@ -71,6 +71,7 @@ } } + @Override public void write(int input) { if (buffer) { bos.write(input); diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,6 +23,7 @@ package org.jcp.xml.dsig.internal; import java.io.ByteArrayOutputStream; + import javax.crypto.Mac; /** diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,20 +23,22 @@ package org.jcp.xml.dsig.internal.dom; -import java.security.Key; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; +import java.security.Key; import java.security.SignatureException; import java.security.spec.AlgorithmParameterSpec; + import javax.xml.crypto.MarshalException; import javax.xml.crypto.dom.DOMCryptoContext; import javax.xml.crypto.dsig.SignatureMethod; import javax.xml.crypto.dsig.SignedInfo; +import javax.xml.crypto.dsig.XMLSignContext; import javax.xml.crypto.dsig.XMLSignature; import javax.xml.crypto.dsig.XMLSignatureException; -import javax.xml.crypto.dsig.XMLSignContext; import javax.xml.crypto.dsig.XMLValidateContext; import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; + import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -49,7 +51,7 @@ implements SignatureMethod { // denotes the type of signature algorithm - enum Type { DSA, RSA, ECDSA, HMAC } + enum Type { DSA, RSA, ECDSA, EDDSA, HMAC } /** * Verifies the passed-in signature with the specified key, using the diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,11 +28,16 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.OutputStream; -import java.security.spec.AlgorithmParameterSpec; import java.security.InvalidAlgorithmParameterException; +import java.security.spec.AlgorithmParameterSpec; import java.util.Set; -import javax.xml.crypto.*; +import javax.xml.crypto.Data; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.NodeSetData; +import javax.xml.crypto.OctetStreamData; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.XMLStructure; import javax.xml.crypto.dom.DOMCryptoContext; import javax.xml.crypto.dsig.TransformException; import javax.xml.crypto.dsig.TransformService; @@ -61,11 +66,13 @@ protected Document ownerDoc; protected Element transformElem; + @Override public final AlgorithmParameterSpec getParameterSpec() { return params; } + @Override public void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException { @@ -84,6 +91,7 @@ ownerDoc = DOMUtils.getOwnerDocument(transformElem); } + @Override public void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException { @@ -182,6 +190,7 @@ return null; } + @Override public Data transform(Data data, XMLCryptoContext xc, OutputStream os) throws TransformException { @@ -249,6 +258,7 @@ } } + @Override public final boolean isFeatureSupported(String feature) { if (feature == null) { throw new NullPointerException(); diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ package org.jcp.xml.dsig.internal.dom; import javax.xml.crypto.Data; + import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; /** diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,11 +30,14 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; + import javax.xml.crypto.NodeSetData; -import org.w3c.dom.Node; + import com.sun.org.apache.xml.internal.security.signature.NodeFilter; import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; +import com.sun.org.apache.xml.internal.security.transforms.TransformationException; import com.sun.org.apache.xml.internal.security.utils.XMLUtils; +import org.w3c.dom.Node; public class ApacheNodeSetData implements ApacheData, NodeSetData { @@ -44,13 +47,14 @@ this.xi = xi; } + @Override public Iterator iterator() { // If nodefilters are set, must execute them first to create node-set - if (xi.getNodeFilters() != null && !xi.getNodeFilters().isEmpty()) { - return Collections.unmodifiableSet - (getNodeSet(xi.getNodeFilters())).iterator(); - } try { + if (xi.getNodeFilters() != null && !xi.getNodeFilters().isEmpty()) { + return Collections.unmodifiableSet + (getNodeSet(xi.getNodeFilters())).iterator(); + } return Collections.unmodifiableSet(xi.getNodeSet()).iterator(); } catch (Exception e) { // should not occur @@ -59,11 +63,13 @@ } } + @Override public XMLSignatureInput getXMLSignatureInput() { return xi; } - private Set getNodeSet(List nodeFilters) { + private Set getNodeSet(List nodeFilters) + throws TransformationException { if (xi.isNeedsToBeExpanded()) { XMLUtils.circumventBug2650 (XMLUtils.getOwnerDocument(xi.getSubNode())); diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,7 +26,9 @@ package org.jcp.xml.dsig.internal.dom; import java.io.IOException; + import javax.xml.crypto.OctetStreamData; + import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; public class ApacheOctetStreamData extends OctetStreamData @@ -41,6 +43,7 @@ this.xi = xi; } + @Override public XMLSignatureInput getXMLSignatureInput() { return xi; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,17 +30,26 @@ import java.security.spec.AlgorithmParameterSpec; import java.util.Set; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; -import com.sun.org.apache.xml.internal.security.transforms.Transform; -import javax.xml.crypto.*; +import javax.xml.crypto.Data; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.NodeSetData; +import javax.xml.crypto.OctetStreamData; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.XMLStructure; import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; +import javax.xml.crypto.dsig.TransformException; +import javax.xml.crypto.dsig.TransformService; import javax.xml.crypto.dsig.spec.TransformParameterSpec; +import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; +import com.sun.org.apache.xml.internal.security.transforms.Transform; +import com.sun.org.apache.xml.internal.security.transforms.Transforms; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + /** * This is a wrapper/glue class which invokes the Apache XML-Security * Transform. @@ -64,6 +73,7 @@ return params; } + @Override public void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException { @@ -82,6 +92,7 @@ ownerDoc = DOMUtils.getOwnerDocument(transformElem); } + @Override public void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException { @@ -100,6 +111,7 @@ ownerDoc = DOMUtils.getOwnerDocument(transformElem); } + @Override public Data transform(Data data, XMLCryptoContext xc) throws TransformException { @@ -109,6 +121,7 @@ return transformIt(data, xc, null); } + @Override public Data transform(Data data, XMLCryptoContext xc, OutputStream os) throws TransformException { @@ -197,6 +210,7 @@ } } + @Override public final boolean isFeatureSupported(String feature) { if (feature == null) { throw new NullPointerException(); diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,12 +25,13 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dsig.spec.TransformParameterSpec; - import java.security.InvalidAlgorithmParameterException; +import javax.xml.crypto.Data; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dsig.TransformException; +import javax.xml.crypto.dsig.spec.TransformParameterSpec; + import com.sun.org.apache.xml.internal.security.c14n.Canonicalizer; import com.sun.org.apache.xml.internal.security.c14n.InvalidCanonicalizerException; @@ -45,6 +46,7 @@ public static final String C14N_11_WITH_COMMENTS = "http://www.w3.org/2006/12/xml-c14n11#WithComments"; + @Override public void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException { if (params != null) { @@ -53,6 +55,7 @@ } } + @Override public Data transform(Data data, XMLCryptoContext xc) throws TransformException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,12 +25,14 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dsig.spec.TransformParameterSpec; - import java.security.InvalidAlgorithmParameterException; +import javax.xml.crypto.Data; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dsig.CanonicalizationMethod; +import javax.xml.crypto.dsig.TransformException; +import javax.xml.crypto.dsig.spec.TransformParameterSpec; + import com.sun.org.apache.xml.internal.security.c14n.Canonicalizer; import com.sun.org.apache.xml.internal.security.c14n.InvalidCanonicalizerException; @@ -41,6 +43,7 @@ */ public final class DOMCanonicalXMLC14NMethod extends ApacheCanonicalizer { + @Override public void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException { if (params != null) { @@ -49,6 +52,7 @@ } } + @Override public Data transform(Data data, XMLCryptoContext xc) throws TransformException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,10 +33,14 @@ import java.util.HashSet; import java.util.Set; -import org.w3c.dom.Element; +import javax.xml.crypto.Data; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dsig.CanonicalizationMethod; +import javax.xml.crypto.dsig.TransformException; +import javax.xml.crypto.dsig.TransformService; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; +import org.w3c.dom.Element; /** * DOM-based abstract implementation of CanonicalizationMethod. diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,7 +26,8 @@ package org.jcp.xml.dsig.internal.dom; import java.math.BigInteger; -import javax.xml.crypto.*; + +import javax.xml.crypto.MarshalException; import javax.xml.crypto.dom.DOMCryptoContext; import com.sun.org.apache.xml.internal.security.utils.XMLUtils; diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,13 +25,15 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; +import java.security.InvalidAlgorithmParameterException; +import java.security.spec.AlgorithmParameterSpec; + +import javax.xml.crypto.MarshalException; import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; +import javax.xml.crypto.dsig.DigestMethod; +import javax.xml.crypto.dsig.XMLSignature; import javax.xml.crypto.dsig.spec.DigestMethodParameterSpec; -import java.security.InvalidAlgorithmParameterException; -import java.security.spec.AlgorithmParameterSpec; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -147,6 +149,7 @@ } } + @Override public final AlgorithmParameterSpec getParameterSpec() { return params; } @@ -251,9 +254,11 @@ SHA1(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return DigestMethod.SHA1; } + @Override String getMessageDigestAlgorithm() { return "SHA-1"; } @@ -285,9 +290,11 @@ SHA256(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return DigestMethod.SHA256; } + @Override String getMessageDigestAlgorithm() { return "SHA-256"; } @@ -301,9 +308,11 @@ SHA384(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return SHA384; } + @Override String getMessageDigestAlgorithm() { return "SHA-384"; } @@ -317,9 +326,11 @@ SHA512(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return DigestMethod.SHA512; } + @Override String getMessageDigestAlgorithm() { return "SHA-512"; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ package org.jcp.xml.dsig.internal.dom; import java.security.InvalidAlgorithmParameterException; + import javax.xml.crypto.dsig.spec.TransformParameterSpec; /** @@ -35,6 +36,7 @@ */ public final class DOMEnvelopedTransform extends ApacheTransform { + @Override public void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException { if (params != null) { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,19 +25,24 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; +import java.security.InvalidAlgorithmParameterException; +import java.security.spec.AlgorithmParameterSpec; +import java.util.ArrayList; +import java.util.List; + +import javax.xml.crypto.Data; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.XMLStructure; +import javax.xml.crypto.dsig.CanonicalizationMethod; +import javax.xml.crypto.dsig.TransformException; import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec; import javax.xml.crypto.dsig.spec.ExcC14NParameterSpec; import javax.xml.crypto.dsig.spec.TransformParameterSpec; -import java.security.InvalidAlgorithmParameterException; -import java.security.spec.AlgorithmParameterSpec; -import java.util.*; - -import org.w3c.dom.Element; import com.sun.org.apache.xml.internal.security.c14n.Canonicalizer; import com.sun.org.apache.xml.internal.security.c14n.InvalidCanonicalizerException; +import org.w3c.dom.Element; /** * DOM-based implementation of CanonicalizationMethod for Exclusive @@ -47,6 +52,7 @@ */ public final class DOMExcC14NMethod extends ApacheCanonicalizer { + @Override public void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException { @@ -59,6 +65,7 @@ } } + @Override public void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException { @@ -137,6 +144,7 @@ return CanonicalizationMethod.EXCLUSIVE; } + @Override public Data transform(Data data, XMLCryptoContext xc) throws TransformException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,11 +25,6 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dsig.spec.HMACParameterSpec; -import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; - import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.Key; @@ -38,12 +33,22 @@ import java.security.Provider; import java.security.SignatureException; import java.security.spec.AlgorithmParameterSpec; + import javax.crypto.Mac; import javax.crypto.SecretKey; -import org.w3c.dom.Document; -import org.w3c.dom.Element; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.dsig.SignatureMethod; +import javax.xml.crypto.dsig.SignedInfo; +import javax.xml.crypto.dsig.XMLSignContext; +import javax.xml.crypto.dsig.XMLSignature; +import javax.xml.crypto.dsig.XMLSignatureException; +import javax.xml.crypto.dsig.XMLValidateContext; +import javax.xml.crypto.dsig.spec.HMACParameterSpec; +import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; import org.jcp.xml.dsig.internal.MacOutputStream; +import org.w3c.dom.Document; +import org.w3c.dom.Element; /** * DOM-based implementation of HMAC SignatureMethod. @@ -118,10 +123,12 @@ } } + @Override public final AlgorithmParameterSpec getParameterSpec() { return params; } + @Override SignatureMethodParameterSpec unmarshalParams(Element paramsElem) throws MarshalException { @@ -135,6 +142,7 @@ return new HMACParameterSpec(outputLength); } + @Override void marshalParams(Element parent, String prefix) throws MarshalException { @@ -147,6 +155,7 @@ parent.appendChild(hmacElem); } + @Override boolean verify(Key key, SignedInfo si, byte[] sig, XMLValidateContext context) throws InvalidKeyException, SignatureException, XMLSignatureException @@ -178,6 +187,7 @@ return MessageDigest.isEqual(sig, result); } + @Override byte[] sign(Key key, SignedInfo si, XMLSignContext context) throws InvalidKeyException, XMLSignatureException { @@ -206,6 +216,7 @@ return hmac.doFinal(); } + @Override boolean paramsEqual(AlgorithmParameterSpec spec) { if (getParameterSpec() == spec) { return true; @@ -218,6 +229,7 @@ return outputLength == ospec.getOutputLength(); } + @Override Type getAlgorithmType() { return Type.HMAC; } @@ -235,12 +247,15 @@ SHA1(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return SignatureMethod.HMAC_SHA1; } + @Override String getJCAAlgorithm() { return "HmacSHA1"; } + @Override int getDigestLength() { return 160; } @@ -276,12 +291,15 @@ SHA256(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return HMAC_SHA256; } + @Override String getJCAAlgorithm() { return "HmacSHA256"; } + @Override int getDigestLength() { return 256; } @@ -295,12 +313,15 @@ SHA384(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return HMAC_SHA384; } + @Override String getJCAAlgorithm() { return "HmacSHA384"; } + @Override int getDigestLength() { return 384; } @@ -314,12 +335,15 @@ SHA512(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return HMAC_SHA512; } + @Override String getJCAAlgorithm() { return "HmacSHA512"; } + @Override int getDigestLength() { return 512; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java 2024-04-08 05:38:38.000000000 +0000 @@ -141,14 +141,17 @@ keyInfoTypes = Collections.unmodifiableList(content); } + @Override public String getId() { return id; } + @Override public List getContent() { return keyInfoTypes; } + @Override public void marshal(XMLStructure parent, XMLCryptoContext context) throws MarshalException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,8 +28,8 @@ import java.math.BigInteger; import java.security.KeyException; import java.security.PublicKey; -import java.security.interfaces.ECPublicKey; import java.security.interfaces.DSAPublicKey; +import java.security.interfaces.ECPublicKey; import java.security.interfaces.RSAPublicKey; import java.util.List; @@ -59,20 +59,24 @@ public DOMKeyInfoFactory() { } + @Override @SuppressWarnings("rawtypes") public KeyInfo newKeyInfo(List content) { return newKeyInfo(content, null); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public KeyInfo newKeyInfo(List content, String id) { return new DOMKeyInfo(content, id); } + @Override public KeyName newKeyName(String name) { return new DOMKeyName(name); } + @Override public KeyValue newKeyValue(PublicKey key) throws KeyException { String algorithm = key.getAlgorithm(); if ("DSA".equals(algorithm)) { @@ -86,24 +90,29 @@ } } + @Override public PGPData newPGPData(byte[] keyId) { return newPGPData(keyId, null, null); } + @Override @SuppressWarnings({ "rawtypes", "unchecked" }) public PGPData newPGPData(byte[] keyId, byte[] keyPacket, List other) { return new DOMPGPData(keyId, keyPacket, other); } + @Override @SuppressWarnings({ "rawtypes", "unchecked" }) public PGPData newPGPData(byte[] keyPacket, List other) { return new DOMPGPData(keyPacket, other); } + @Override public RetrievalMethod newRetrievalMethod(String uri) { return newRetrievalMethod(uri, null, null); } + @Override @SuppressWarnings({ "rawtypes", "unchecked" }) public RetrievalMethod newRetrievalMethod(String uri, String type, List transforms) { @@ -113,6 +122,7 @@ return new DOMRetrievalMethod(uri, type, transforms); } + @Override @SuppressWarnings({ "rawtypes" }) public X509Data newX509Data(List content) { return new DOMX509Data(content); @@ -124,6 +134,7 @@ return new DOMX509IssuerSerial(issuerName, serialNumber); } + @Override public boolean isFeatureSupported(String feature) { if (feature == null) { throw new NullPointerException(); @@ -132,6 +143,7 @@ } } + @Override public URIDereferencer getURIDereferencer() { return DOMURIDereferencer.INSTANCE; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java 2024-04-08 05:38:38.000000000 +0000 @@ -64,6 +64,7 @@ name = knElem.getFirstChild().getNodeValue(); } + @Override public String getName() { return name; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java 2024-04-08 05:38:38.000000000 +0000 @@ -101,6 +101,7 @@ } } + @Override public PublicKey getPublicKey() throws KeyException { if (publicKey == null) { throw new KeyException("can't convert KeyValue to PublicKey"); @@ -198,6 +199,7 @@ super(elem); } + @Override void marshalPublicKey(Node parent, Document doc, String dsPrefix, DOMCryptoContext context) throws MarshalException { Element rsaElem = DOMUtils.createElement(doc, "RSAKeyValue", diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,12 +25,17 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; - import java.security.Provider; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dsig.Manifest; +import javax.xml.crypto.dsig.Reference; +import javax.xml.crypto.dsig.XMLSignature; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -114,6 +119,7 @@ this.references = Collections.unmodifiableList(refs); } + @Override public String getId() { return id; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,19 +25,21 @@ */ package org.jcp.xml.dsig.internal.dom; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; -import javax.xml.crypto.*; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLStructure; import javax.xml.crypto.dom.DOMCryptoContext; import javax.xml.crypto.dsig.XMLSignature; import javax.xml.crypto.dsig.keyinfo.PGPData; +import com.sun.org.apache.xml.internal.security.utils.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; -import com.sun.org.apache.xml.internal.security.utils.XMLUtils; - /** * DOM-based implementation of PGPData. * @@ -171,14 +173,17 @@ this.externalElements = Collections.unmodifiableList(other); } + @Override public byte[] getKeyId() { return keyId == null ? null : keyId.clone(); } + @Override public byte[] getKeyPacket() { return keyPacket == null ? null : keyPacket.clone(); } + @Override public List getExternalElements() { return externalElements; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRSAPSSSignatureMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRSAPSSSignatureMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRSAPSSSignatureMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRSAPSSSignatureMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,24 +25,32 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; - import java.io.IOException; -import java.security.*; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.Provider; +import java.security.PublicKey; +import java.security.Signature; +import java.security.SignatureException; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.MGF1ParameterSpec; import java.security.spec.PSSParameterSpec; -import org.w3c.dom.DOMException; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Text; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.dsig.*; +import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; + import org.jcp.xml.dsig.internal.SignerOutputStream; import com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA.SignatureRSASSAPSS.DigestAlgorithm; import com.sun.org.apache.xml.internal.security.utils.Constants; import com.sun.org.apache.xml.internal.security.utils.XMLUtils; +import org.w3c.dom.DOMException; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Text; /** * DOM-based abstract implementation of SignatureMethod for RSA-PSS. @@ -134,10 +142,12 @@ } } + @Override public final AlgorithmParameterSpec getParameterSpec() { return params; } + @Override void marshalParams(Element parent, String prefix) throws MarshalException { @@ -170,6 +180,7 @@ parent.appendChild(rsaPssParamsElement); } + @Override SignatureMethodParameterSpec unmarshalParams(Element paramsElem) throws MarshalException { @@ -207,6 +218,7 @@ return getDefaultParameterSpec(); } + @Override boolean verify(Key key, SignedInfo si, byte[] sig, XMLValidateContext context) throws InvalidKeyException, SignatureException, XMLSignatureException @@ -248,6 +260,7 @@ } } + @Override byte[] sign(Key key, SignedInfo si, XMLSignContext context) throws InvalidKeyException, XMLSignatureException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,28 +32,52 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dom.DOMURIReference; - -import java.io.*; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.net.URI; import java.net.URISyntaxException; -import java.security.*; -import java.util.*; +import java.security.AccessController; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.PrivilegedAction; +import java.security.Provider; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import javax.xml.crypto.Data; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.NodeSetData; +import javax.xml.crypto.OctetStreamData; +import javax.xml.crypto.URIDereferencer; +import javax.xml.crypto.URIReferenceException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dom.DOMURIReference; +import javax.xml.crypto.dsig.CanonicalizationMethod; +import javax.xml.crypto.dsig.DigestMethod; +import javax.xml.crypto.dsig.Reference; +import javax.xml.crypto.dsig.Transform; +import javax.xml.crypto.dsig.TransformException; +import javax.xml.crypto.dsig.TransformService; +import javax.xml.crypto.dsig.XMLSignContext; +import javax.xml.crypto.dsig.XMLSignature; +import javax.xml.crypto.dsig.XMLSignatureException; +import javax.xml.crypto.dsig.XMLValidateContext; +import org.jcp.xml.dsig.internal.DigesterOutputStream; +import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; +import com.sun.org.apache.xml.internal.security.utils.UnsyncBufferedOutputStream; +import com.sun.org.apache.xml.internal.security.utils.XMLUtils; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; -import com.sun.org.apache.xml.internal.security.utils.XMLUtils; - -import org.jcp.xml.dsig.internal.DigesterOutputStream; -import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; -import com.sun.org.apache.xml.internal.security.utils.UnsyncBufferedOutputStream; - /** * DOM-based implementation of Reference. * @@ -269,30 +293,37 @@ this.provider = provider; } + @Override public DigestMethod getDigestMethod() { return digestMethod; } + @Override public String getId() { return id; } + @Override public String getURI() { return uri; } + @Override public String getType() { return type; } + @Override public List getTransforms() { return Collections.unmodifiableList(allTransforms); } + @Override public byte[] getDigestValue() { return digestValue == null ? null : digestValue.clone(); } + @Override public byte[] getCalculatedDigestValue() { return calcDigestValue == null ? null : calcDigestValue.clone(); @@ -371,6 +402,7 @@ LOG.debug("Reference digesting completed"); } + @Override public boolean validate(XMLValidateContext validateContext) throws XMLSignatureException { @@ -393,10 +425,12 @@ return validationStatus; } + @Override public Data getDereferencedData() { return derefData; } + @Override public InputStream getDigestInputStream() { return dis; } @@ -567,6 +601,7 @@ } } + @Override public Node getHere() { return here; } @@ -630,6 +665,7 @@ try { final Set s = xsi.getNodeSet(); return new NodeSetData() { + @Override public Iterator iterator() { return s.iterator(); } }; } catch (Exception e) { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -176,14 +176,17 @@ } } + @Override public String getURI() { return uri; } + @Override public String getType() { return type; } + @Override public List getTransforms() { return transforms; } @@ -219,10 +222,12 @@ here = rmElem.getAttributeNodeNS(null, "URI"); } + @Override public Node getHere() { return here; } + @Override public Data dereference(XMLCryptoContext context) throws URIReferenceException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,23 +25,36 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; - import java.io.IOException; -import java.security.*; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.Provider; +import java.security.PublicKey; +import java.security.Signature; +import java.security.SignatureException; import java.security.interfaces.DSAKey; import java.security.interfaces.ECPrivateKey; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.MGF1ParameterSpec; import java.security.spec.PSSParameterSpec; -import org.w3c.dom.Element; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.dsig.SignatureMethod; +import javax.xml.crypto.dsig.SignedInfo; +import javax.xml.crypto.dsig.XMLSignContext; +import javax.xml.crypto.dsig.XMLSignatureException; +import javax.xml.crypto.dsig.XMLValidateContext; +import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; +import org.jcp.xml.dsig.internal.SignerOutputStream; import com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureECDSA; import com.sun.org.apache.xml.internal.security.utils.JavaUtils; -import org.jcp.xml.dsig.internal.SignerOutputStream; +import org.w3c.dom.Element; + import sun.security.util.KeyUtil; /** @@ -82,6 +95,12 @@ static final String DSA_SHA256 = "http://www.w3.org/2009/xmldsig11#dsa-sha256"; + // see RFC 9231 for these algorithm definitions + static final String ED25519 = + "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519"; + static final String ED448 = + "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448"; + // see RFC 6931 for these algorithm definitions static final String ECDSA_RIPEMD160 = "http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160"; @@ -97,6 +116,14 @@ "http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1"; static final String RSA_RIPEMD160_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#ripemd160-rsa-MGF1"; + static final String RSA_SHA3_224_MGF1 = + "http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1"; + static final String RSA_SHA3_256_MGF1 = + "http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1"; + static final String RSA_SHA3_384_MGF1 = + "http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1"; + static final String RSA_SHA3_512_MGF1 = + "http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1"; /** * Creates a {@code DOMSignatureMethod}. @@ -188,6 +215,14 @@ return new SHA384withRSAandMGF1(smElem); } else if (alg.equals(RSA_SHA512_MGF1)) { return new SHA512withRSAandMGF1(smElem); + } else if (alg.equals(RSA_SHA3_224_MGF1)) { + return new SHA3_224withRSAandMGF1(smElem); + } else if (alg.equals(RSA_SHA3_256_MGF1)) { + return new SHA3_256withRSAandMGF1(smElem); + } else if (alg.equals(RSA_SHA3_384_MGF1)) { + return new SHA3_384withRSAandMGF1(smElem); + } else if (alg.equals(RSA_SHA3_512_MGF1)) { + return new SHA3_512withRSAandMGF1(smElem); } else if (alg.equals(DOMRSAPSSSignatureMethod.RSA_PSS)) { return new DOMRSAPSSSignatureMethod.RSAPSS(smElem); } else if (alg.equals(RSA_RIPEMD160_MGF1)) { @@ -220,12 +255,17 @@ return new DOMHMACSignatureMethod.SHA512(smElem); } else if (alg.equals(DOMHMACSignatureMethod.HMAC_RIPEMD160)) { return new DOMHMACSignatureMethod.RIPEMD160(smElem); + } else if (alg.equals(ED25519)) { + return new EDDSA_ED25519(smElem); + } else if (alg.equals(ED448)) { + return new EDDSA_ED448(smElem); } else { throw new MarshalException ("unsupported SignatureMethod algorithm: " + alg); } } + @Override public final AlgorithmParameterSpec getParameterSpec() { return params; } @@ -247,6 +287,7 @@ : Signature.getInstance(getJCAAlgorithm(), p); } + @Override boolean verify(Key key, SignedInfo si, byte[] sig, XMLValidateContext context) throws InvalidKeyException, SignatureException, XMLSignatureException @@ -313,6 +354,7 @@ } } + @Override byte[] sign(Key key, SignedInfo si, XMLSignContext context) throws InvalidKeyException, XMLSignatureException { @@ -372,6 +414,11 @@ byte[] preVerifyFormat(Key key, byte[] sig) { return sig; } + + @Override + Type getAlgorithmType() { + return Type.RSA; + } } abstract static class AbstractRSAPSSSignatureMethod @@ -386,7 +433,7 @@ super(dmElem); } - abstract public PSSParameterSpec getPSSParameterSpec(); + public abstract PSSParameterSpec getPSSParameterSpec(); @Override Signature getSignature(Provider p) @@ -402,9 +449,7 @@ } return s; } catch (NoSuchAlgorithmException nsae) { - return (p == null) - ? Signature.getInstance(getJCAAlgorithm()) - : Signature.getInstance(getJCAAlgorithm(), p); + return super.getSignature(p); } } } @@ -498,6 +543,11 @@ return sig; } } + + @Override + Type getAlgorithmType() { + return Type.DSA; + } } abstract static class AbstractECDSASignatureMethod @@ -539,6 +589,48 @@ return sig; } } + + @Override + Type getAlgorithmType() { + return Type.ECDSA; + } + } + + abstract static class AbstractEDDSASignatureMethod + extends DOMSignatureMethod { + + + AbstractEDDSASignatureMethod(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + super(params); + } + + AbstractEDDSASignatureMethod(Element dmElem) throws MarshalException { + super(dmElem); + } + + /** + * Returns {@code sig}. No extra formatting is necessary for EDDSA + * See the RFC8032 + */ + @Override + byte[] postSignFormat(Key key, byte[] sig) { + return sig; + } + + /** + * Returns {@code sig}. No extra formatting is necessary for EDDSA + * See the RFC8032 + */ + @Override + byte[] preVerifyFormat(Key key, byte[] sig) { + return sig; + } + + @Override + Type getAlgorithmType() { + return Type.EDDSA; + } } static final class SHA1withRSA extends AbstractRSASignatureMethod { @@ -557,10 +649,6 @@ String getJCAAlgorithm() { return "SHA1withRSA"; } - @Override - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA224withRSA extends AbstractRSASignatureMethod { @@ -571,15 +659,14 @@ SHA224withRSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return RSA_SHA224; } + @Override String getJCAAlgorithm() { return "SHA224withRSA"; } - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA256withRSA extends AbstractRSASignatureMethod { @@ -590,15 +677,14 @@ SHA256withRSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return RSA_SHA256; } + @Override String getJCAAlgorithm() { return "SHA256withRSA"; } - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA384withRSA extends AbstractRSASignatureMethod { @@ -609,15 +695,14 @@ SHA384withRSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return RSA_SHA384; } + @Override String getJCAAlgorithm() { return "SHA384withRSA"; } - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA512withRSA extends AbstractRSASignatureMethod { @@ -628,15 +713,14 @@ SHA512withRSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return RSA_SHA512; } + @Override String getJCAAlgorithm() { return "SHA512withRSA"; } - Type getAlgorithmType() { - return Type.RSA; - } } static final class RIPEMD160withRSA extends AbstractRSASignatureMethod { @@ -655,15 +739,11 @@ String getJCAAlgorithm() { return "RIPEMD160withRSA"; } - @Override - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA1withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { - private static PSSParameterSpec spec + private static final PSSParameterSpec SHA1_MGF1_PARAMS = new PSSParameterSpec("SHA-1", "MGF1", MGF1ParameterSpec.SHA1, 20, PSSParameterSpec.TRAILER_FIELD_BC); @@ -680,21 +760,17 @@ } @Override public PSSParameterSpec getPSSParameterSpec() { - return spec; + return SHA1_MGF1_PARAMS; } @Override String getJCAAlgorithm() { return "SHA1withRSAandMGF1"; } - @Override - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA224withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { - private static PSSParameterSpec spec + private static final PSSParameterSpec SHA224_MGF1_PARAMS = new PSSParameterSpec("SHA-224", "MGF1", MGF1ParameterSpec.SHA224, 28, PSSParameterSpec.TRAILER_FIELD_BC); @@ -711,21 +787,17 @@ } @Override public PSSParameterSpec getPSSParameterSpec() { - return spec; + return SHA224_MGF1_PARAMS; } @Override String getJCAAlgorithm() { return "SHA224withRSAandMGF1"; } - @Override - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA256withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { - private static PSSParameterSpec spec + private static final PSSParameterSpec SHA256_MGF1_PARAMS = new PSSParameterSpec("SHA-256", "MGF1", MGF1ParameterSpec.SHA256, 32, PSSParameterSpec.TRAILER_FIELD_BC); @@ -742,21 +814,17 @@ } @Override public PSSParameterSpec getPSSParameterSpec() { - return spec; + return SHA256_MGF1_PARAMS; } @Override String getJCAAlgorithm() { return "SHA256withRSAandMGF1"; } - @Override - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA384withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { - private static PSSParameterSpec spec + private static final PSSParameterSpec SHA384_MGF1_PARAMS = new PSSParameterSpec("SHA-384", "MGF1", MGF1ParameterSpec.SHA384, 48, PSSParameterSpec.TRAILER_FIELD_BC); @@ -773,21 +841,17 @@ } @Override public PSSParameterSpec getPSSParameterSpec() { - return spec; + return SHA384_MGF1_PARAMS; } @Override String getJCAAlgorithm() { return "SHA384withRSAandMGF1"; } - @Override - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA512withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { - private static PSSParameterSpec spec + private static final PSSParameterSpec SHA512_MGF1_PARAMS = new PSSParameterSpec("SHA-512", "MGF1", MGF1ParameterSpec.SHA512, 64, PSSParameterSpec.TRAILER_FIELD_BC); @@ -804,15 +868,123 @@ } @Override public PSSParameterSpec getPSSParameterSpec() { - return spec; + return SHA512_MGF1_PARAMS; } @Override String getJCAAlgorithm() { return "SHA512withRSAandMGF1"; } + } + + static final class SHA3_224withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { + + private static final PSSParameterSpec SHA3_224_MGF1_PARAMS + = new PSSParameterSpec("SHA3-224", "MGF1", + new MGF1ParameterSpec("SHA3-224"), 28, + PSSParameterSpec.TRAILER_FIELD_BC); + + SHA3_224withRSAandMGF1(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + super(params); + } + SHA3_224withRSAandMGF1(Element dmElem) throws MarshalException { + super(dmElem); + } @Override - Type getAlgorithmType() { - return Type.RSA; + public String getAlgorithm() { + return RSA_SHA3_224_MGF1; + } + @Override + public PSSParameterSpec getPSSParameterSpec() { + return SHA3_224_MGF1_PARAMS; + } + @Override + String getJCAAlgorithm() { + return "SHA3-224withRSAandMGF1"; + } + } + + static final class SHA3_256withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { + + private static final PSSParameterSpec SHA3_256_MGF1_PARAMS + = new PSSParameterSpec("SHA3-256", "MGF1", + new MGF1ParameterSpec("SHA3-256"), 32, + PSSParameterSpec.TRAILER_FIELD_BC); + + SHA3_256withRSAandMGF1(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + super(params); + } + SHA3_256withRSAandMGF1(Element dmElem) throws MarshalException { + super(dmElem); + } + @Override + public String getAlgorithm() { + return RSA_SHA3_256_MGF1; + } + @Override + public PSSParameterSpec getPSSParameterSpec() { + return SHA3_256_MGF1_PARAMS; + } + @Override + String getJCAAlgorithm() { + return "SHA3-256withRSAandMGF1"; + } + } + + static final class SHA3_384withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { + + private static final PSSParameterSpec SHA3_384_MGF1_PARAMS + = new PSSParameterSpec("SHA3-384", "MGF1", + new MGF1ParameterSpec("SHA3-384"), 48, + PSSParameterSpec.TRAILER_FIELD_BC); + + SHA3_384withRSAandMGF1(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + super(params); + } + SHA3_384withRSAandMGF1(Element dmElem) throws MarshalException { + super(dmElem); + } + @Override + public String getAlgorithm() { + return RSA_SHA3_384_MGF1; + } + @Override + public PSSParameterSpec getPSSParameterSpec() { + return SHA3_384_MGF1_PARAMS; + } + @Override + String getJCAAlgorithm() { + return "SHA3-384withRSAandMGF1"; + } + } + + static final class SHA3_512withRSAandMGF1 extends AbstractRSAPSSSignatureMethod { + + private static final PSSParameterSpec SHA3_512_MGF1_PARAMS + = new PSSParameterSpec("SHA3-512", "MGF1", + new MGF1ParameterSpec("SHA3-512"), 64, + PSSParameterSpec.TRAILER_FIELD_BC); + + SHA3_512withRSAandMGF1(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + super(params); + } + SHA3_512withRSAandMGF1(Element dmElem) throws MarshalException { + super(dmElem); + } + @Override + public String getAlgorithm() { + return RSA_SHA3_512_MGF1; + } + @Override + public PSSParameterSpec getPSSParameterSpec() { + return SHA3_512_MGF1_PARAMS; + } + @Override + String getJCAAlgorithm() { + return "SHA3-512withRSAandMGF1"; } } @@ -832,10 +1004,6 @@ String getJCAAlgorithm() { return "RIPEMD160withRSAandMGF1"; } - @Override - Type getAlgorithmType() { - return Type.RSA; - } } static final class SHA1withDSA extends AbstractDSASignatureMethod { @@ -846,18 +1014,18 @@ SHA1withDSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return SignatureMethod.DSA_SHA1; } + @Override String getJCAAlgorithm() { return "SHA1withDSAinP1363Format"; } + @Override String getJCAFallbackAlgorithm() { return "SHA1withDSA"; } - Type getAlgorithmType() { - return Type.DSA; - } } static final class SHA256withDSA extends AbstractDSASignatureMethod { @@ -868,18 +1036,18 @@ SHA256withDSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return DSA_SHA256; } + @Override String getJCAAlgorithm() { return "SHA256withDSAinP1363Format"; } + @Override String getJCAFallbackAlgorithm() { return "SHA256withDSA"; } - Type getAlgorithmType() { - return Type.DSA; - } } static final class SHA1withECDSA extends AbstractECDSASignatureMethod { @@ -890,18 +1058,18 @@ SHA1withECDSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return ECDSA_SHA1; } + @Override String getJCAAlgorithm() { return "SHA1withECDSAinP1363Format"; } + @Override String getJCAFallbackAlgorithm() { return "SHA1withECDSA"; } - Type getAlgorithmType() { - return Type.ECDSA; - } } static final class SHA224withECDSA extends AbstractECDSASignatureMethod { @@ -920,13 +1088,10 @@ String getJCAAlgorithm() { return "SHA224withECDSAinP1363Format"; } + @Override String getJCAFallbackAlgorithm() { return "SHA224withECDSA"; } - @Override - Type getAlgorithmType() { - return Type.ECDSA; - } } static final class SHA256withECDSA extends AbstractECDSASignatureMethod { @@ -937,18 +1102,18 @@ SHA256withECDSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return ECDSA_SHA256; } + @Override String getJCAAlgorithm() { return "SHA256withECDSAinP1363Format"; } + @Override String getJCAFallbackAlgorithm() { return "SHA256withECDSA"; } - Type getAlgorithmType() { - return Type.ECDSA; - } } static final class SHA384withECDSA extends AbstractECDSASignatureMethod { @@ -959,18 +1124,18 @@ SHA384withECDSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return ECDSA_SHA384; } + @Override String getJCAAlgorithm() { return "SHA384withECDSAinP1363Format"; } + @Override String getJCAFallbackAlgorithm() { return "SHA384withECDSA"; } - Type getAlgorithmType() { - return Type.ECDSA; - } } static final class SHA512withECDSA extends AbstractECDSASignatureMethod { @@ -981,18 +1146,18 @@ SHA512withECDSA(Element dmElem) throws MarshalException { super(dmElem); } + @Override public String getAlgorithm() { return ECDSA_SHA512; } + @Override String getJCAAlgorithm() { return "SHA512withECDSAinP1363Format"; } + @Override String getJCAFallbackAlgorithm() { return "SHA512withECDSA"; } - Type getAlgorithmType() { - return Type.ECDSA; - } } static final class RIPEMD160withECDSA extends AbstractECDSASignatureMethod { @@ -1011,13 +1176,52 @@ String getJCAAlgorithm() { return "RIPEMD160withECDSAinP1363Format"; // Is this real? } + @Override String getJCAFallbackAlgorithm() { return "RIPEMD160withECDSA"; } + } + + static final class EDDSA_ED25519 extends AbstractEDDSASignatureMethod { + + EDDSA_ED25519(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + super(params); + } + + EDDSA_ED25519(Element dmElem) throws MarshalException { + super(dmElem); + } + @Override - Type getAlgorithmType() { - return Type.ECDSA; + public String getAlgorithm() { + return ED25519; + } + + @Override + String getJCAAlgorithm() { + return "Ed25519"; } } + static final class EDDSA_ED448 extends AbstractEDDSASignatureMethod { + EDDSA_ED448(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + super(params); + } + + EDDSA_ED448(Element dmElem) throws MarshalException { + super(dmElem); + } + + @Override + public String getAlgorithm() { + return ED448; + } + + @Override + String getJCAAlgorithm() { + return "Ed448"; + } + } } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,11 +25,15 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; -import java.util.*; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dsig.SignatureProperties; +import javax.xml.crypto.dsig.SignatureProperty; +import javax.xml.crypto.dsig.XMLSignature; import org.w3c.dom.Attr; import org.w3c.dom.Document; @@ -117,10 +121,12 @@ } } + @Override public List getProperties() { return properties; } + @Override public String getId() { return id; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,11 +25,15 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; -import java.util.*; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLStructure; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dsig.SignatureProperty; +import javax.xml.crypto.dsig.XMLSignature; import org.w3c.dom.Attr; import org.w3c.dom.Document; @@ -117,14 +121,17 @@ } } + @Override public List getContent() { return content; } + @Override public String getId() { return id; } + @Override public String getTarget() { return target; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,23 +25,33 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; - import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.io.IOException; import java.security.Provider; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dsig.CanonicalizationMethod; +import javax.xml.crypto.dsig.Reference; +import javax.xml.crypto.dsig.SignatureMethod; +import javax.xml.crypto.dsig.SignedInfo; +import javax.xml.crypto.dsig.TransformException; +import javax.xml.crypto.dsig.XMLSignature; +import javax.xml.crypto.dsig.XMLSignatureException; +import com.sun.org.apache.xml.internal.security.utils.UnsyncBufferedOutputStream; +import com.sun.org.apache.xml.internal.security.utils.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; -import com.sun.org.apache.xml.internal.security.utils.UnsyncBufferedOutputStream; -import com.sun.org.apache.xml.internal.security.utils.XMLUtils; + /** * DOM-based implementation of SignedInfo. @@ -52,9 +62,9 @@ private static final com.sun.org.slf4j.internal.Logger LOG = com.sun.org.slf4j.internal.LoggerFactory.getLogger(DOMSignedInfo.class); - private List references; - private CanonicalizationMethod canonicalizationMethod; - private SignatureMethod signatureMethod; + private final List references; + private final CanonicalizationMethod canonicalizationMethod; + private final SignatureMethod signatureMethod; private String id; private Document ownerDoc; private Element localSiElem; @@ -81,17 +91,13 @@ } this.canonicalizationMethod = cm; this.signatureMethod = sm; - this.references = Collections.unmodifiableList( - new ArrayList<>(references)); + this.references = Collections.unmodifiableList(new ArrayList<>(references)); if (this.references.isEmpty()) { - throw new IllegalArgumentException("list of references must " + - "contain at least one entry"); + throw new IllegalArgumentException("list of references must contain at least one entry"); } - for (int i = 0, size = this.references.size(); i < size; i++) { - Object obj = this.references.get(i); + for (Object obj : this.references) { if (!(obj instanceof Reference)) { - throw new ClassCastException("list of references contains " + - "an illegal type"); + throw new ClassCastException("list of references contains an illegal " + obj.getClass()); } } } @@ -178,22 +184,27 @@ references = Collections.unmodifiableList(refList); } + @Override public CanonicalizationMethod getCanonicalizationMethod() { return canonicalizationMethod; } + @Override public SignatureMethod getSignatureMethod() { return signatureMethod; } + @Override public String getId() { return id; } + @Override public List getReferences() { return references; } + @Override public InputStream getCanonicalizedData() { return canonData; } @@ -217,8 +228,8 @@ if (LOG.isDebugEnabled()) { LOG.debug("Canonicalized SignedInfo:"); StringBuilder sb = new StringBuilder(signedInfoBytes.length); - for (int i = 0; i < signedInfoBytes.length; i++) { - sb.append((char)signedInfoBytes[i]); + for (byte signedInfoByte : signedInfoBytes) { + sb.append((char) signedInfoByte); } LOG.debug(sb.toString()); LOG.debug("Data to be signed/verified:" + XMLUtils.encodeToString(signedInfoBytes)); diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,12 +25,13 @@ */ package org.jcp.xml.dsig.internal.dom; +import java.util.List; + import javax.xml.crypto.MarshalException; import javax.xml.crypto.XMLStructure; import javax.xml.crypto.dom.DOMCryptoContext; -import org.w3c.dom.Node; -import java.util.List; +import org.w3c.dom.Node; /** * DOM-based abstract implementation of XMLStructure. @@ -38,6 +39,7 @@ */ public abstract class DOMStructure implements XMLStructure { + @Override public final boolean isFeatureSupported(String feature) { if (feature == null) { throw new NullPointerException(); diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,12 +25,14 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.NodeSetData; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.NoSuchElementException; + +import javax.xml.crypto.NodeSetData; + import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -79,6 +81,7 @@ this.withComments = !excludeComments; } + @Override public boolean hasNext() { if (nodeSet == null) { nodeSet = dereferenceSameDocumentURI(root); @@ -87,6 +90,7 @@ return li.hasNext(); } + @Override public Node next() { if (nodeSet == null) { nodeSet = dereferenceSameDocumentURI(root); @@ -99,6 +103,7 @@ } } + @Override public void remove() { throw new UnsupportedOperationException(); } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java 2024-04-08 05:38:38.000000000 +0000 @@ -98,10 +98,12 @@ } } + @Override public final AlgorithmParameterSpec getParameterSpec() { return spi.getParameterSpec(); } + @Override public final String getAlgorithm() { return spi.getAlgorithm(); } @@ -145,6 +147,7 @@ * @throws XMLSignatureException if an unexpected error occurs while * executing the transform */ + @Override public Data transform(Data data, XMLCryptoContext xc) throws TransformException { @@ -164,6 +167,7 @@ * @throws XMLSignatureException if an unexpected error occurs while * executing the transform */ + @Override public Data transform(Data data, XMLCryptoContext xc, OutputStream os) throws TransformException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,18 +25,23 @@ */ package org.jcp.xml.dsig.internal.dom; -import org.w3c.dom.Attr; -import org.w3c.dom.Element; -import org.w3c.dom.Node; +import javax.xml.crypto.Data; +import javax.xml.crypto.URIDereferencer; +import javax.xml.crypto.URIReference; +import javax.xml.crypto.URIReferenceException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dom.DOMURIReference; import com.sun.org.apache.xml.internal.security.Init; +import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; import com.sun.org.apache.xml.internal.security.utils.XMLUtils; import com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolver; import com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolverContext; -import com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput; +import org.w3c.dom.Attr; +import org.w3c.dom.Element; +import org.w3c.dom.Node; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.*; import java.net.URI; /** @@ -53,6 +58,7 @@ Init.init(); } + @Override public Data dereference(URIReference uriRef, XMLCryptoContext context) throws URIReferenceException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java 2024-04-08 05:38:38.000000000 +0000 @@ -46,12 +46,11 @@ import javax.xml.crypto.dsig.keyinfo.X509Data; import javax.xml.crypto.dsig.keyinfo.X509IssuerSerial; +import com.sun.org.apache.xml.internal.security.utils.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; -import com.sun.org.apache.xml.internal.security.utils.XMLUtils; - /** * DOM-based implementation of X509Data. * @@ -134,6 +133,7 @@ this.content = Collections.unmodifiableList(newContent); } + @Override public List getContent() { return content; } @@ -147,8 +147,7 @@ XMLSignature.XMLNS, dsPrefix); // append children and preserve order - for (int i = 0, size = content.size(); i < size; i++) { - Object object = content.get(i); + for (Object object : content) { if (object instanceof X509Certificate) { marshalCert((X509Certificate)object,xdElem,ownerDoc,dsPrefix); } else if (object instanceof XMLStructure) { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,14 +25,14 @@ */ package org.jcp.xml.dsig.internal.dom; +import java.math.BigInteger; + +import javax.security.auth.x500.X500Principal; import javax.xml.crypto.MarshalException; import javax.xml.crypto.dom.DOMCryptoContext; import javax.xml.crypto.dsig.XMLSignature; import javax.xml.crypto.dsig.keyinfo.X509IssuerSerial; -import java.math.BigInteger; - -import javax.security.auth.x500.X500Principal; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -88,10 +88,12 @@ serialNumber = new BigInteger(sNElem.getFirstChild().getNodeValue()); } + @Override public String getIssuerName() { return issuerName; } + @Override public BigInteger getSerialNumber() { return serialNumber; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,12 +25,17 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; - import java.security.Provider; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.XMLStructure; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dsig.XMLObject; +import javax.xml.crypto.dsig.XMLSignature; import org.w3c.dom.Attr; import org.w3c.dom.Document; @@ -145,18 +150,22 @@ this.objectElem = objElem; } + @Override public List getContent() { return content; } + @Override public String getId() { return id; } + @Override public String getMimeType() { return mimeType; } + @Override public String getEncoding() { return encoding; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,29 +32,42 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.*; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dsig.dom.DOMSignContext; -import javax.xml.crypto.dsig.dom.DOMValidateContext; -import javax.xml.crypto.dsig.keyinfo.KeyInfo; - import java.security.InvalidKeyException; import java.security.Key; import java.security.Provider; -import java.util.Collections; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.xml.crypto.KeySelector; +import javax.xml.crypto.KeySelectorException; +import javax.xml.crypto.KeySelectorResult; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.XMLStructure; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dsig.Manifest; +import javax.xml.crypto.dsig.Reference; +import javax.xml.crypto.dsig.SignatureMethod; +import javax.xml.crypto.dsig.SignedInfo; +import javax.xml.crypto.dsig.Transform; +import javax.xml.crypto.dsig.XMLObject; +import javax.xml.crypto.dsig.XMLSignContext; +import javax.xml.crypto.dsig.XMLSignature; +import javax.xml.crypto.dsig.XMLSignatureException; +import javax.xml.crypto.dsig.XMLValidateContext; +import javax.xml.crypto.dsig.dom.DOMSignContext; +import javax.xml.crypto.dsig.dom.DOMValidateContext; +import javax.xml.crypto.dsig.keyinfo.KeyInfo; + +import com.sun.org.apache.xml.internal.security.utils.XMLUtils; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; -import com.sun.org.apache.xml.internal.security.utils.XMLUtils; - /** * DOM-based implementation of XMLSignature. * @@ -64,11 +77,11 @@ private static final com.sun.org.slf4j.internal.Logger LOG = com.sun.org.slf4j.internal.LoggerFactory.getLogger(DOMXMLSignature.class); - private String id; - private SignatureValue sv; + private final String id; + private final SignatureValue sv; private KeyInfo ki; private List objects; - private SignedInfo si; + private final SignedInfo si; private Document ownerDoc = null; private Element localSigElem = null; private Element sigElem = null; @@ -174,26 +187,32 @@ } } + @Override public String getId() { return id; } + @Override public KeyInfo getKeyInfo() { return ki; } + @Override public SignedInfo getSignedInfo() { return si; } + @Override public List getObjects() { return objects; } + @Override public SignatureValue getSignatureValue() { return sv; } + @Override public KeySelectorResult getKeySelectorResult() { return ksr; } @@ -234,8 +253,8 @@ } // create and append Object elements if necessary - for (int i = 0, size = objects.size(); i < size; i++) { - ((DOMXMLObject)objects.get(i)).marshal(sigElem, dsPrefix, context); + for (XMLObject object : objects) { + ((DOMXMLObject)object).marshal(sigElem, dsPrefix, context); } // append Id attribute @@ -460,13 +479,12 @@ if (parsedId != null && signatureIdMap.containsKey(parsedId)) { XMLStructure xs = signatureIdMap.get(parsedId); if (xs instanceof DOMReference) { - digestReference((DOMReference)xs, signContext); + digestReference((DOMReference) xs, signContext); } else if (xs instanceof Manifest) { - Manifest man = (Manifest)xs; + Manifest man = (Manifest) xs; List manRefs = DOMManifest.getManifestReferences(man); - for (int i = 0, size = manRefs.size(); i < size; i++) { - digestReference((DOMReference)manRefs.get(i), - signContext); + for (Reference manRef : manRefs) { + digestReference((DOMReference) manRef, signContext); } } } @@ -518,10 +536,12 @@ this.sigValueElem = sigValueElem; } + @Override public String getId() { return id; } + @Override public byte[] getValue() { return (value == null) ? null : value.clone(); } @@ -605,6 +625,7 @@ return result; } + @Override public void marshal(Node parent, String dsPrefix, DOMCryptoContext context) throws MarshalException diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,17 +25,37 @@ */ package org.jcp.xml.dsig.internal.dom; -import javax.xml.crypto.*; -import javax.xml.crypto.dom.DOMCryptoContext; -import javax.xml.crypto.dsig.*; -import javax.xml.crypto.dsig.dom.DOMValidateContext; -import javax.xml.crypto.dsig.keyinfo.*; -import javax.xml.crypto.dsig.spec.*; - import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; import java.util.List; +import javax.xml.crypto.Data; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.URIDereferencer; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.XMLStructure; +import javax.xml.crypto.dom.DOMCryptoContext; +import javax.xml.crypto.dsig.CanonicalizationMethod; +import javax.xml.crypto.dsig.DigestMethod; +import javax.xml.crypto.dsig.Manifest; +import javax.xml.crypto.dsig.Reference; +import javax.xml.crypto.dsig.SignatureMethod; +import javax.xml.crypto.dsig.SignatureProperties; +import javax.xml.crypto.dsig.SignatureProperty; +import javax.xml.crypto.dsig.SignedInfo; +import javax.xml.crypto.dsig.Transform; +import javax.xml.crypto.dsig.TransformService; +import javax.xml.crypto.dsig.XMLObject; +import javax.xml.crypto.dsig.XMLSignature; +import javax.xml.crypto.dsig.XMLSignatureFactory; +import javax.xml.crypto.dsig.XMLValidateContext; +import javax.xml.crypto.dsig.dom.DOMValidateContext; +import javax.xml.crypto.dsig.keyinfo.KeyInfo; +import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec; +import javax.xml.crypto.dsig.spec.DigestMethodParameterSpec; +import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec; +import javax.xml.crypto.dsig.spec.TransformParameterSpec; + import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -51,20 +71,24 @@ */ public DOMXMLSignatureFactory() {} + @Override public XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki) { return new DOMXMLSignature(si, ki, null, null, null); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List objects, String id, String signatureValueId) { return new DOMXMLSignature(si, ki, objects, id, signatureValueId); } + @Override public Reference newReference(String uri, DigestMethod dm) { return newReference(uri, dm, null, null, null); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id) { @@ -89,6 +113,7 @@ (uri, type, dm, appliedTransforms, result, transforms, id, getProvider()); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id, byte[] digestValue) { @@ -99,12 +124,14 @@ (uri, type, dm, null, null, transforms, id, digestValue, getProvider()); } + @Override @SuppressWarnings({ "rawtypes" }) public SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references) { return newSignedInfo(cm, sm, references, null); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references, String id) { @@ -112,33 +139,39 @@ } // Object factory methods + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public XMLObject newXMLObject(List content, String id, String mimeType, String encoding) { return new DOMXMLObject(content, id, mimeType, encoding); } + @Override @SuppressWarnings({ "rawtypes" }) public Manifest newManifest(List references) { return newManifest(references, null); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public Manifest newManifest(List references, String id) { return new DOMManifest(references, id); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public SignatureProperties newSignatureProperties(List props, String id) { return new DOMSignatureProperties(props, id); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public SignatureProperty newSignatureProperty (List info, String target, String id) { return new DOMSignatureProperty(info, target, id); } + @Override public XMLSignature unmarshalXMLSignature(XMLValidateContext context) throws MarshalException { @@ -148,6 +181,7 @@ return unmarshal(((DOMValidateContext) context).getNode(), context); } + @Override public XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure) throws MarshalException { @@ -201,6 +235,7 @@ } } + @Override public boolean isFeatureSupported(String feature) { if (feature == null) { throw new NullPointerException(); @@ -209,6 +244,7 @@ } } + @Override public DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { @@ -242,6 +278,7 @@ } } + @Override public SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { @@ -270,6 +307,14 @@ return new DOMSignatureMethod.SHA384withRSAandMGF1(params); } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA512_MGF1)) { return new DOMSignatureMethod.SHA512withRSAandMGF1(params); + } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA3_224_MGF1)) { + return new DOMSignatureMethod.SHA3_224withRSAandMGF1(params); + } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA3_256_MGF1)) { + return new DOMSignatureMethod.SHA3_256withRSAandMGF1(params); + } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA3_384_MGF1)) { + return new DOMSignatureMethod.SHA3_384withRSAandMGF1(params); + } else if (algorithm.equals(DOMSignatureMethod.RSA_SHA3_512_MGF1)) { + return new DOMSignatureMethod.SHA3_512withRSAandMGF1(params); } else if (algorithm.equals(DOMRSAPSSSignatureMethod.RSA_PSS)) { return new DOMRSAPSSSignatureMethod.RSAPSS(params); } else if (algorithm.equals(DOMSignatureMethod.RSA_RIPEMD160_MGF1)) { @@ -302,11 +347,16 @@ return new DOMSignatureMethod.SHA512withECDSA(params); } else if (algorithm.equals(DOMSignatureMethod.ECDSA_RIPEMD160)) { return new DOMSignatureMethod.RIPEMD160withECDSA(params); + } else if (algorithm.equals(DOMSignatureMethod.ED25519)) { + return new DOMSignatureMethod.EDDSA_ED25519(params); + } else if (algorithm.equals(DOMSignatureMethod.ED448)) { + return new DOMSignatureMethod.EDDSA_ED448(params); }else { throw new NoSuchAlgorithmException("unsupported algorithm"); } } + @Override public Transform newTransform(String algorithm, TransformParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { @@ -326,6 +376,7 @@ return new DOMTransform(spi); } + @Override public Transform newTransform(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { @@ -348,6 +399,7 @@ return new DOMTransform(spi); } + @Override public CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { @@ -366,6 +418,7 @@ return new DOMCanonicalizationMethod(spi); } + @Override public CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { @@ -388,6 +441,7 @@ return new DOMCanonicalizationMethod(spi); } + @Override public URIDereferencer getURIDereferencer() { return DOMURIDereferencer.INSTANCE; } diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java 2024-04-08 05:38:38.000000000 +0000 @@ -58,6 +58,7 @@ */ public final class DOMXPathFilter2Transform extends ApacheTransform { + @Override public void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException { @@ -70,6 +71,7 @@ this.params = params; } + @Override public void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException { @@ -125,6 +127,7 @@ this.params = new XPathFilter2ParameterSpec(list); } + @Override public void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java 2024-04-08 05:38:38.000000000 +0000 @@ -61,6 +61,7 @@ this.params = params; } + @Override public void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException { @@ -89,6 +90,7 @@ } } + @Override public void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException { diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,13 +26,16 @@ package org.jcp.xml.dsig.internal.dom; import java.security.InvalidAlgorithmParameterException; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import javax.xml.crypto.*; +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.XMLStructure; import javax.xml.crypto.dsig.spec.TransformParameterSpec; import javax.xml.crypto.dsig.spec.XSLTTransformParameterSpec; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + /** * DOM-based implementation of XSLT Transform. * (Uses Apache XML-Sec Transform implementation) @@ -52,6 +55,7 @@ this.params = params; } + @Override public void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException { @@ -64,6 +68,7 @@ (new javax.xml.crypto.dom.DOMStructure(sheet)); } + @Override public void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException { super.marshalParams(parent, context); diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,8 +28,12 @@ import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.IOException; -import java.util.*; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + import javax.xml.crypto.XMLCryptoContext; + import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,10 +32,18 @@ */ package org.jcp.xml.dsig.internal.dom; -import java.util.*; -import java.security.*; +import java.security.AccessController; +import java.security.InvalidParameterException; +import java.security.NoSuchAlgorithmException; +import java.security.PrivilegedAction; +import java.security.Provider; +import java.security.ProviderException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; -import javax.xml.crypto.dsig.*; +import javax.xml.crypto.dsig.CanonicalizationMethod; +import javax.xml.crypto.dsig.Transform; /** * The XMLDSig RI Provider. @@ -132,7 +140,7 @@ public XMLDSigRI() { // This is the JDK XMLDSig provider, synced from - // Apache Santuario XML Security for Java, version 2.3.0 + // Apache Santuario XML Security for Java, version 3.0.3 super("XMLDSig", VER, INFO); final Provider p = this; diff -Nru openjdk-11-11.0.22+7/src/java.xml.crypto/share/legal/santuario.md openjdk-11-11.0.23+9/src/java.xml.crypto/share/legal/santuario.md --- openjdk-11-11.0.22+7/src/java.xml.crypto/share/legal/santuario.md 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/java.xml.crypto/share/legal/santuario.md 2024-04-08 05:38:38.000000000 +0000 @@ -1,24 +1,7 @@ -## Apache Santuario v2.3.0 - -### Apache Santuario Notice -
-
-  Apache Santuario - XML Security for Java
-  Copyright 1999-2021 The Apache Software Foundation
-
-  This product includes software developed at
-  The Apache Software Foundation (http://www.apache.org/).
-
-  It was originally based on software copyright (c) 2001, Institute for
-  Data Communications Systems, .
-
-  The development of this software was partly funded by the European
-  Commission in the  project in the ISIS Programme.
-
-
+## Apache Santuario v3.0.3 ### Apache 2.0 License -
+```
 
                               Apache License
                         Version 2.0, January 2004
@@ -222,4 +205,23 @@
 See the License for the specific language governing permissions and
 limitations under the License.
 
-
+``` + +### Apache Santuario Notice +``` + +Apache Santuario - XML Security for Java +Copyright 1999-2023 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +It was originally based on software copyright (c) 2001, Institute for +Data Communications Systems, . + +The development of this software was partly funded by the European +Commission in the project in the ISIS Programme. + +This product contains software that is +copyright (c) 2021, Oracle and/or its affiliates. +``` diff -Nru openjdk-11-11.0.22+7/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java openjdk-11-11.0.23+9/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java --- openjdk-11-11.0.22+7/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1290,7 +1290,10 @@ options.isSet(PROCESSOR_PATH) || options.isSet(PROCESSOR_MODULE_PATH) || options.isSet(PROC, "only") || + options.isSet(PROC, "full") || + options.isSet(A) || options.isSet(XPRINT); + // Skipping -XprintRounds and -XprintProcessorInfo } public void setDeferredDiagnosticHandler(Log.DeferredDiagnosticHandler deferredDiagnosticHandler) { diff -Nru openjdk-11-11.0.22+7/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java openjdk-11-11.0.23+9/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java --- openjdk-11-11.0.22+7/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -81,6 +81,11 @@ * {@code handleOption} then calls {@link #process process} providing a suitable * {@link OptionHelper} to provide access the compiler state. * + * + *

Maintenance note: when adding new annotation processing related + * options, the list of options regarded as requesting explicit + * annotation processing in JavaCompiler should be updated. + * *

This is NOT part of any supported API. * If you write code that depends on this, you do so at your own * risk. This code and its internal interfaces are subject to change @@ -266,7 +271,7 @@ } }, - PROC("-proc:", "opt.proc.none.only", STANDARD, BASIC, ONEOF, "none", "only"), + PROC("-proc:", "opt.proc.none.only", STANDARD, BASIC, ONEOF, "none", "only", "full"), PROCESSOR("-processor", "opt.arg.class.list", "opt.processor", STANDARD, BASIC), diff -Nru openjdk-11-11.0.22+7/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKey.java openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKey.java --- openjdk-11-11.0.22+7/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKey.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKey.java 2024-04-08 05:38:38.000000000 +0000 @@ -75,10 +75,14 @@ protected final String algorithm; - protected CKey(String algorithm, NativeHandles handles, int keyLength) { + private final boolean isPublic; + + protected CKey(String algorithm, NativeHandles handles, int keyLength, + boolean isPublic) { this.algorithm = algorithm; this.handles = handles; this.keyLength = keyLength; + this.isPublic = isPublic; } // Native method to cleanup the key handle. @@ -101,6 +105,18 @@ return algorithm; } + public String toString() { + String typeStr; + if (handles.hCryptKey != 0) { + typeStr = getKeyType(handles.hCryptKey) + ", container=" + + getContainerName(handles.hCryptProv); + } else { + typeStr = "CNG"; + } + return algorithm + " " + (isPublic ? "PublicKey" : "PrivateKey") + + " [size=" + keyLength + " bits, type=" + typeStr + "]"; + } + protected native static String getContainerName(long hCryptProv); protected native static String getKeyType(long hCryptKey); diff -Nru openjdk-11-11.0.22+7/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPrivateKey.java openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPrivateKey.java --- openjdk-11-11.0.22+7/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPrivateKey.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPrivateKey.java 2024-04-08 05:38:38.000000000 +0000 @@ -41,7 +41,7 @@ private static final long serialVersionUID = 8113152807912338063L; private CPrivateKey(String alg, NativeHandles handles, int keyLength) { - super(alg, handles, keyLength); + super(alg, handles, keyLength, false); } // Called by native code inside security.cpp @@ -64,16 +64,6 @@ return null; } - public String toString() { - if (handles.hCryptKey != 0) { - return algorithm + "PrivateKey [size=" + keyLength + " bits, type=" + - getKeyType(handles.hCryptKey) + ", container=" + - getContainerName(handles.hCryptProv) + "]"; - } else { - return algorithm + "PrivateKey [size=" + keyLength + " bits, type=CNG]"; - } - } - // This class is not serializable private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { diff -Nru openjdk-11-11.0.22+7/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPublicKey.java openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPublicKey.java --- openjdk-11-11.0.22+7/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPublicKey.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CPublicKey.java 2024-04-08 05:38:38.000000000 +0000 @@ -110,9 +110,8 @@ } public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append(algorithm).append("PublicKey [size=").append(keyLength) - .append("]\n ECPoint: ").append(getW()) + StringBuffer sb = new StringBuffer(super.toString()); + sb.append("\n ECPoint: ").append(getW()) .append("\n params: ").append(getParams()); return sb.toString(); } @@ -129,16 +128,8 @@ } public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append(algorithm).append("PublicKey [size=").append(keyLength) - .append(" bits, type="); - if (handles.hCryptKey != 0) { - sb.append(getKeyType(handles.hCryptKey)) - .append(", container=").append(getContainerName(handles.hCryptProv)); - } else { - sb.append("CNG"); - } - sb.append("]\n modulus: ").append(getModulus()) + StringBuffer sb = new StringBuffer(super.toString()); + sb.append("\n modulus: ").append(getModulus()) .append("\n public exponent: ").append(getPublicExponent()); return sb.toString(); } @@ -209,7 +200,7 @@ protected CPublicKey( String alg, NativeHandles handles, int keyLength) { - super(alg, handles, keyLength); + super(alg, handles, keyLength, true); } @Override diff -Nru openjdk-11-11.0.22+7/src/jdk.jartool/share/classes/sun/tools/jar/Main.java openjdk-11-11.0.23+9/src/jdk.jartool/share/classes/sun/tools/jar/Main.java --- openjdk-11-11.0.22+7/src/jdk.jartool/share/classes/sun/tools/jar/Main.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.jartool/share/classes/sun/tools/jar/Main.java 2024-04-08 05:38:38.000000000 +0000 @@ -283,6 +283,9 @@ } } expand(); + if (!ok) { + return false; + } if (!moduleInfos.isEmpty()) { // All actual file entries (excl manifest and module-info.class) Set jentries = new HashSet<>(); @@ -357,6 +360,9 @@ tmpFile = createTemporaryFile("tmpjar", ".jar"); } expand(); + if (!ok) { + return false; + } try (FileInputStream in = (fname != null) ? new FileInputStream(inputFile) : new FileInputStream(FileDescriptor.in); FileOutputStream out = new FileOutputStream(tmpFile); diff -Nru openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java --- openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java 2024-04-08 05:38:38.000000000 +0000 @@ -889,7 +889,7 @@ return getDocLink(context, typeElement, element, label, strong, false); } - /** + /** * Return the link for the given member. * * @param context the id of the context where the link will be printed. @@ -909,22 +909,26 @@ public Content getDocLink(LinkInfoImpl.Kind context, TypeElement typeElement, Element element, Content label, boolean strong, boolean isProperty) { - if (! (utils.isIncluded(element) || utils.isLinkable(typeElement))) { + if (!utils.isLinkable(typeElement, element)) { return label; - } else if (utils.isExecutableElement(element)) { + } + + if (utils.isExecutableElement(element)) { ExecutableElement ee = (ExecutableElement)element; return getLink(new LinkInfoImpl(configuration, context, typeElement) .label(label) .where(links.getName(getAnchor(ee, isProperty))) .strong(strong)); - } else if (utils.isVariableElement(element) || utils.isTypeElement(element)) { + } + + if (utils.isVariableElement(element) || utils.isTypeElement(element)) { return getLink(new LinkInfoImpl(configuration, context, typeElement) .label(label) .where(links.getName(element.getSimpleName().toString())) .strong(strong)); - } else { - return label; } + + return label; } /** @@ -978,7 +982,6 @@ } public Content seeTagToContent(Element element, DocTree see) { - Kind kind = see.getKind(); if (!(kind == LINK || kind == SEE || kind == LINK_PLAIN)) { return new ContentBuilder(); diff -Nru openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java --- openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -273,11 +273,9 @@ */ public Content seeTagOutput(Element holder, List seeTags) { ContentBuilder body = new ContentBuilder(); - if (!seeTags.isEmpty()) { - for (DocTree dt : seeTags) { - appendSeparatorIfNotEmpty(body); - body.addContent(htmlWriter.seeTagToContent(holder, dt)); - } + for (DocTree dt : seeTags) { + appendSeparatorIfNotEmpty(body); + body.addContent(htmlWriter.seeTagToContent(holder, dt)); } if (utils.isVariableElement(holder) && ((VariableElement)holder).getConstantValue() != null && htmlWriter instanceof ClassWriterImpl) { diff -Nru openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties --- openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties 2024-04-08 05:38:38.000000000 +0000 @@ -223,7 +223,6 @@ doclet.Annotation_Type_Required_Member=Required Element doclet.Annotation_Type_Member=Annotation Type Element doclet.Enum_Constant=Enum Constant -doclet.Class=Class doclet.Description=Description doclet.ConstantField=Constant Field doclet.Value=Value diff -Nru openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java --- openjdk-11-11.0.22+7/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java 2024-04-08 05:38:38.000000000 +0000 @@ -1016,9 +1016,9 @@ } /** - * Return true if this class is linkable and false if we can't link to the - * desired class. - *
+ * Returns true if this class is linkable and false if we can't link to it. + * + *

* NOTE: You can only link to external classes if they are public or * protected. * @@ -1034,6 +1034,43 @@ } /** + * Returns true if an element is linkable in the context of a given type element. + * + * If the element is a type element, it delegates to {@link #isLinkable(TypeElement)}. + * Otherwise, the element is linkable if any of the following are true: + *

    + *
  • it is "included" (see {@link jdk.javadoc.doclet}) + *
  • it is inherited from an undocumented supertype + *
  • it is a public or protected member of an external API + *
+ * + * @param typeElem the type element + * @param elem the element + * @return whether or not the element is linkable + */ + public boolean isLinkable(TypeElement typeElem, Element elem) { + if (isTypeElement(elem)) { + return isLinkable((TypeElement) elem); // defer to existing behavior + } + + if (isIncluded(elem)) { + return true; + } + + // Allow for the behavior that members of undocumented supertypes + // may be included in documented types + TypeElement enclElem = getEnclosingTypeElement(elem); + if (typeElem != enclElem && isSubclassOf(typeElem, enclElem)) { + return true; + } + + // Allow for external members + return isLinkable(typeElem) + && configuration.extern.isExternal(typeElem) + && (isPublic(elem) || isProtected(elem)); + } + + /** * Return this type as a {@code TypeElement} if it represents a class * interface or annotation. Array dimensions are ignored. * If this type {@code ParameterizedType} or {@code WildcardType}, return diff -Nru openjdk-11-11.0.22+7/src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java openjdk-11-11.0.23+9/src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java --- openjdk-11-11.0.22+7/src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -326,6 +326,20 @@ void process(JavapTask task, String opt, String arg) throws BadArgs { task.options.moduleName = arg; } + }, + + // this option is processed by the launcher, and cannot be used when invoked via + // an API like ToolProvider. It exists here to be documented in the command-line help. + new Option(false, "-J") { + @Override + boolean matches(String opt) { + return opt.startsWith("-J"); + } + + @Override + void process(JavapTask task, String opt, String arg) throws BadArgs { + throw task.new BadArgs("err.only.for.launcher"); + } } }; @@ -936,7 +950,7 @@ printLines(getMessage("main.usage", progname)); for (Option o: recognizedOptions) { String name = o.aliases[0].replaceAll("^-+", "").replaceAll("-+", "_"); // there must always be at least one name - if (name.startsWith("X") || name.equals("fullversion") || name.equals("h") || name.equals("verify")) + if (name.startsWith("X") || name.equals("fullversion")) continue; printLines(getMessage("main.opt." + name)); } diff -Nru openjdk-11-11.0.22+7/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties openjdk-11-11.0.23+9/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties --- openjdk-11-11.0.22+7/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties 2024-04-08 05:38:38.000000000 +0000 @@ -1,3 +1,27 @@ +# +# Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# err.prefix=Error: @@ -21,6 +45,7 @@ err.nomem=Insufficient memory. To increase memory use -J-Xmx option. err.cant.find.module=Cannot find module {0} err.cant.find.module.ex=Problem finding module {0}: {1} +err.only.for.launcher=This option can only be used when invoking javap from the command-line launcher. main.usage.summary=\ Usage: {0} \n\ @@ -31,17 +56,13 @@ note.prefix=Note: -main.usage.summary=\ -Usage: {0} \n\ -use --help for a list of possible options - main.usage=\ Usage: {0} \n\ where possible options include: main.opt.help=\ -\ -? -h --help -help Print this help message +\ --help -help -h -? Print this help message main.opt.version=\ \ -version Version information @@ -102,6 +123,9 @@ main.opt.module=\ \ --module , -m Specify module containing classes to be disassembled +main.opt.J=\ +\ -J Specify a VM option + main.usage.foot=\n\ GNU-style options may use '=' instead of whitespace to separate the name of an option\n\ from its value.\n\ diff -Nru openjdk-11-11.0.22+7/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java openjdk-11-11.0.23+9/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java --- openjdk-11-11.0.22+7/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java 2024-04-08 05:38:38.000000000 +0000 @@ -80,7 +80,7 @@ // annotations, such as Period and Threshold. if (pEventType.hasPeriod()) { pEventType.setEventHook(true); - if (!(Type.EVENT_NAME_PREFIX + "ExecutionSample").equals(type.getName())) { + if (!pEventType.isMethodSampling()) { requestHooks.add(new RequestHook(pEventType)); } } diff -Nru openjdk-11-11.0.22+7/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java openjdk-11-11.0.23+9/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java --- openjdk-11-11.0.22+7/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java 2024-04-08 05:38:38.000000000 +0000 @@ -278,4 +278,8 @@ public int getStackTraceOffset() { return stackTraceOffset; } + + public boolean isMethodSampling() { + return isMethodSampling; + } } diff -Nru openjdk-11-11.0.22+7/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java openjdk-11-11.0.23+9/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java --- openjdk-11-11.0.22+7/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java 2024-04-08 05:38:38.000000000 +0000 @@ -108,6 +108,42 @@ public long[] getThreadUserTime(long[] ids); /** + * Returns an approximation of the total amount of memory, in bytes, allocated + * in heap memory by all threads since the Java virtual machine started. + * The returned value is an approximation because some Java virtual machine + * implementations may use object allocation mechanisms that result in a + * delay between the time an object is allocated and the time its size is + * recorded. + * + * @implSpec The default implementation throws {@code UnsupportedOperationException} + * if the Java virtual machine implementation does not support thread + * memory allocation measurement, and otherwise acts as though thread + * memory allocation measurement is disabled. + * + * @return an approximation of the total memory allocated, in bytes, in + * heap memory since the Java virtual machine was started, + * if thread memory allocation measurement is enabled; + * {@code -1} otherwise. + * + * @throws UnsupportedOperationException if the Java virtual + * machine implementation does not support thread memory allocation + * measurement. + * + * @see #isThreadAllocatedMemorySupported + * @see #isThreadAllocatedMemoryEnabled + * @see #setThreadAllocatedMemoryEnabled + * + * @since 11.0.23 + */ + public default long getTotalThreadAllocatedBytes() { + if (!isThreadAllocatedMemorySupported()) { + throw new UnsupportedOperationException( + "Thread allocated memory measurement is not supported."); + } + return -1; + } + + /** * Returns an approximation of the total amount of memory, in bytes, * allocated in heap memory for the current thread. * The returned value is an approximation because some Java virtual machine diff -Nru openjdk-11-11.0.22+7/src/jdk.management/share/classes/com/sun/management/internal/HotSpotThreadImpl.java openjdk-11-11.0.23+9/src/jdk.management/share/classes/com/sun/management/internal/HotSpotThreadImpl.java --- openjdk-11-11.0.22+7/src/jdk.management/share/classes/com/sun/management/internal/HotSpotThreadImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.management/share/classes/com/sun/management/internal/HotSpotThreadImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -58,6 +58,11 @@ } @Override + public long getTotalThreadAllocatedBytes() { + return super.getTotalThreadAllocatedBytes(); + } + + @Override public long getCurrentThreadAllocatedBytes() { return super.getCurrentThreadAllocatedBytes(); } diff -Nru openjdk-11-11.0.22+7/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java --- openjdk-11-11.0.22+7/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -562,7 +562,8 @@ @Override public void implCloseSelectableChannel() throws IOException { synchronized (stateLock) { - SctpNet.preClose(fdVal); + if (state != ChannelState.KILLED) + SctpNet.preClose(fdVal); if (receiverThread != 0) NativeThread.signal(receiverThread); diff -Nru openjdk-11-11.0.22+7/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java --- openjdk-11-11.0.22+7/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -289,7 +289,8 @@ @Override public void implCloseSelectableChannel() throws IOException { synchronized (stateLock) { - SctpNet.preClose(fdVal); + if (state != ChannelState.KILLED) + SctpNet.preClose(fdVal); if (receiverThread != 0) NativeThread.signal(receiverThread); diff -Nru openjdk-11-11.0.22+7/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java --- openjdk-11-11.0.22+7/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -265,7 +265,8 @@ @Override public void implCloseSelectableChannel() throws IOException { synchronized (stateLock) { - SctpNet.preClose(fdVal); + if (state != ChannelState.KILLED) + SctpNet.preClose(fdVal); if (thread != 0) NativeThread.signal(thread); if (!isRegistered()) diff -Nru openjdk-11-11.0.22+7/test/failure_handler/src/share/conf/common.properties openjdk-11-11.0.23+9/test/failure_handler/src/share/conf/common.properties --- openjdk-11-11.0.22+7/test/failure_handler/src/share/conf/common.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/failure_handler/src/share/conf/common.properties 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ jcmd.compiler.queue \ jcmd.vm.classloader_stats jcmd.vm.stringtable \ jcmd.vm.symboltable jcmd.vm.uptime jcmd.vm.dynlibs \ - jcmd.vm.system_properties \ + jcmd.vm.system_properties jcmd.vm.info \ jcmd.gc.heap_info jcmd.gc.class_histogram jcmd.gc.finalizer_info \ jstack diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/ProblemList.txt openjdk-11-11.0.23+9/test/hotspot/jtreg/ProblemList.txt --- openjdk-11-11.0.22+7/test/hotspot/jtreg/ProblemList.txt 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/ProblemList.txt 2024-04-08 05:38:38.000000000 +0000 @@ -110,10 +110,6 @@ compiler/c2/Test6852078.java 8194310 generic-all -applications/ctw/modules/java_desktop.java 8189604 windows-all -applications/ctw/modules/java_desktop_2.java 8189604,8204842 generic-all -applications/ctw/modules/jdk_jconsole.java 8189604 windows-all - compiler/cpuflags/TestAESIntrinsicsOnSupportedConfig.java 8190680 generic-all compiler/runtime/Test8168712.java 8211769,8211771 generic-ppc64,generic-ppc64le,linux-s390x @@ -226,12 +222,6 @@ ############################################################################# vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded003/TestDescription.java 8153598 generic-all -vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001/TestDescription.java 8198668 generic-all -vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded002/TestDescription.java 8153598 generic-all -vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded003/TestDescription.java 8198668 generic-all -vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded004/TestDescription.java 8153598 generic-all -vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded005/TestDescription.java 8153598 generic-all -vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java 8060733 generic-all vmTestbase/nsk/jdi/AttachingConnector/attachnosuspend/attachnosuspend001/TestDescription.java 8153613 generic-all vmTestbase/nsk/jdi/ThreadReference/frameCount/framecount001/TestDescription.java 6530620 generic-all @@ -244,7 +234,6 @@ vmTestbase/nsk/jdi/StackFrame/_bounds_/bounds001/TestDescription.java 6604963 generic-all vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021/TestDescription.java 8065773 generic-all vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses023/TestDescription.java 8065773 generic-all -vmTestbase/nsk/jdi/EventQueue/remove_l/remove_l005/TestDescription.java 8068225 generic-all vmTestbase/nsk/jdi/stress/ClassPrepareEvents/ClassPrepareEvents001/ClassPrepareEvents001.java 6426321 generic-all vmTestbase/metaspace/gc/firstGC_10m/TestDescription.java 8208250 generic-all @@ -264,7 +253,7 @@ vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/TestDescription.java 8219652 aix-ppc64 vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab001/TestDescription.java 8219652 aix-ppc64 -vmTestbase/gc/lock/jni/jnilock002/TestDescription.java 8208243,8192647 generic-all +vmTestbase/gc/lock/jni/jnilock002/TestDescription.java 8192647 generic-all vmTestbase/jit/escape/LockCoarsening/LockCoarsening001/TestDescription.java 8148743 generic-all vmTestbase/jit/escape/LockCoarsening/LockCoarsening002/TestDescription.java 8208259 generic-all @@ -279,8 +268,7 @@ vmTestbase/vm/mlvm/meth/stress/compiler/sequences/Test.java 8208255 generic-all vmTestbase/vm/mlvm/meth/stress/gc/callSequencesDuringGC/Test.java 8208255 generic-all vmTestbase/vm/mlvm/meth/stress/java/sequences/Test.java 8208255 generic-all -vmTestbase/vm/mlvm/meth/stress/jdi/breakpointInCompiledCode/Test.java 8208255 generic-all -vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/TestDescription.java 8208278 generic-all +vmTestbase/vm/mlvm/meth/stress/jdi/breakpointInCompiledCode/Test.java 8257761 generic-all vmTestbase/vm/mlvm/mixed/stress/regression/b6969574/INDIFY_Test.java 8079650 generic-all vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_indy2none_a/TestDescription.java 8013267 generic-all vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_indy2manyDiff_b/TestDescription.java 8013267 generic-all diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/TEST.groups openjdk-11-11.0.23+9/test/hotspot/jtreg/TEST.groups --- openjdk-11-11.0.22+7/test/hotspot/jtreg/TEST.groups 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/TEST.groups 2024-04-08 05:38:38.000000000 +0000 @@ -21,6 +21,11 @@ # questions. # +# All tests + +all = \ + :hotspot_all + hotspot_all = \ / @@ -28,6 +33,8 @@ / \ -applications +# Component test groups + hotspot_compiler = \ compiler @@ -417,6 +424,21 @@ -:hotspot_nmt \ -:hotspot_tier2_runtime_platform_agnostic +jcstress_part1 = \ + applications/jcstress/seqcst.java + +jcstress_part2 = \ + applications/jcstress/accessAtomic.java \ + applications/jcstress/acqrel.java \ + applications/jcstress/atomics.java \ + applications/jcstress/coherence.java \ + applications/jcstress/locks.java + +jcstress_part3 = \ + applications/jcstress \ + -:jcstress_part1 \ + -:jcstress_part2 + # Stress tests against information provided by VM via JMX vmTestbase_nsk_monitoring = \ vmTestbase/nsk/monitoring diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/TEST.quick-groups openjdk-11-11.0.23+9/test/hotspot/jtreg/TEST.quick-groups --- openjdk-11-11.0.22+7/test/hotspot/jtreg/TEST.quick-groups 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/TEST.quick-groups 2024-04-08 05:38:38.000000000 +0000 @@ -1557,9 +1557,9 @@ vmTestbase/gc/gctests/StringInternGC/StringInternGC.java \ vmTestbase/gc/gctests/ReferencesGC/ReferencesGC.java \ vmTestbase/gc/lock/jni/jnilock001/TestDescription.java \ - vmTestbase/gc/lock/jniref/jnireflock04/TestDescription.java \ - vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TestDescription.java \ - vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java + vmTestbase/gc/lock/jniref/jnireflock01/TestDescription.java \ + vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock01/TestDescription.java \ + vmTestbase/gc/lock/malloc/malloclock01/TestDescription.java vmTestbase_vm_compiler_quick = \ vmTestbase/vm/compiler/jbe/constprop/constprop01/constprop01.java \ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,7 +26,8 @@ * @summary run CTW for all classes from jdk.jfr module * * @library /test/lib / /testlibrary/ctw/src - * @modules java.base/jdk.internal.jimage + * @modules java.base/jdk.internal.access + * java.base/jdk.internal.jimage * java.base/jdk.internal.misc * java.base/jdk.internal.reflect * @modules jdk.jfr diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/ctw/modules/jdk_management_jfr.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/ctw/modules/jdk_management_jfr.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/ctw/modules/jdk_management_jfr.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/ctw/modules/jdk_management_jfr.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,7 +26,8 @@ * @summary run CTW for all classes from jdk.management.jfr module * * @library /test/lib / /testlibrary/ctw/src - * @modules java.base/jdk.internal.jimage + * @modules java.base/jdk.internal.access + * java.base/jdk.internal.jimage * java.base/jdk.internal.misc * java.base/jdk.internal.reflect * @modules jdk.management.jfr diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/TestGenerator.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/TestGenerator.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/TestGenerator.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/TestGenerator.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,6 +29,7 @@ import java.io.BufferedReader; import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; import java.nio.file.Files; @@ -51,11 +52,6 @@ * Use jcstress test suite to generate jtreg tests in 'test.src' or current * directory. Used version is defined in JcstressRunner class. * - * Each generated jtreg test file will contain several tests. Subdirectories are - * used to allow running all tests from a file using command line. 'copy', - * 'acqrel', 'fences', 'atomicity', 'seqcst.sync', 'seqcst.volatiles' and - * 'other' tests will be generated. - * * This generator depends on testlibrary, therefore it should be compiled and * added to classpath. One can replace @notest by @test in jtreg test * description above to run this class with jtreg. @@ -97,58 +93,18 @@ " */\n\n", years); } - private static enum JcstressGroup { - MEMEFFECTS("memeffects"), - COPY("copy"), - ACQREL("acqrel"), - FENCES("fences"), - ATOMICITY("atomicity"), - SEQCST_SYNC("seqcst.sync"), - SEQCST_VOLATILES("seqcst.volatiles"), - OTHER("other", JcstressGroup.otherFilter()); - - private final String groupName; - private final Predicate filter; - - private JcstressGroup(String groupName, Predicate filter) { - this.groupName = groupName; - this.filter = filter; - } - - private JcstressGroup(String groupName) { - this(groupName, JcstressGroup.nameFilter(groupName)); - } - - private static Predicate nameFilter(String group) { - return s -> s.startsWith("org.openjdk.jcstress.tests." + group + "."); - } - - private static Predicate otherFilter() { - return (s) -> { - for (JcstressGroup g : EnumSet.complementOf(EnumSet.of(OTHER))) { - if (g.filter.test(s)) { - return false; - } - } - return true; - }; - } - } - public static String DESC_FORMAT = "\n" + "/**\n" + " * @test %1$s\n" + " * @library /test/lib /\n" - + " * @run driver/timeout=2400 " + JcstressRunner.class.getName() + + " * @run driver/timeout=21600 " + JcstressRunner.class.getName() // verbose output + " -v" - // test mode preset - + " -m default" // test name - + " -t %1$s\n" + + " -t org.openjdk.jcstress.tests.%1$s\\.\n" + " */\n"; - public static void main(String[] args) { + public static void main(String[] args) throws IOException { Path path = JcstressRunner.pathToArtifact(); Path output; try { @@ -162,56 +118,32 @@ } catch (Exception e) { throw new Error("Can not get list of tests", e); } - for (JcstressGroup group : JcstressGroup.values()) { - try { - try (BufferedReader reader = Files.newBufferedReader(output)) { - // skip first 4 lines: name, -{80}, revision and empty line - for (int i = 0; i < 4; ++i) { - reader.readLine(); - } - new TestGenerator(group).generate(reader); - } - } catch (IOException e) { - throw new Error("Generating tests for " + group.name() - + " has failed", e); - } - } - output.toFile().delete(); - } - private final JcstressGroup group; + BufferedReader reader = Files.newBufferedReader(output); + + reader.lines() + .skip(4) // skip first 4 lines: name, -{80}, revision and empty line + .map(s -> s.split("\\.")[4]) // group by the package name following "org.openjdk.jcstress.tests." + .distinct() + .filter(s -> !s.startsWith("sample")) // skip sample test + .forEach(TestGenerator::generate); - private TestGenerator(JcstressGroup group) { - this.group = group; + output.toFile().delete(); } - private void generate(BufferedReader reader) throws IOException { - // array is needed to change value inside a lambda - long[] count = {0L}; - String root = Utils.TEST_SRC; - Path testFile = Paths.get(root) - .resolve(group.groupName) - .resolve("Test.java"); - File testDir = testFile.getParent().toFile(); - if (!testDir.mkdirs() && !testDir.exists()) { - throw new Error("Can not create directories for " - + testFile.toString()); - } + private static void generate(String group) { + Path testFile = Paths.get(Utils.TEST_SRC).resolve(group + ".java"); + System.out.println("Generating " + testFile); try (PrintStream ps = new PrintStream(testFile.toFile())) { ps.print(COPYRIGHT); ps.printf("/* DO NOT MODIFY THIS FILE. GENERATED BY %s */\n", - getClass().getName()); + TestGenerator.class.getName()); - reader.lines() - .filter(group.filter) - .forEach(s -> { - count[0]++; - ps.printf(DESC_FORMAT, s); - }); + ps.printf(DESC_FORMAT, group); ps.print('\n'); + } catch (FileNotFoundException e) { + System.out.println("Failed to generate tests for " + group); } - System.out.printf("%d tests generated in %s%n", - count[0], group.groupName); } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/accessAtomic.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/accessAtomic.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/accessAtomic.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/accessAtomic.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test accessAtomic + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.accessAtomic\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/acqrel/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/acqrel/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/acqrel/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/acqrel/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,13633 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.plain.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.plain.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.arrays.volatiles.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.plain.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.plain.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.fields.volatiles.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.acqrel.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.opaque.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.plain.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.arrays.volatiles.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.big.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteArray.little.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.big.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.direct.little.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.big.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.byteBuffer.heap.little.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.acqrel.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.opaque.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.plain.StringStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.BooleanStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ByteStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.CharStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.DoubleStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.FloatStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.IntStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.LongStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.ShortStringTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringBooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringBooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringCharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringCharTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringFloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringFloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringIntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringIntTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringLongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringLongTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringStringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.acqrel.varHandles.fields.volatiles.StringStringTest - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/acqrel.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/acqrel.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/acqrel.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/acqrel.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test acqrel + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.acqrel\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/atomicity/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomicity/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/atomicity/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomicity/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,3775 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferAtomicityTests.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.CharViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.CharViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.DoubleViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.DoubleViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.FloatViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.FloatViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.IntViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.IntViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.LongViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.LongViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.ShortViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ByteBufferViewsAtomicityTests.ShortViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.CharBufferAtomicityTests.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.CharBufferAtomicityTests.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferAtomicityTests.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.CharViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.CharViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.DoubleViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.DoubleViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.FloatViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.FloatViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.IntViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.IntViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.LongViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.LongViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.ShortViewTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DirectByteBufferViewsAtomicityTests.ShortViewTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.DoubleBufferAtomicityTests.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.DoubleBufferAtomicityTests.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.FloatBufferAtomicityTests.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.FloatBufferAtomicityTests.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.IntBufferAtomicityTests.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.IntBufferAtomicityTests.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.LongBufferAtomicityTests.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.LongBufferAtomicityTests.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.buffers.ShortBufferAtomicityTests.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.buffers.ShortBufferAtomicityTests.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.crosscache.ByteBufferIntAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.crosscache.ByteBufferIntAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.crosscache.DirectByteBufferIntAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.crosscache.DirectByteBufferIntAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.crosscache.UnsafeIntAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.crosscache.UnsafeIntAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.ByteAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.ByteAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.CharAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.CharAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.DoubleAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.DoubleAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.FloatAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.FloatAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.IntAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.IntAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.LongAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.LongAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.ShortAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.ShortAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileByteAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileByteAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileCharAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileCharAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileDoubleAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileDoubleAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileFloatAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileFloatAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileIntAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileIntAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileLongAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileLongAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileShortAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.perbyte.VolatileShortAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.ByteAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.ByteAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.CharAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.CharAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.DoubleAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.DoubleAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.FloatAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.FloatAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.IntAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.IntAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.LongAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.LongAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.ShortAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.ShortAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileByteAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileByteAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileCharAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileCharAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileDoubleAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileDoubleAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileFloatAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileFloatAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileIntAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileIntAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileLongAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileLongAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileShortAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.primitives.reflect.VolatileShortAtomicityTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeAcquireString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CASTest.CompareAndSetString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetAcquireString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetPlainString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetReleaseString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASContendStrongTest.WeakCompareAndSetString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetAcquireString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetPlainString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetReleaseString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.arrays.WeakCASTest.WeakCompareAndSetString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.big.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteArray.little.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.big.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.big.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.heap.little.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeReleaseString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.CASTest.CompareAndSetString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndAddTest.GetAndAddInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndAddTest.GetAndAddInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndAddTest.GetAndAddLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndAddTest.GetAndAddLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.GetAndSetTest.GetAndSetString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetAcquireString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetPlainString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetReleaseString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASContendStrongTest.WeakCompareAndSetString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetAcquireString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetPlainString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseByte - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseChar - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseDouble - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseFloat - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseInt - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseLong - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetReleaseString - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetShort - */ - -/** - * @test org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomicity.varHandles.fields.WeakCASTest.WeakCompareAndSetString - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/atomicity.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomicity.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/atomicity.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomicity.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test atomicity + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.atomicity\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/atomics.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomics.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/atomics.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/atomics.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test atomics + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.atomics\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/causality.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/causality.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/causality.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/causality.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test causality + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.causality\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/coherence.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/coherence.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/coherence.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/coherence.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test coherence + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.coherence\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/copy/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/copy/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/copy/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/copy/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,1105 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.arraycopy.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.clone.objects.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.clone.objects.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.copyof.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.copy.manual.objects.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.copy.manual.objects.volatiles.StringTest - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/copy.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/copy.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/copy.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/copy.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test copy + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.copy\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/countdownlatch.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/countdownlatch.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/countdownlatch.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/countdownlatch.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test countdownlatch + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.countdownlatch\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/defaultValues.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/defaultValues.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/defaultValues.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/defaultValues.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test defaultValues + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.defaultValues\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/executors.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/executors.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/executors.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/executors.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test executors + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.executors\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/fences/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/fences/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/fences/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/fences/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,829 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.fences.FencedAcquireReleaseTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.FencedAcquireReleaseTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.FencedDekkerTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.FencedDekkerTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.FencedPublicationTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.FencedPublicationTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.FencedReadTwiceTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.FencedReadTwiceTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.UnfencedAcquireReleaseTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.UnfencedAcquireReleaseTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.UnfencedDekkerTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.UnfencedDekkerTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.UnfencedPublicationTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.UnfencedPublicationTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.UnfencedReadTwiceTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.UnfencedReadTwiceTest - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.AcquireFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.FullFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadLoadFenceTest.LoadLoadFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.FullFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.FullFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.FullFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.StoreStoreFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.FullFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.ReleaseFenceString - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceBoolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceBoolean - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceByte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceByte - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceChar - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceChar - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceDouble - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceDouble - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceFloat - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceFloat - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceInt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceInt - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceLong - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceLong - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceShort - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceShort - */ - -/** - * @test org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceString - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest2.StoreStoreFenceString - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/fences.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/fences.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/fences.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/fences.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test fences + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.fences\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/future.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/future.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/future.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/future.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test future + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.future\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/init.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/init.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/init.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/init.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test init + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.init\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/initClass.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/initClass.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/initClass.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/initClass.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test initClass + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.initClass\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/initLen.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/initLen.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/initLen.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/initLen.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test initLen + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.initLen\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/interrupt.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/interrupt.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/interrupt.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/interrupt.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test interrupt + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.interrupt\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/locks.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/locks.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/locks.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/locks.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test locks + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.locks\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/memeffects/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/memeffects/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/memeffects/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/memeffects/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,16201 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_CAS_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicBoolean.atomic_get_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_CAS_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_addAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_decrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndAdd_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndDecrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndIncrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_getAndSet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_get_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicInteger.atomic_incrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_CAS_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_addAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_decrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndAdd_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndDecrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndIncrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_getAndSet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_get_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomic.AtomicLong.atomic_incrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_CAS_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_addAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_decrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndAdd_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndDecrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndIncrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_getAndSet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_get_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicIntegerFieldUpdater.atomic_incrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_CAS_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_addAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_decrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndAdd_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndDecrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndIncrement_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_getAndSet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_get_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_CAS_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_addAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_decrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndAdd_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndDecrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndIncrement_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_getAndSet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_incrementAndGet_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.atomicupdaters.AtomicLongFieldUpdater.atomic_incrementAndGet_set_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.lock.lock_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.lock.lock_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_boolean_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_byte_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_char_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_double_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_float_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_int_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_long_short - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_boolean - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_boolean - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_byte - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_byte - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_char - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_char - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_double - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_double - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_float - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_float - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_int - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_int - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_long - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_long - */ - -/** - * @test org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_short - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.memeffects.basic.volatiles.volatile_short_short - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/memeffects.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/memeffects.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/memeffects.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/memeffects.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test memeffects + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.memeffects\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/other/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/other/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/other/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/other/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,9211 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.arrays.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.acqrel.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.opaque.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.arrays.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.big.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteArray.little.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.big.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.direct.little.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.big.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.byteBuffer.heap.little.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.acqrel.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.opaque.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.accessAtomic.varHandles.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanInitialValueTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanInitialValueTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.CAS_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.CAS_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.CAS_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.CAS_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.CAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.CAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.GetAndSet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.GetAndSet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.GetAndSet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.GetAndSet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.WCAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.booleans.AtomicBooleanPairwiseTests.WCAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayInitialValueTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayInitialValueTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_AddAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_AddAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.AddAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.CAS_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.CAS_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.CAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.CAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.CAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.CAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.DecAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndAdd_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndDec_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndInc_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.GetAndSet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.IncAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.Set_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.Set_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.WCAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.WCAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.WCAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerArrayPairwiseTests.WCAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_AddAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_AddAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.AddAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.CAS_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.CAS_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.CAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.CAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.CAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.CAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.DecAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndAdd_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndDec_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndInc_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.GetAndSet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.IncAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.Set_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.Set_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.WCAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.WCAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.WCAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerFieldUpdaterPairwiseTests.WCAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerInitialValueTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerInitialValueTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_AddAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_AddAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.AddAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.CAS_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.CAS_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.CAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.CAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.CAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.CAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.DecAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndAdd_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndDec_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndInc_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.GetAndSet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.IncAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.Set_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.Set_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.WCAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.WCAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.WCAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.integer.AtomicIntegerPairwiseTests.WCAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayInitialValueTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayInitialValueTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_AddAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_AddAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.AddAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.CAS_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.CAS_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.CAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.CAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.CAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.CAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.DecAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndAdd_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndDec_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndInc_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.GetAndSet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.IncAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.Set_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.Set_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.WCAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.WCAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.WCAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongArrayPairwiseTests.WCAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_AddAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_AddAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.AddAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.CAS_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.CAS_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.CAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.CAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.CAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.CAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.DecAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndAdd_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndDec_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndInc_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.GetAndSet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.IncAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.Set_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.Set_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.WCAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.WCAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.WCAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongFieldUpdaterPairwiseTests.WCAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongInitialValueTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongInitialValueTest - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_AddAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_AddAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.AddAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.CAS_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.CAS_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.CAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.CAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.CAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.CAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_DecAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_DecAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.DecAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndAdd - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndAdd - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndAdd_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_GetAndDec - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_GetAndDec - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndDec_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_GetAndInc - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_GetAndInc - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndInc_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_GetAndSet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_GetAndSet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.GetAndSet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_CAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_CAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_IncAndGet - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_IncAndGet - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.IncAndGet_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.Set_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.Set_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.WCAS_Set - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.WCAS_Set - */ - -/** - * @test org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.WCAS_WCAS - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.atomics.longs.AtomicLongPairwiseTests.WCAS_WCAS - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test1 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test1 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test10 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test10 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test11 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test11 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test12 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test12 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test13 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test13 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test14 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test14 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test15 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test15 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test16 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test16 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test17 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test17 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test18 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test18 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test2 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test2 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test3 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test3 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test4 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test4 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test5 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test5 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test6 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test6 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test7 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test7 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test8 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test8 - */ - -/** - * @test org.openjdk.jcstress.tests.causality.Test9 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.causality.Test9 - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.arrays.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.arrays.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.acqrel.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.opaque.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.arrays.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.big.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteArray.little.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.big.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.direct.little.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.big.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.byteBuffer.heap.little.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.acqrel.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.opaque.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.coherence.varHandles.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.effects.IntBoundedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.effects.IntBoundedTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.effects.IntUnboundedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.effects.IntUnboundedTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.effects.StringBoundedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.effects.StringBoundedTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.effects.StringUnboundedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.effects.StringUnboundedTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.racy.BoundedSingleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.racy.BoundedSingleTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.racy.UnboundedSingleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.racy.UnboundedSingleTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.waits.BoundedDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.waits.BoundedDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.waits.BoundedSingleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.waits.BoundedSingleTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.waits.UnboundedDoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.waits.UnboundedDoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.countdownlatch.waits.UnboundedSingleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.countdownlatch.waits.UnboundedSingleTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.defaultValues.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.defaultValues.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.executors.ThreadPoolExecutorKeepAliveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.executors.ThreadPoolExecutorKeepAliveTest - */ - -/** - * @test org.openjdk.jcstress.tests.executors.ThreadPoolExecutorSizesTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.executors.ThreadPoolExecutorSizesTest - */ - -/** - * @test org.openjdk.jcstress.tests.future.FutureTaskSetTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.future.FutureTaskSetTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.finals.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.finals.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.BooleanFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.BooleanFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.ByteFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.ByteFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.CharFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.CharFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.DoubleFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.DoubleFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.FloatFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.FloatFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.IntFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.IntFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.LongFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.LongFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.init.primitives.fenced.ShortFencedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.init.primitives.fenced.ShortFencedTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initClass.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initClass.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.initLen.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.CurrentThreadIsInterruptedBreakTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.CurrentThreadIsInterruptedBreakTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.CurrentThreadIsInterruptedMethodTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.CurrentThreadIsInterruptedMethodTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.CurrentThreadIsInterruptedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.CurrentThreadIsInterruptedTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ObjectWaitInfiniteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ObjectWaitInfiniteTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ObjectWaitTimedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ObjectWaitTimedTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.PlainBusyLoopTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.PlainBusyLoopTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ReentrantLockInterruptiblyTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ReentrantLockInterruptiblyTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ReentrantLockNonInterruptiblyTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ReentrantLockNonInterruptiblyTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ThreadInterruptedBreakTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ThreadInterruptedBreakTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ThreadInterruptedMethodTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ThreadInterruptedMethodTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ThreadInterruptedTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ThreadInterruptedTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.ThreadSleepTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.ThreadSleepTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.TimeUnitSleepTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.TimeUnitSleepTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.UnsafeBusyLoopTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.UnsafeBusyLoopTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.VolatileBusyLoopTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.VolatileBusyLoopTest - */ - -/** - * @test org.openjdk.jcstress.tests.interrupt.WeakReferenceTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.interrupt.WeakReferenceTest - */ - -/** - * @test org.openjdk.jcstress.tests.locks.barriers.SyncBarrier0Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.barriers.SyncBarrier0Test - */ - -/** - * @test org.openjdk.jcstress.tests.locks.barriers.SyncBarrier1Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.barriers.SyncBarrier1Test - */ - -/** - * @test org.openjdk.jcstress.tests.locks.barriers.SyncBarrier2Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.barriers.SyncBarrier2Test - */ - -/** - * @test org.openjdk.jcstress.tests.locks.barriers.SyncBarrier3Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.barriers.SyncBarrier3Test - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_F.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.I_N.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_F.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantLockMutexTests.S_N.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_F.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.I_N.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_F.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_LI - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_LI - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.LI_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.L_L - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.L_L - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.L_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.L_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.L_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.L_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.TL_TL - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.TL_TL - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.TL_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.TL_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.TLt_TLt - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.ReentrantRWLockMutexTests.S_N.TLt_TLt - */ - -/** - * @test org.openjdk.jcstress.tests.locks.mutex.SynchronizedMutexTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.mutex.SynchronizedMutexTest - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_URs.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_Us.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RLI_tUR.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_URs.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_Us.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.RL_tUR.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRL_U.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.aRWLr_U.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tOR_V.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_URs.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_Us.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRL_tUR.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_URs.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_Us.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WLI_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WLI_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WLI_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WLI_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WLI_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WLI_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.WL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.aRWLw_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.aRWLw_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.aWL_U - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.aWL_U - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.orWL_V - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.orWL_V - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWL_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWL_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWL_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWL_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWL_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWL_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWLt_UWs - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWLt_UWs - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWLt_Us - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWLt_Us - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWLt_tUW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests.tRLt_tUR.tWLt_tUW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OO_OO - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OO_OO - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OO_OR - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OO_OR - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OO_OW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OO_OW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OR_OW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.OR_OW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RO_RO - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RO_RO - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RO_RR - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RO_RR - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RO_RW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RO_RW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RR_RW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.RR_RW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WO_WO - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WO_WO - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WO_WR - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WO_WR - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WO_WW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WO_WW - */ - -/** - * @test org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WR_WW - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests.WR_WW - */ - -/** - * @test org.openjdk.jcstress.tests.sample.SampleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.sample.SampleTest - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.FinalWrapper.Unsafe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.FinalWrapper.Unsafe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.Holder.Safe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.Holder.Safe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.Holder.Unsafe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.Holder.Unsafe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.SafeDCL.Safe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.SafeDCL.Safe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.SafeDCL.Unsafe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.SafeDCL.Unsafe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.SafeLocalDCL.Safe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.SafeLocalDCL.Safe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.SafeLocalDCL.Unsafe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.SafeLocalDCL.Unsafe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.SynchronizedCL.Safe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.SynchronizedCL.Safe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.SynchronizedCL.Unsafe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.SynchronizedCL.Unsafe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.UnsafeDCL.Safe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.UnsafeDCL.Safe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.UnsafeDCL.Unsafe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.UnsafeDCL.Unsafe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.UnsafeLocalDCL.Safe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.UnsafeLocalDCL.Safe - */ - -/** - * @test org.openjdk.jcstress.tests.singletons.UnsafeLocalDCL.Unsafe - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.singletons.UnsafeLocalDCL.Unsafe - */ - -/** - * @test org.openjdk.jcstress.tests.strings.StringBufferTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.strings.StringBufferTest - */ - -/** - * @test org.openjdk.jcstress.tests.strings.StringBuilderTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.strings.StringBuilderTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.ArrayInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.ArrayInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.UnsafeArrayInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.UnsafeArrayInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.UnsafeIntTearingTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.UnsafeIntTearingTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.large.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.arrays.small.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.ByteBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.ByteBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.CharBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.CharBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.DirectByteBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.DirectByteBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.DoubleBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.DoubleBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.FloatBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.FloatBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.IntBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.IntBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.LongBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.LongBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.buffers.ShortBufferInterleaveTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.buffers.ShortBufferInterleaveTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.plain.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.plain.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.BooleanTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.BooleanTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.ByteTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.ByteTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.CharTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.CharTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.DoubleTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.DoubleTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.FloatTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.FloatTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.IntTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.IntTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.LongTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.LongTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.ShortTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.ShortTest - */ - -/** - * @test org.openjdk.jcstress.tests.tearing.fields.volatiles.StringTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.tearing.fields.volatiles.StringTest - */ - -/** - * @test org.openjdk.jcstress.tests.unsafe.UnsafeAddLong1 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.unsafe.UnsafeAddLong1 - */ - -/** - * @test org.openjdk.jcstress.tests.unsafe.UnsafeAddLong42 - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.unsafe.UnsafeAddLong42 - */ - -/** - * @test org.openjdk.jcstress.tests.unsafe.UnsafePublication - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.unsafe.UnsafePublication - */ - -/** - * @test org.openjdk.jcstress.tests.unsafe.UnsafePutOrderedTwice - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.unsafe.UnsafePutOrderedTwice - */ - -/** - * @test org.openjdk.jcstress.tests.unsafe.UnsafeReadTwiceOverVolatileReadTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.unsafe.UnsafeReadTwiceOverVolatileReadTest - */ - -/** - * @test org.openjdk.jcstress.tests.varhandles.DekkerRelaxation1Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.varhandles.DekkerRelaxation1Test - */ - -/** - * @test org.openjdk.jcstress.tests.varhandles.DekkerRelaxation2Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.varhandles.DekkerRelaxation2Test - */ - -/** - * @test org.openjdk.jcstress.tests.varhandles.DekkerTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.varhandles.DekkerTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.DekkerTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.DekkerTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.DoubleVolatileTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.DoubleVolatileTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.IRIWTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.IRIWTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.LazySetTransitivityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.LazySetTransitivityTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.ReadAfterReadTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.ReadAfterReadTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.ReadAfterVolatileReadTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.ReadAfterVolatileReadTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.ReadTwiceOverVolatileReadTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.ReadTwiceOverVolatileReadTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.VolatileAcquireReleaseTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.VolatileAcquireReleaseTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.VolatileIRIWTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.VolatileIRIWTest - */ - -/** - * @test org.openjdk.jcstress.tests.volatiles.VolatileIncrementAtomicityTest - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.volatiles.VolatileIncrementAtomicityTest - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/seqcst.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/seqcst.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test seqcst + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.seqcst\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/seqcst.sync/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.sync/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/seqcst.sync/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.sync/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,12385 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L1__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_L3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__L3_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__L3_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__L3_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__L3_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2_S3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1_S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1_S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2_S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2_S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__L3_S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S3__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S3__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S1__S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S3__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S3__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S2__S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_L3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_L3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2_S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_L2__S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L1_S2__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S1__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_L3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2_S3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L3__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_L3__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S3__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_S3__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S3__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S1__S3__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3_S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3_S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L2_S3__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1_L2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1_L2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1_S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1_S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2_S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2_S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__L3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S1__S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S3__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S3__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S2__S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_L2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_L2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_L2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_L2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_L2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_L2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_L3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2_S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.L1_S2__S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L3__S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L3__S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_L1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_L1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_L1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_L1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_L1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_L1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_L2__S3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1_S2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_L1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_L1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_L1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_L1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_L1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_L1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S2_S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_L3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S2_S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S2_S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2_S3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L3__S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L3__S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2_S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3_L2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_L3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S2_S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.sync.S1__S2__S3__S3_S2_L1_Test - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/seqcst.volatiles/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.volatiles/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/seqcst.volatiles/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/seqcst.volatiles/Test.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,12385 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L1__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_L3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__L3_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__L3_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__L3_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__L3_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2_S3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1_S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1_S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2_S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2_S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__L3_S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S3__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S3__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S1__S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S3__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S3__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S2__S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_L3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_L3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2_S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_L2__S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L1_S2__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S1__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_L3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S1__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_L2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S2__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2_S3__S3__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L3__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_L3__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S3__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_S3__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S3__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S1__S3__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_L1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_L1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_L2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_L2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3_S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3_S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S3__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L2_S3__S3__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1_L2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1_L2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1_S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1_S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S2__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S2__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S3__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S1__S3__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2_S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2_S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2__S1__S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2__S1__S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__L3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S2__S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S1__S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S3__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S3__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S2__S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_L2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_L2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_L2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_L2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_L2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_L2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_L3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2_S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.L1_S2__S3__S3__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L3__S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L3__S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_L1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_L1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_L1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_L1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_L1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_L1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_L2__S3_S2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S2_S3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1_S2__S3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S1__S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1_S3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_L1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_L1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_L1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_L1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_S1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_S1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_S1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3_S1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_L1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_L1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S2_S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_L3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S1_S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S1_S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S2_S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S2_S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2_S3__S3_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L3__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L3__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L3__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L3__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L3__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_L3__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S1_S2__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2__S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2__S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2__S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L2__S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L3__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L3__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L3__S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L3__S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L3__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_L3__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1__S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S1__S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2_S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S1_S2_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S2__S2_S2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L1__S3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L2__S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L2__S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L2__S1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L2__S1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L2__S3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3_L2__S3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L2_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L2_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L3_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_L3_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_S2_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_S2_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_S3_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S1_S3_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L1_S3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L1_S3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L3_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_L3_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_S1_L3_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_S1_L3_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_S3_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S2_S3_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L1_S2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L1_S2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L2_L1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L2_S1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_L2_S1_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_S1_L2_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_S1_L2_Test - */ - -/** - * @test org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_S2_L1_Test - * @library /test/lib / - * @run driver/timeout=2400 applications.jcstress.JcstressRunner -v -m default -t org.openjdk.jcstress.tests.seqcst.volatiles.S1__S2__S3__S3_S2_L1_Test - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/singletons.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/singletons.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/singletons.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/singletons.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test singletons + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.singletons\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/strings.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/strings.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/strings.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/strings.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test strings + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.strings\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/tearing.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/tearing.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/tearing.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/tearing.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test tearing + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.tearing\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/unsafe.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/unsafe.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/unsafe.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/unsafe.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test unsafe + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.unsafe\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/varhandles.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/varhandles.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/varhandles.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/varhandles.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test varhandles + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.varhandles\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/volatiles.java openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/volatiles.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/applications/jcstress/volatiles.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/applications/jcstress/volatiles.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* DO NOT MODIFY THIS FILE. GENERATED BY applications.jcstress.TestGenerator */ + +/** + * @test volatiles + * @library /test/lib / + * @run driver/timeout=21600 applications.jcstress.JcstressRunner -v -t org.openjdk.jcstress.tests.volatiles\. + */ + diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/Helper.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/Helper.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/Helper.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/Helper.java 2024-04-08 05:38:38.000000000 +0000 @@ -37,7 +37,7 @@ public static final WhiteBox WHITE_BOX = WhiteBox.getWhiteBox(); private static final long THRESHOLD = WHITE_BOX.getIntxVMFlag("CompileThreshold"); - private static final String TEST_CASE_IMPL_CLASS_NAME = "compiler.codecache.stress.Helper$TestCaseImpl"; + private static final String TEST_CASE_IMPL_CLASS_NAME = TestCaseImpl.class.getName(); private static byte[] CLASS_DATA; static { try { @@ -106,34 +106,4 @@ int method(); int expectedValue(); } - - public static class TestCaseImpl implements TestCase { - private static final int RETURN_VALUE = 42; - private static final int RECURSION_DEPTH = 10; - private volatile int i; - - @Override - public Callable getCallable() { - return () -> { - i = 0; - return method(); - }; - } - - @Override - public int method() { - ++i; - int result = RETURN_VALUE; - if (i < RECURSION_DEPTH) { - return result + method(); - } - return result; - } - - @Override - public int expectedValue() { - return RETURN_VALUE * RECURSION_DEPTH; - } - } - } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/OverloadCompileQueueTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/OverloadCompileQueueTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/OverloadCompileQueueTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/OverloadCompileQueueTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,6 +30,7 @@ * java.management * * @build sun.hotspot.WhiteBox + * compiler.codecache.stress.TestCaseImpl * @run driver ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions @@ -53,8 +54,34 @@ import java.util.stream.IntStream; import java.util.Random; -public class OverloadCompileQueueTest implements Runnable { +class LockUnlockThread extends Thread { private static final int MAX_SLEEP = 10000; + private static final int DELAY_BETWEEN_LOCKS = 100; + private final Random rng = Utils.getRandomInstance(); + + public volatile boolean isActive = true; + + @Override + public void run() { + try { + while (isActive) { + int timeInLockedState = rng.nextInt(MAX_SLEEP); + Helper.WHITE_BOX.lockCompilation(); + Thread.sleep(timeInLockedState); + Helper.WHITE_BOX.unlockCompilation(); + Thread.sleep(DELAY_BETWEEN_LOCKS); + } + } catch (InterruptedException e) { + if (isActive) { + throw new Error("TESTBUG: LockUnlockThread was unexpectedly interrupted", e); + } + } finally { + Helper.WHITE_BOX.unlockCompilation(); + } + } +} + +public class OverloadCompileQueueTest implements Runnable { private static final String METHOD_TO_ENQUEUE = "method"; private static final int LEVEL_SIMPLE = 1; private static final int LEVEL_FULL_OPTIMIZATION = 4; @@ -63,7 +90,6 @@ private static final int TIERED_STOP_AT_LEVEL = Helper.WHITE_BOX.getIntxVMFlag("TieredStopAtLevel").intValue(); private static final int[] AVAILABLE_LEVELS; - private final Random rng = Utils.getRandomInstance(); static { if (TIERED_COMPILATION) { AVAILABLE_LEVELS = IntStream @@ -78,15 +104,18 @@ } } - public static void main(String[] args) { + public static void main(String[] args) throws InterruptedException { + LockUnlockThread lockUnlockThread = new LockUnlockThread(); + lockUnlockThread.start(); + if (Platform.isInt()) { throw new Error("TESTBUG: test can not be run in interpreter"); } new CodeCacheStressRunner(new OverloadCompileQueueTest()).runTest(); - } - public OverloadCompileQueueTest() { - Helper.startInfiniteLoopThread(this::lockUnlock, 100L); + lockUnlockThread.isActive = false; + lockUnlockThread.interrupt(); + lockUnlockThread.join(); } @Override @@ -106,16 +135,4 @@ } } - private void lockUnlock() { - try { - int sleep = rng.nextInt(MAX_SLEEP); - Helper.WHITE_BOX.lockCompilation(); - Thread.sleep(sleep); - } catch (InterruptedException e) { - throw new Error("TESTBUG: lockUnlocker thread was unexpectedly interrupted", e); - } finally { - Helper.WHITE_BOX.unlockCompilation(); - } - } - } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/RandomAllocationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/RandomAllocationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/RandomAllocationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/RandomAllocationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules java.base/jdk.internal.misc * java.management * - * @build sun.hotspot.WhiteBox + * @build sun.hotspot.WhiteBox compiler.codecache.stress.Helper compiler.codecache.stress.TestCaseImpl * @run driver ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/ReturnBlobToWrongHeapTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/ReturnBlobToWrongHeapTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/ReturnBlobToWrongHeapTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/ReturnBlobToWrongHeapTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules java.base/jdk.internal.misc * java.management * - * @build sun.hotspot.WhiteBox + * @build sun.hotspot.WhiteBox compiler.codecache.stress.Helper compiler.codecache.stress.TestCaseImpl * @run driver ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/TestCaseImpl.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/TestCaseImpl.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/TestCaseImpl.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/TestCaseImpl.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package compiler.codecache.stress; + +import java.util.concurrent.Callable; + +public class TestCaseImpl implements Helper.TestCase { + private static final int RETURN_VALUE = 42; + private static final int RECURSION_DEPTH = 10; + private volatile int i; + + @Override + public Callable getCallable() { + return () -> { + i = 0; + return method(); + }; + } + + @Override + public int method() { + ++i; + int result = RETURN_VALUE; + if (i < RECURSION_DEPTH) { + return result + method(); + } + return result; + } + + @Override + public int expectedValue() { + return RETURN_VALUE * RECURSION_DEPTH; + } +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules java.base/jdk.internal.misc * java.management * - * @build sun.hotspot.WhiteBox + * @build sun.hotspot.WhiteBox compiler.codecache.stress.Helper compiler.codecache.stress.TestCaseImpl * @run driver ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -211,13 +211,22 @@ void ck(long x, long y) { if (x != y) { - throw new RuntimeException(" x = " + Long.toHexString(x) + ", y = " + Long.toHexString(y)); + throw new RuntimeException("expect x == y: x = " + Long.toHexString(x) + ", y = " + Long.toHexString(y)); } } void ck(double x, double y) { - if (x == x && y == y && x != y) { - ck(x, y); + // Check if x and y have identical values. + // Remember: NaN == x is false for ANY x, including if x is NaN (IEEE standard). + // Therefore, if x and y are NaN, x != y would return true, which is not what we want. + // We do not want an Exception if both are NaN. + // Double.compare takes care of these special cases + // including NaNs, and comparing -0.0 to 0.0 + if (Double.compare(x,y) != 0) { + throw new RuntimeException("expect x == y:" + + " x = " + Double.toString(x) + ", y = " + Double.toString(y) + + " (x = " + Long.toHexString(Double.doubleToRawLongBits(x)) + + ", y = " + Long.toHexString(Double.doubleToRawLongBits(y)) + ")"); } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,7 @@ * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission - * @run driver compiler.jsr292.ContinuousCallSiteTargetChange + * @run driver/timeout=180 compiler.jsr292.ContinuousCallSiteTargetChange */ package compiler.jsr292; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,8 +30,12 @@ * * @build p.* * @run main/othervm compiler.jsr292.methodHandleExceptions.TestAMEnotNPE - * @run main/othervm -Xint compiler.jsr292.methodHandleExceptions.TestAMEnotNPE - * @run main/othervm -Xcomp compiler.jsr292.methodHandleExceptions.TestAMEnotNPE + * @run main/othervm -Xint + * compiler.jsr292.methodHandleExceptions.TestAMEnotNPE + * @run main/othervm -Xcomp + * -XX:CompileCommand=compileonly,p.*::* + * -XX:CompileCommand=compileonly,q.*::* + * compiler.jsr292.methodHandleExceptions.TestAMEnotNPE */ // Since this test was written the specification for interface method selection has been diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/loopopts/TestMissingSkeletonPredicateForIfNode.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/loopopts/TestMissingSkeletonPredicateForIfNode.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/loopopts/TestMissingSkeletonPredicateForIfNode.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/loopopts/TestMissingSkeletonPredicateForIfNode.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8297951 + * @summary Test that crashes because we do not emit skeleton predicates for normal If nodes for which a range check + * predicate is created in loop predication. + * @requires vm.debug == true & vm.compiler2.enabled + * @run main/othervm -XX:-TieredCompilation -Xbatch -XX:-RangeCheckElimination -XX:+BailoutToInterpreterForThrows + compiler.loopopts.TestMissingSkeletonPredicateForIfNode + */ +package compiler.loopopts; + +public class TestMissingSkeletonPredicateForIfNode { + static int iFld = 2, x; + static short limit = 10; + + public static void main(String[] args) throws Exception { + for (int i = 0; i < 5000; i++) { + try { + test(i % 2 == 0, i % 3); + } catch (Exception e) { + // Expected + } + } + } + + public static void test(boolean flag, int arg) throws Exception { + int sum = 1; + int[] iArr2 = new int[4]; + RuntimeException r = new RuntimeException(); + + for (int i = 0; i < limit; i+=2) { // Pre/main/post + Unrolled once. This results in the following type for the iv phi i: [2..SHORT_MAX] + x = 5 / sum; + if (Integer.compareUnsigned(i, iArr2.length) < 0) { // (**) Loop predication creates a RC predicate for this check + // After unrolling, we have: + // + // iArr2[i] + // iArr2[i+2] + // + // The type of iArr2[i+2] is [4..SHORT_MAX+2] (we need limit to be short such that we do not have an integer overflow + // which would set the type to int). However, the type of the CastII node for the index i+2 is [0..3] because its size + // is only 4. Since the type of i+2 is outside the range of the CastII node, the CastII node is replaced by top and + // some of the data nodes and memory nodes die. We are left with a broken graph and later assert because of that. + iFld += iArr2[i]; // RangeCheck node is removed because it shares the same bool as the If (**). + sum += iFld; + } else { + // Emits an UCT with -XX:+BailoutToInterpreterForThrows and therefore the If (**) satisfies the condition of being a + // range check if with one of its blocks being an UCT. + throw r; + } + if (i > 50) { + break; + } + } + } +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/predicates/TestHoistedPredicateForNonRangeCheck.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/predicates/TestHoistedPredicateForNonRangeCheck.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/predicates/TestHoistedPredicateForNonRangeCheck.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/predicates/TestHoistedPredicateForNonRangeCheck.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,182 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +/* + * @test + * @bug 8307683 + * @library /test/lib / + * @requires vm.compiler2.enabled + * @summary Tests that IfNode is not wrongly chosen as range check by Loop Predication leading to crashes and wrong executions. + * @run main/othervm -Xcomp -XX:CompileCommand=compileonly,compiler.predicates.TestHoistedPredicateForNonRangeCheck::test* + * compiler.predicates.TestHoistedPredicateForNonRangeCheck + * @run main/othervm -Xcomp -XX:CompileCommand=compileonly,compiler.predicates.TestHoistedPredicateForNonRangeCheck::test* + * -XX:LoopMaxUnroll=0 compiler.predicates.TestHoistedPredicateForNonRangeCheck + */ + +/* + * @test + * @bug 8307683 + * @library /test/lib / + * @summary Tests that IfNode is not wrongly chosen as range check by Loop Predication leading to crashes and wrong executions. + * @run main/othervm -Xbatch compiler.predicates.TestHoistedPredicateForNonRangeCheck calendar + */ + +package compiler.predicates; + +import jdk.test.lib.Asserts; + +import java.util.Calendar; +import java.util.Date; + + +public class TestHoistedPredicateForNonRangeCheck { + static int iFld, iFld2; + static int[] iArr = new int[100]; + + public static void main(String[] args) { + if (args.length == 0) { + Integer.compareUnsigned(34, 34); // Ensure Integer class is loaded and we do not emit a trap inside test() for it. + + for (int i = 0; i < 2; i++) { + iFld = 0; + iFld2 = 0; + test(); + Asserts.assertEQ(iFld, 3604, "wrong value"); + Asserts.assertEQ(iFld2, 400, "wrong value"); + } + + for (int i = 0; i < 2000; i++) { + iFld = -100; + testRangeCheckNode(); + } + iFld = -1; + iFld2 = 0; + testRangeCheckNode(); + Asserts.assertEQ(iFld2, 36, "wrong value"); + } else { + boolean flag = false; + for (int i = 0; i < 10000; i++) { + testCalendar1(); + testCalendar2(flag); + } + } + } + + public static void test() { + for (int i = -1; i < 1000; i++) { + // We hoist this check and insert a Hoisted Predicate for the lower and upper bound: + // -1 >=u 100 && 1000 >= u 100 -> always true and the predicates are removed. + // Template Assertion Predicates, however, are kept. When splitting this loop further, we insert an Assertion + // Predicate which fails for i = 0 and we halt. + // When not splitting this loop (with LoopMaxUnroll=0), we have a wrong execution due to never executing + // iFld2++ (we remove the check and the branch with the trap when creating the Hoisted Predicates). + if (Integer.compareUnsigned(i, 100) < 0) { + iFld2++; + Float.isNaN(34); // Float class is unloaded with -Xcomp -> inserts trap + } else { + iFld++; + } + + // Same but flipped condition and moved trap to other branch - result is the same. + if (Integer.compareUnsigned(i, 100) >= 0) { // Loop Predication creates a Hoisted Range Check Predicate due to trap with Float.isNan(). + iFld++; + } else { + iFld2++; + Float.isNaN(34); // Float class is unloaded with -Xcomp -> inserts trap + } + + // Same but with LoadRangeNode. + if (Integer.compareUnsigned(i, iArr.length) >= 0) { // Loop Predication creates a Hoisted Range Check Predicate due to trap with Float.isNan(). + iFld++; + } else { + iFld2++; + Float.isNaN(34); // Float class is unloaded with -Xcomp -> inserts trap + } + + // Same but with LoadRangeNode and flipped condition and moved trap to other branch - result is the same. + if (Integer.compareUnsigned(i, iArr.length) >= 0) { // Loop Predication creates a Hoisted Range Check Predicate due to trap with Float.isNan(). + iFld++; + } else { + iFld2++; + Float.isNaN(34); // Float class is unloaded with -Xcomp -> inserts trap + } + } + } + + static void testRangeCheckNode() { + int array[] = new int[34]; + // Hoisted Range Check Predicate with flipped bool because trap is on success proj and no trap on false proj due + // to catching exception: + // iFld >=u 34 && iFld+36 >=u 34 + // This is always false for first 2000 iterations where, initially, iFld = -100 + // It is still true in the last iteration where, initially, iFld = -1. But suddenly, in the second iteration, + // where iFld = 0, we would take the true projection for the first time - but we removed that branch when + // creating the Hoisted Range Check Predicate. We therefore run into the same problem as with test(): We either + // halt due to Assertion Predicates catching this case or we have a wrong execution (iFld2 never updated). + for (int i = 0; i < 37; i++) { + try { + array[iFld] = 34; // Normal RangeCheckNode + iFld2++; + Math.ceil(34); // Never taken and unloaded -> trap + } catch (Exception e) { + // False Proj of RangeCheckNode + iFld++; + } + } + } + + // Reported in JDK-8307683 + static void testCalendar1() { + Calendar c = Calendar.getInstance(); + c.setLenient(false); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.getTime(); + } + + // Reported in JDK-8307978 + static void testCalendar2(boolean flag) { + flag = !flag; + Calendar timespan = removeTime(new Date(), flag); + timespan.getTime(); + } + + static Calendar removeTime(Date date, boolean flag) { + Calendar calendar = Calendar.getInstance(); + if (flag) { + calendar.setLenient(false); + } + calendar.setTime(date); + calendar = removeTime(calendar); + return calendar; + } + + static Calendar removeTime(Calendar calendar) { + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return calendar; + } +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/regalloc/TestNodeRegArrayOverflow.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/regalloc/TestNodeRegArrayOverflow.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/regalloc/TestNodeRegArrayOverflow.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/regalloc/TestNodeRegArrayOverflow.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,599 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package compiler.regalloc; + +/** + * @test + * @bug 8317507 + * @summary Test that C2's PhaseRegAlloc::_node_regs (a post-register-allocation + * mapping from machine nodes to assigned registers) does not overflow + * in the face of a program with a high-density of CISC spilling + * candidate nodes. + * @run main/othervm -Xcomp -XX:CompileOnly=compiler.regalloc.TestNodeRegArrayOverflow::testWithCompilerUnrolling + -XX:CompileCommand=dontinline,compiler.regalloc.TestNodeRegArrayOverflow::dontInline + compiler.regalloc.TestNodeRegArrayOverflow compiler + * @run main/othervm -Xcomp -XX:CompileOnly=compiler.regalloc.TestNodeRegArrayOverflow::testWithManualUnrolling + -XX:CompileCommand=dontinline,compiler.regalloc.TestNodeRegArrayOverflow::dontInline + compiler.regalloc.TestNodeRegArrayOverflow manual + */ + +public class TestNodeRegArrayOverflow { + + static int dontInline() { + return 0; + } + + static float testWithCompilerUnrolling(float inc) { + int i = 0, j = 0; + // This non-inlined method call causes 'inc' to be spilled. + float f = dontInline(); + // This two-level reduction loop is unrolled 512 times, which is + // requested by the SLP-specific unrolling analysis, but not vectorized. + // Because 'inc' is spilled, each of the unrolled AddF nodes is + // CISC-spill converted (PhaseChaitin::fixup_spills()). Before the fix, + // this causes the unique node index counter (Compile::_unique) to grow + // beyond the size of the node register array + // (PhaseRegAlloc::_node_regs), and leads to overflow when accessed for + // nodes that are created later (e.g. during the peephole phase). + while (i++ < 128) { + for (j = 0; j < 16; j++) { + f += inc; + } + } + return f; + } + + // This test reproduces the same failure as 'testWithCompilerUnrolling' + // without relying on loop transformations. + static float testWithManualUnrolling(float inc) { + int i = 0, j = 0; + float f = dontInline(); + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + f += inc; + return f; + } + + public static void main(String[] args) { + switch (args[0]) { + case "compiler": + testWithCompilerUnrolling(0); + break; + case "manual": + testWithManualUnrolling(0); + break; + default: + throw new IllegalArgumentException("Invalid mode: " + args[0]); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/tiered/ConstantGettersTransitionsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/ConstantGettersTransitionsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/tiered/ConstantGettersTransitionsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/ConstantGettersTransitionsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -106,8 +106,8 @@ private ConstantGettersTestCase() { String name = "make" + this.name(); - this.executable = LevelTransitionTest.Helper.getMethod(TrivialMethods.class, name); - this.callable = LevelTransitionTest.Helper.getCallable(new TrivialMethods(), name); + this.executable = MethodHelper.getMethod(TrivialMethods.class, name); + this.callable = MethodHelper.getCallable(new TrivialMethods(), name); } /** diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/tiered/LevelTransitionTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/LevelTransitionTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/tiered/LevelTransitionTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/LevelTransitionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,6 +23,7 @@ /** * @test LevelTransitionTest + * @requires vm.compMode != "Xcomp" * @summary Test the correctness of compilation level transitions for different methods * @library /test/lib / * @modules java.base/jdk.internal.misc @@ -34,6 +35,7 @@ * sun.hotspot.WhiteBox$WhiteBoxPermission * @run main/othervm/timeout=240 -Xmixed -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions * -XX:+WhiteBoxAPI -XX:+TieredCompilation -XX:-UseCounterDecay + * -XX:-BackgroundCompilation * -XX:CompileCommand=compileonly,compiler.whitebox.SimpleTestCaseHelper::* * -XX:CompileCommand=compileonly,compiler.tiered.LevelTransitionTest$ExtendedTestCase$CompileMethodHolder::* * compiler.tiered.LevelTransitionTest @@ -43,11 +45,11 @@ import compiler.whitebox.CompilerWhiteBoxTest; import compiler.whitebox.SimpleTestCase; +import jdk.test.lib.Platform; import jtreg.SkippedException; import java.lang.reflect.Executable; import java.lang.reflect.Method; -import java.util.Objects; import java.util.concurrent.Callable; public class LevelTransitionTest extends TieredLevelsTest { @@ -99,6 +101,7 @@ int newLevel; int current = getCompLevel(); int expected = getNextLevel(current); + System.out.println("Levels, current: " + current + ", expected: " + expected); if (current == expected) { // if we are on expected level, just execute it more // to ensure that the level won't change @@ -108,9 +111,10 @@ finish = true; } else { newLevel = changeCompLevel(); + System.out.printf("Method %s has been compiled to level %d. Expected level is %d%n", + method, newLevel, expected); finish = false; } - System.out.printf("Method %s is compiled on level %d. Expected level is %d%n", method, newLevel, expected); checkLevel(expected, newLevel); printInfo(); } @@ -127,8 +131,9 @@ int nextLevel = currentLevel; switch (currentLevel) { case CompilerWhiteBoxTest.COMP_LEVEL_NONE: - nextLevel = isMethodProfiled ? CompilerWhiteBoxTest.COMP_LEVEL_FULL_OPTIMIZATION - : CompilerWhiteBoxTest.COMP_LEVEL_FULL_PROFILE; + nextLevel = isTrivial() ? CompilerWhiteBoxTest.COMP_LEVEL_SIMPLE : + isMethodProfiled ? CompilerWhiteBoxTest.COMP_LEVEL_FULL_OPTIMIZATION : + CompilerWhiteBoxTest.COMP_LEVEL_FULL_PROFILE; break; case CompilerWhiteBoxTest.COMP_LEVEL_LIMITED_PROFILE: case CompilerWhiteBoxTest.COMP_LEVEL_FULL_PROFILE: @@ -149,7 +154,7 @@ return testCase == ExtendedTestCase.ACCESSOR_TEST || testCase == SimpleTestCase.METHOD_TEST || testCase == SimpleTestCase.STATIC_TEST - || (testCase == ExtendedTestCase.TRIVIAL_CODE_TEST && isMethodProfiled); + || testCase == ExtendedTestCase.TRIVIAL_CODE_TEST; } /** @@ -171,42 +176,6 @@ return newLevel; } - protected static class Helper { - /** - * Gets method from a specified class using its name - * - * @param aClass type method belongs to - * @param name the name of the method - * @return {@link Method} that represents corresponding class method - */ - public static Method getMethod(Class aClass, String name) { - Method method; - try { - method = aClass.getDeclaredMethod(name); - } catch (NoSuchMethodException e) { - throw new Error("TESTBUG: Unable to get method " + name, e); - } - return method; - } - - /** - * Gets {@link Callable} that invokes given method from the given object - * - * @param object the object the specified method is invoked from - * @param name the name of the method - */ - public static Callable getCallable(Object object, String name) { - Method method = getMethod(object.getClass(), name); - return () -> { - try { - return Objects.hashCode(method.invoke(object)); - } catch (ReflectiveOperationException e) { - throw new Error("TESTBUG: Invocation failure", e); - } - }; - } - } - private static enum ExtendedTestCase implements CompilerWhiteBoxTest.TestCase { ACCESSOR_TEST("accessor"), NONTRIVIAL_METHOD_TEST("nonTrivialMethod"), @@ -231,12 +200,13 @@ } private ExtendedTestCase(String methodName) { - this.executable = LevelTransitionTest.Helper.getMethod(CompileMethodHolder.class, methodName); - this.callable = LevelTransitionTest.Helper.getCallable(new CompileMethodHolder(), methodName); + this.executable = MethodHelper.getMethod(CompileMethodHolder.class, methodName); + this.callable = MethodHelper.getCallable(new CompileMethodHolder(), methodName); } private static class CompileMethodHolder { - private final int iter = 10; + // Make sure that loop backedge is never taken to prevent unexpected OSR compilations. + private final int iter = 1; private int field = 42; /** @@ -258,12 +228,10 @@ } /** - * Method considered as trivial by amount of code + * Method considered as trivial by type (constant getter) */ public int trivialCode() { - int var = 0xBAAD_C0DE; - var *= field; - return var; + return 0x42; } } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/tiered/MethodHelper.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/MethodHelper.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/tiered/MethodHelper.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/tiered/MethodHelper.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package compiler.tiered; + +import java.lang.reflect.Method; +import java.util.Objects; +import java.util.concurrent.Callable; + +public class MethodHelper { + /** + * Gets method from a specified class using its name + * + * @param aClass type method belongs to + * @param name the name of the method + * @return {@link Method} that represents corresponding class method + */ + public static Method getMethod(Class aClass, String name) { + Method method; + try { + method = aClass.getDeclaredMethod(name); + } catch (NoSuchMethodException e) { + throw new Error("TESTBUG: Unable to get method " + name, e); + } + return method; + } + + /** + * Gets {@link Callable} that invokes given method from the given object + * + * @param object the object the specified method is invoked from + * @param name the name of the method + */ + public static Callable getCallable(Object object, String name) { + Method method = getMethod(object.getClass(), name); + return () -> { + try { + return Objects.hashCode(method.invoke(object)); + } catch (ReflectiveOperationException e) { + throw new Error("TESTBUG: Invocation failure", e); + } + }; + } +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,15 +25,17 @@ * @test * @summary tests on constant folding of unsafe get operations from stable arrays * @library /test/lib - * + * @build sun.hotspot.WhiteBox * @requires vm.flavor == "server" & !vm.emulatedClient * * @modules java.base/jdk.internal.vm.annotation * java.base/jdk.internal.misc - + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * * @run main/bootclasspath/othervm -XX:+UnlockDiagnosticVMOptions * -Xbatch -XX:-TieredCompilation * -XX:+FoldStableValues + * -XX:+WhiteBoxAPI * -XX:CompileCommand=dontinline,*Test::test* * compiler.unsafe.UnsafeGetStableArrayElement */ @@ -50,6 +52,8 @@ import static jdk.test.lib.Asserts.assertEQ; import static jdk.test.lib.Asserts.assertNE; +import sun.hotspot.code.Compiler; + public class UnsafeGetStableArrayElement { @Stable static final boolean[] STABLE_BOOLEAN_ARRAY = new boolean[16]; @Stable static final byte[] STABLE_BYTE_ARRAY = new byte[16]; @@ -220,7 +224,16 @@ } static void testMismatched(Callable c, Runnable setDefaultAction) throws Exception { - run(c, null, setDefaultAction); + testMismatched(c, setDefaultAction, false, true); + } + + static void testMismatched(Callable c, Runnable setDefaultAction, boolean objectArray, boolean aligned) throws Exception { + if (Compiler.isGraalEnabled() && !objectArray && aligned) { + // Graal will constant fold mismatched reads from primitive stable arrays, except unaligned ones + run(c, setDefaultAction, null); + } else { + run(c, null, setDefaultAction); + } Setter.reset(); } @@ -306,15 +319,15 @@ testMatched( Test::testD_D, Test::changeD); // Object[], aligned accesses - testMismatched(Test::testL_J, Test::changeL); // long & double are always as large as an OOP - testMismatched(Test::testL_D, Test::changeL); + testMismatched(Test::testL_J, Test::changeL, true, true); // long & double are always as large as an OOP + testMismatched(Test::testL_D, Test::changeL, true, true); testMatched( Test::testL_L, Test::changeL); // Unaligned accesses - testMismatched(Test::testS_U, Test::changeS); - testMismatched(Test::testC_U, Test::changeC); - testMismatched(Test::testI_U, Test::changeI); - testMismatched(Test::testJ_U, Test::changeJ); + testMismatched(Test::testS_U, Test::changeS, false, false); + testMismatched(Test::testC_U, Test::changeC, false, false); + testMismatched(Test::testI_U, Test::changeI, false, false); + testMismatched(Test::testJ_U, Test::changeJ, true, false); // No way to reliably check the expected behavior: // (1) OOPs change during GC; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/TestSystemGC.java openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/TestSystemGC.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/TestSystemGC.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/TestSystemGC.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,35 +24,37 @@ package gc; /* - * @test TestSystemGCSerial + * @test id=Serial * @key gc * @requires vm.gc.Serial * @summary Runs System.gc() with different flags. * @run main/othervm -XX:+UseSerialGC gc.TestSystemGC + * @run main/othervm -XX:+UseSerialGC -XX:+UseLargePages gc.TestSystemGC */ /* - * @test TestSystemGCParallel + * @test id=Parallel * @key gc * @requires vm.gc.Parallel * @summary Runs System.gc() with different flags. * @run main/othervm -XX:+UseParallelGC gc.TestSystemGC * @run main/othervm -XX:+UseParallelGC -XX:-UseParallelOldGC gc.TestSystemGC + * @run main/othervm -XX:+UseParallelGC -XX:+UseLargePages gc.TestSystemGC */ /* - * @test TestSystemGCG1 + * @test id=G1 * @key gc * @requires vm.gc.G1 * @summary Runs System.gc() with different flags. * @run main/othervm -XX:+UseG1GC gc.TestSystemGC * @run main/othervm -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent gc.TestSystemGC - * @run main/othervm -XX:+UseLargePages gc.TestSystemGC * @run main/othervm -XX:+UseLargePages -XX:+UseLargePagesInMetaspace gc.TestSystemGC + * @run main/othervm -XX:+UseG1GC -XX:+UseLargePages gc.TestSystemGC */ /* - * @test TestSystemGCCMS + * @test id=CMS * @key gc * @comment Graal does not support CMS * @requires vm.gc.ConcMarkSweep & !vm.graal.enabled @@ -61,13 +63,24 @@ */ /* - * @test TestSystemGCShenandoah + * @test id=Shenandoah * @key gc * @requires vm.gc.Shenandoah & !vm.graal.enabled * @summary Runs System.gc() with different flags. - * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC gc.TestSystemGC - * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ExplicitGCInvokesConcurrent gc.TestSystemGC + * @run main/othervm -XX:+UseShenandoahGC gc.TestSystemGC + * @run main/othervm -XX:+UseShenandoahGC -XX:+ExplicitGCInvokesConcurrent gc.TestSystemGC + * @run main/othervm -XX:+UseShenandoahGC -XX:+UseLargePages gc.TestSystemGC */ + +/* + * @test id=Z + * @requires vm.gc.Z + * @comment ZGC will not start when LargePages cannot be allocated, therefore + * we do not run such configuration. + * @summary Runs System.gc() with different flags. + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseZGC gc.TestSystemGC + */ + public class TestSystemGC { public static void main(String args[]) throws Exception { System.gc(); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/arguments/TestArrayAllocatorMallocLimit.java openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/arguments/TestArrayAllocatorMallocLimit.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/arguments/TestArrayAllocatorMallocLimit.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/arguments/TestArrayAllocatorMallocLimit.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -53,7 +53,7 @@ private static final String printFlagsFinalPattern = " *size_t *" + flagName + " *:?= *(\\d+) *\\{experimental\\} *"; public static void testDefaultValue() throws Exception { - ProcessBuilder pb = GCArguments.createJavaProcessBuilder( + ProcessBuilder pb = GCArguments.createTestJvm( "-XX:+UnlockExperimentalVMOptions", "-XX:+PrintFlagsFinal", "-version"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/cslocker/TestCSLocker.java openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/cslocker/TestCSLocker.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/cslocker/TestCSLocker.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/cslocker/TestCSLocker.java 2024-04-08 05:38:38.000000000 +0000 @@ -46,10 +46,13 @@ // start CS locker thread CSLocker csLocker = new CSLocker(); csLocker.start(); + // After the CSLocker thread has started, any operation such as an allocation, + // which could rely on the GC to make progress, will cause a deadlock that will + // make the test time out. That includes printing. Please don't use any such + // code until unlock() is called below. // check timeout to success deadlocking - while(System.currentTimeMillis() < startTime + timeout) { - System.out.println("sleeping..."); + while (System.currentTimeMillis() < startTime + timeout) { sleep(1000); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/g1/ihop/TestIHOPErgo.java openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/g1/ihop/TestIHOPErgo.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/g1/ihop/TestIHOPErgo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/g1/ihop/TestIHOPErgo.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,6 +30,7 @@ * @requires !vm.flightRecorder * @requires vm.opt.ExplicitGCInvokesConcurrent != true * @requires vm.opt.MaxGCPauseMillis == "null" + * @requires vm.compMode != "Xcomp" * @library /test/lib / * @modules java.base/jdk.internal.misc * @modules java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,6 +28,8 @@ * @requires vm.gc.G1 * @requires !vm.flightRecorder * @requires vm.opt.ExplicitGCInvokesConcurrent != true + * @requires !vm.graal.enabled + * @requires vm.compMode != "Xcomp" * @requires os.maxMemory > 1G * @library /test/lib / * @modules java.base/jdk.internal.misc diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/Dictionary/ProtectionDomainCacheTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Dictionary/ProtectionDomainCacheTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/Dictionary/ProtectionDomainCacheTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Dictionary/ProtectionDomainCacheTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ * @bug 8151486 8218266 * @summary Call Class.forName() on the system classloader from a class loaded * from a custom classloader, using the current class's protection domain. + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * @build jdk.test.lib.Utils diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/EnclosingMethodAttr/EnclMethodAttr.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/EnclosingMethodAttr/EnclMethodAttr.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/EnclosingMethodAttr/EnclMethodAttr.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/EnclosingMethodAttr/EnclMethodAttr.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -44,6 +44,7 @@ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( "-jar", testsrc + File.separator + "enclMethodAttr.jar"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); + output.shouldNotHaveExitValue(0); output.shouldContain("java.lang.ClassFormatError: Wrong EnclosingMethod"); } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/ErrorHandling/SecondaryErrorTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/ErrorHandling/SecondaryErrorTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/ErrorHandling/SecondaryErrorTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/ErrorHandling/SecondaryErrorTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -68,7 +68,7 @@ // we should have crashed with a SIGFPE output_detail.shouldMatch("# A fatal error has been detected by the Java Runtime Environment:.*"); - output_detail.shouldMatch("# +SIGFPE.*"); + output_detail.shouldMatch("#.+SIGFPE.*"); // extract hs-err file String hs_err_file = output_detail.firstMatch("# *(\\S*hs_err_pid\\d+\\.log)", 1); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/LoadClass/LongBCP.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/LoadClass/LongBCP.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/LoadClass/LongBCP.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/LoadClass/LongBCP.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,6 +34,8 @@ */ import java.io.File; +import java.nio.file.Files; +import java.nio.file.FileStore; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; @@ -103,8 +105,15 @@ // We currently cannot handle relative path specified in the // -Xbootclasspath/a on windows. // - // relative path length within the 256 limit - char[] chars = new char[255]; + // relative path length within the file system limit + int fn_max_length = 255; + // In AUFS file system, the maximal file name length is 242 + FileStore store = Files.getFileStore(new File(".").toPath()); + String fs_type = store.type(); + if ("aufs".equals(fs_type)) { + fn_max_length = 242; + } + char[] chars = new char[fn_max_length]; Arrays.fill(chars, 'y'); String subPath = new String(chars); destDir = Paths.get(".", subPath); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/ArchiveDoesNotExist.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/ArchiveDoesNotExist.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/ArchiveDoesNotExist.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/ArchiveDoesNotExist.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @library /test/lib * @modules java.base/jdk.internal.misc * java.management - * @run main ArchiveDoesNotExist + * @run driver ArchiveDoesNotExist */ import jdk.test.lib.cds.CDSOptions; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @bug 8025642 * @modules java.base/jdk.internal.misc * java.management - * @run main CdsDifferentObjectAlignment + * @run driver CdsDifferentObjectAlignment */ import jdk.test.lib.cds.CDSTestUtils; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsSameObjectAlignment.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsSameObjectAlignment.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsSameObjectAlignment.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/CdsSameObjectAlignment.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,13 +30,12 @@ * @library /test/lib * @modules java.base/jdk.internal.misc * java.management - * @run main CdsSameObjectAlignment + * @run driver CdsSameObjectAlignment */ import jdk.test.lib.Platform; import jdk.test.lib.cds.CDSTestUtils; import jdk.test.lib.process.OutputAnalyzer; -import jtreg.SkippedException; public class CdsSameObjectAlignment { public static void main(String[] args) throws Exception { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSharedDictionary.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSharedDictionary.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSharedDictionary.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSharedDictionary.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,7 +28,7 @@ * @requires vm.cds * @library /test/lib * @modules java.base/jdk.internal.misc - * @run main DumpSharedDictionary + * @run driver DumpSharedDictionary */ import jdk.test.lib.cds.CDSTestUtils; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,6 +24,7 @@ /** * @test * @requires vm.cds + * @requires vm.flagless * @bug 8067187 8200078 * @summary Testing CDS dumping with the -XX:MaxMetaspaceSize= option * @library /test/lib diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,7 +28,7 @@ * @library /test/lib * @modules java.base/jdk.internal.misc * java.management - * @run main NonBootLoaderClasses + * @run driver NonBootLoaderClasses */ import jdk.test.lib.cds.CDSOptions; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedBaseAddress.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedBaseAddress.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedBaseAddress.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedBaseAddress.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @library /test/lib * @modules java.base/jdk.internal.misc * java.management - * @run main SharedBaseAddress + * @run driver SharedBaseAddress */ import jdk.test.lib.cds.CDSTestUtils; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStrings.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStrings.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStrings.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStrings.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,12 +26,13 @@ * @summary Check to make sure that shared strings in the bootstrap CDS archive * are actually shared * @requires vm.cds.archived.java.heap + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management * @build SharedStringsWb sun.hotspot.WhiteBox * @run driver ClassFileInstaller -jar whitebox.jar sun.hotspot.WhiteBox - * @run main SharedStrings + * @run driver SharedStrings */ import jdk.test.lib.cds.CDSTestUtils; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsDedup.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsDedup.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsDedup.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsDedup.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,7 +28,7 @@ * @library /test/lib * @modules java.base/jdk.internal.misc * java.management - * @run main SharedStringsDedup + * @run driver SharedStringsDedup */ import jdk.test.lib.cds.CDSTestUtils; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsRunAuto.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsRunAuto.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsRunAuto.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsRunAuto.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,7 +28,7 @@ * @library /test/lib * @modules java.base/jdk.internal.misc * java.management - * @run main SharedStringsRunAuto + * @run driver SharedStringsRunAuto */ import jdk.test.lib.cds.CDSTestUtils; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/Throwable/StackTraceLogging.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Throwable/StackTraceLogging.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/Throwable/StackTraceLogging.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Throwable/StackTraceLogging.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8150778 * @summary check stacktrace logging + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/Throwable/TestMaxJavaStackTraceDepth.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Throwable/TestMaxJavaStackTraceDepth.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/Throwable/TestMaxJavaStackTraceDepth.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/Throwable/TestMaxJavaStackTraceDepth.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 7179701 * @summary MaxJavaStackTraceDepth of zero is not handled correctly/consistently in the VM + * @requires vm.flagless * @modules java.base/jdk.internal.misc:open * @modules java.base/java.lang:open * @library /test/lib diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/XCheckJniJsig/XCheckJSig.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/XCheckJniJsig/XCheckJSig.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/XCheckJniJsig/XCheckJSig.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/XCheckJniJsig/XCheckJSig.java 2024-04-08 05:38:38.000000000 +0000 @@ -37,7 +37,6 @@ import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.Platform; -import jtreg.SkippedException; public class XCheckJSig { public static void main(String args[]) throws Throwable { @@ -45,29 +44,21 @@ System.out.println("Regression test for bugs 7051189 and 8023393"); String jdk_path = System.getProperty("test.jdk"); - String os_arch = Platform.getOsArch(); String libjsig; String env_var; if (Platform.isOSX()) { env_var = "DYLD_INSERT_LIBRARIES"; - libjsig = jdk_path + "/jre/lib/libjsig.dylib"; // jdk location - if (!(new File(libjsig).exists())) { - libjsig = jdk_path + "/lib/libjsig.dylib"; // jre location - } + libjsig = jdk_path + "/lib/libjsig.dylib"; // jre location } else { env_var = "LD_PRELOAD"; - libjsig = jdk_path + "/jre/lib/" + os_arch + "/libjsig.so"; // jdk location - if (!(new File(libjsig).exists())) { - libjsig = jdk_path + "/lib/" + os_arch + "/libjsig.so"; // jre location - } + libjsig = jdk_path + "/lib/libjsig.so"; // jre location } // If this test fails, these might be useful to know. System.out.println("libjsig: " + libjsig); - System.out.println("osArch: " + os_arch); // Make sure the libjsig file exists. if (!(new File(libjsig).exists())) { - throw new jtreg.SkippedException("File " + libjsig + " not found"); + throw new RuntimeException("File libjsig not found, path: " + libjsig); } ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xcheck:jni", "-version"); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/AppendClasspath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/AppendClasspath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/AppendClasspath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/AppendClasspath.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java * @compile test-classes/HelloMore.java - * @run main AppendClasspath + * @run driver AppendClasspath */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/BootClassPathMismatch.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/BootClassPathMismatch.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/BootClassPathMismatch.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/BootClassPathMismatch.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main BootClassPathMismatch + * @run driver BootClassPathMismatch */ import jdk.test.lib.cds.CDSOptions; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/CDSandJFR.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CDSandJFR.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/CDSandJFR.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CDSandJFR.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,7 +30,7 @@ * @modules jdk.jfr * @build Hello GetFlightRecorder * @run driver ClassFileInstaller -jar CDSandJFR.jar Hello GetFlightRecorder GetFlightRecorder$TestEvent GetFlightRecorder$SimpleEvent - * @run main CDSandJFR + * @run driver CDSandJFR */ import jdk.test.lib.BuildHelper; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/CaseSensitiveClassPath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CaseSensitiveClassPath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/CaseSensitiveClassPath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CaseSensitiveClassPath.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * jdk.jartool/sun.tools.jar * @requires os.family != "mac" * @compile test-classes/Hello.java - * @run main CaseSensitiveClassPath + * @run driver CaseSensitiveClassPath */ import java.nio.file.FileAlreadyExistsException; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ClassLoaderTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ClassLoaderTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ClassLoaderTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ClassLoaderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -36,7 +36,7 @@ * @compile test-classes/BootClassPathAppendHelper.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main ClassLoaderTest + * @run driver ClassLoaderTest */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ClassPathAttr.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ClassPathAttr.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ClassPathAttr.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ClassPathAttr.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,7 +30,7 @@ * @modules java.base/jdk.internal.misc * java.management * jdk.jartool/sun.tools.jar - * @run main ClassPathAttr + * @run driver ClassPathAttr */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/CommandLineFlagComboNegative.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CommandLineFlagComboNegative.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/CommandLineFlagComboNegative.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/CommandLineFlagComboNegative.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main CommandLineFlagComboNegative + * @run driver CommandLineFlagComboNegative */ import java.util.ArrayList; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/DirClasspathTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/DirClasspathTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/DirClasspathTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/DirClasspathTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,7 +28,7 @@ * @requires vm.cds * @library /test/lib * @compile test-classes/Hello.java - * @run main DirClasspathTest + * @run driver DirClasspathTest */ import jdk.test.lib.Platform; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/DumpClassList.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/DumpClassList.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/DumpClassList.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/DumpClassList.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @compile test-classes/ArrayListTest.java - * @run main DumpClassList + * @run driver DumpClassList */ import jdk.test.lib.compiler.InMemoryJavaCompiler; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ExtraSymbols.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ExtraSymbols.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ExtraSymbols.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ExtraSymbols.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,24 +31,26 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main ExtraSymbols + * @run driver ExtraSymbols */ import java.io.*; import jdk.test.lib.process.OutputAnalyzer; public class ExtraSymbols { + static final String CDS_LOGGING = "-Xlog:cds,cds+hashtables"; public static void main(String[] args) throws Exception { String appJar = JarBuilder.getOrCreateHelloJar(); // 1. Dump without extra symbols. - OutputAnalyzer output = TestCommon.dump(appJar, TestCommon.list("Hello")); + OutputAnalyzer output = TestCommon.dump(appJar, TestCommon.list("Hello"), + CDS_LOGGING); checkOutput(output); int numEntries1 = numOfEntries(output); // 2. Dump an archive with extra symbols. All symbols in // ExtraSymbols.symbols.txt are valid. Dumping should succeed. - output = TestCommon.dump(appJar, TestCommon.list("Hello"), + output = TestCommon.dump(appJar, TestCommon.list("Hello"), CDS_LOGGING, "-XX:SharedArchiveConfigFile=" + TestCommon.getSourceFile("ExtraSymbols.symbols.txt")); checkOutput(output); int numEntries2 = numOfEntries(output); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/FieldAnnotationsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/FieldAnnotationsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/FieldAnnotationsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/FieldAnnotationsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/FieldAnnotationsApp.java test-classes/MyAnnotation.java - * @run main FieldAnnotationsTest + * @run driver FieldAnnotationsTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/FreeUnusedMetadata.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/FreeUnusedMetadata.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/FreeUnusedMetadata.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/FreeUnusedMetadata.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,7 +29,7 @@ * @library /test/lib * @modules jdk.jartool/sun.tools.jar * @compile test-classes/MethodNoReturn.jasm test-classes/Hello.java - * @run main FreeUnusedMetadata + * @run driver FreeUnusedMetadata */ import java.nio.file.Files; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/GraalWithLimitedMetaspace.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/GraalWithLimitedMetaspace.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/GraalWithLimitedMetaspace.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/GraalWithLimitedMetaspace.java 2024-04-08 05:38:38.000000000 +0000 @@ -87,7 +87,6 @@ static void dumpLoadedClasses(String[] expectedClasses) throws Exception { ProcessBuilder pb = ProcessTools.createTestJvm( - TestCommon.makeCommandLineForAppCDS( "-XX:DumpLoadedClassList=" + CLASSLIST_FILE, // trigger JVMCI runtime init so that JVMCI classes will be // included in the classlist @@ -97,7 +96,7 @@ "-cp", TESTJAR, TESTNAME, - TEST_OUT)); + TEST_OUT); OutputAnalyzer output = TestCommon.executeAndLog(pb, "dump-loaded-classes") .shouldHaveExitValue(0) @@ -115,7 +114,6 @@ static void dumpArchive() throws Exception { ProcessBuilder pb = ProcessTools.createTestJvm( - TestCommon.makeCommandLineForAppCDS( "-cp", TESTJAR, "-XX:SharedClassListFile=" + CLASSLIST_FILE, @@ -123,7 +121,7 @@ "-Xlog:cds", "-Xshare:dump", "-XX:MetaspaceSize=12M", - "-XX:MaxMetaspaceSize=12M")); + "-XX:MaxMetaspaceSize=12M"); OutputAnalyzer output = TestCommon.executeAndLog(pb, "dump-archive"); int exitValue = output.getExitValue(); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/HelloExtTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/HelloExtTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/HelloExtTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/HelloExtTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -35,7 +35,7 @@ * @compile test-classes/HelloExt.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main HelloExtTest + * @run driver HelloExtTest */ import jdk.test.lib.process.OutputAnalyzer; @@ -52,7 +52,7 @@ TestCommon.dump(appJar, TestCommon.list("javax/annotation/processing/FilerException", "[Ljava/lang/Comparable;"), - bootClassPath, "-verbose:class"); + bootClassPath); String prefix = ".class.load. "; String class_pattern = ".*LambdaForm[$]MH[/][0123456789].*"; @@ -60,12 +60,12 @@ String pattern = prefix + class_pattern + suffix; TestCommon.run("-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI", - "-cp", appJar, bootClassPath, "-verbose:class", "HelloExt") + "-cp", appJar, bootClassPath, "-Xlog:class+load", "HelloExt") .assertNormalExit(output -> output.shouldNotMatch(pattern)); TestCommon.run("-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI", - "-cp", appJar, bootClassPath, "-verbose:class", + "-cp", appJar, bootClassPath, "-Xlog:class+load", "-XX:+PrintSharedArchiveAndExit", "-XX:+PrintSharedDictionary", "HelloExt") .assertNormalExit(output -> output.shouldNotMatch(class_pattern)); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/HelloTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/HelloTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/HelloTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/HelloTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main HelloTest + * @run driver HelloTest */ public class HelloTest { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/IgnoreEmptyClassPaths.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/IgnoreEmptyClassPaths.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/IgnoreEmptyClassPaths.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/IgnoreEmptyClassPaths.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java * @compile test-classes/HelloMore.java - * @run main IgnoreEmptyClassPaths + * @run driver IgnoreEmptyClassPaths */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/JvmtiAddPath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/JvmtiAddPath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/JvmtiAddPath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/JvmtiAddPath.java 2024-04-08 05:38:38.000000000 +0000 @@ -35,7 +35,7 @@ * @run driver ClassFileInstaller sun.hotspot.WhiteBox * @compile test-classes/Hello.java * @compile test-classes/JvmtiApp.java - * @run main JvmtiAddPath + * @run driver JvmtiAddPath */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MissingSuperTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MissingSuperTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MissingSuperTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MissingSuperTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/MissingSuper.java - * @run main MissingSuperTest + * @run driver MissingSuperTest */ public class MissingSuperTest { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,6 +27,7 @@ * @summary Test that CDS still works when the JDK is moved to a new directory * @bug 8272345 * @requires vm.cds + * @requires vm.flagless * @comment This test doesn't work on Windows because it depends on symlinks * @requires os.family != "windows" * @library /test/lib @@ -34,7 +35,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main MoveJDKTest + * @run driver MoveJDKTest */ import java.io.File; @@ -54,7 +55,8 @@ String jsaOpt = "-XX:SharedArchiveFile=" + jsaFile; { ProcessBuilder pb = makeBuilder(java_home_src + "/bin/java", "-Xshare:dump", jsaOpt); - TestCommon.executeAndLog(pb, "dump"); + TestCommon.executeAndLog(pb, "dump") + .shouldHaveExitValue(0); } { ProcessBuilder pb = makeBuilder(java_home_src + "/bin/java", @@ -63,6 +65,7 @@ "-Xlog:class+path=info", "-version"); OutputAnalyzer out = TestCommon.executeAndLog(pb, "exec-src"); + out.shouldHaveExitValue(0); out.shouldNotContain("shared class paths mismatch"); out.shouldNotContain("BOOT classpath mismatch"); } @@ -78,6 +81,7 @@ "-Xlog:class+path=info", "-version"); OutputAnalyzer out = TestCommon.executeAndLog(pb, "exec-dst"); + out.shouldHaveExitValue(0); out.shouldNotContain("shared class paths mismatch"); out.shouldNotContain("BOOT classpath mismatch"); } @@ -91,7 +95,8 @@ "-Xshare:dump", dumptimeBootAppendOpt, jsaOpt); - TestCommon.executeAndLog(pb, "dump"); + TestCommon.executeAndLog(pb, "dump") + .shouldHaveExitValue(0); } { String runtimeBootAppendOpt = dumptimeBootAppendOpt + System.getProperty("path.separator") + helloJar; @@ -102,6 +107,7 @@ "-Xlog:class+path=info", "-version"); OutputAnalyzer out = TestCommon.executeAndLog(pb, "exec-dst"); + out.shouldHaveExitValue(0); out.shouldNotContain("shared class paths mismatch"); out.shouldNotContain("BOOT classpath mismatch"); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MultiProcessSharing.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MultiProcessSharing.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MultiProcessSharing.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MultiProcessSharing.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox * @compile test-classes/MultiProcClass.java - * @run main MultiProcessSharing + * @run driver MultiProcessSharing */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MultiReleaseJars.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MultiReleaseJars.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/MultiReleaseJars.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/MultiReleaseJars.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,13 +24,12 @@ /* * @test MultiReleaseJars - * @bug 8170105 * @summary Test multi-release jar with AppCDS. * @requires vm.cds * @library /test/lib * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar - * @run main/othervm MultiReleaseJars + * @run main/othervm/timeout=2400 MultiReleaseJars */ import java.io.File; @@ -156,7 +155,6 @@ String appClasses[] = {"version/Main", "version/Version"}; String appJar = TestCommon.getTestJar("version.jar"); String appJar2 = TestCommon.getTestJar("version2.jar"); - String verboseMode = "-verbose:class"; String enableMultiRelease = "-Djdk.util.jar.enableMultiRelease=true"; String jarVersion = null; String expectedOutput = null; @@ -168,7 +166,7 @@ output.shouldContain("Loading classes to share: done."); output.shouldHaveExitValue(0); - output = TestCommon.exec(appJar, verboseMode, mainClass); + output = TestCommon.exec(appJar, mainClass); checkExecOutput(output, "I am running on version " + MAJOR_VERSION_STRING); // 2. Test versions 7 and the current major version. @@ -183,7 +181,7 @@ output.shouldContain("Loading classes to share: done."); output.shouldHaveExitValue(0); - output = TestCommon.exec(appJar, verboseMode, mainClass); + output = TestCommon.exec(appJar, mainClass); checkExecOutput(output, expectedOutput); } @@ -197,7 +195,7 @@ // jdk corelib which doesn't emit the following warning message. //output.shouldContain("JDK" + i + " is not supported in multiple version jars"); - output = TestCommon.exec(appJar, verboseMode, mainClass); + output = TestCommon.exec(appJar, mainClass); if (i == 5) checkExecOutput(output, "I am running on version 7"); else @@ -212,7 +210,7 @@ output = TestCommon.dump(appJar, appClasses, "-Djdk.util.jar.enableMultiRelease=false", jarVersion); output.shouldHaveExitValue(0); - output = TestCommon.exec(appJar, verboseMode, mainClass); + output = TestCommon.exec(appJar, mainClass); expectedOutput = "I am running on version 7"; checkExecOutput(output, expectedOutput); } @@ -224,7 +222,7 @@ output.shouldContain("Loading classes to share: done."); output.shouldHaveExitValue(0); - output = TestCommon.exec(appJar, "-Xbootclasspath/a:" + appJar, verboseMode, mainClass); + output = TestCommon.exec(appJar, "-Xbootclasspath/a:" + appJar, mainClass); checkExecOutput(output, "I am running on version 7"); // 6. Sanity test case-insensitive "Multi-Release" attribute name @@ -232,7 +230,7 @@ output.shouldContain("Loading classes to share: done."); output.shouldHaveExitValue(0); - output = TestCommon.exec(appJar2, verboseMode, mainClass); + output = TestCommon.exec(appJar2, mainClass); checkExecOutput(output, "I am running on version " + MAJOR_VERSION_STRING); } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/OldClassTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/OldClassTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/OldClassTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/OldClassTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java * @run build TestCommon JarBuilder - * @run main OldClassTest + * @run driver OldClassTest */ import java.io.File; @@ -67,7 +67,6 @@ TestCommon.run( "-cp", jar, - "-verbose:class", "Hello") .assertNormalExit("Hello Unicode world (Old)"); @@ -79,7 +78,6 @@ TestCommon.run( "-cp", classpath, - "-verbose:class", "Hello") .assertNormalExit("Hello Unicode world (Old)"); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/PackageSealing.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/PackageSealing.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/PackageSealing.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/PackageSealing.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * @compile test-classes/C1.java * @compile test-classes/C2.java * @compile test-classes/PackageSealingTest.java - * @run main PackageSealing + * @run driver PackageSealing */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ParallelLoad2.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ParallelLoad2.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ParallelLoad2.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ParallelLoad2.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/ParallelLoad.java * @compile test-classes/ParallelClasses.java - * @run main ParallelLoad2 + * @run driver ParallelLoad2 */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ParallelLoadTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ParallelLoadTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ParallelLoadTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ParallelLoadTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/ParallelLoad.java * @compile test-classes/ParallelClasses.java - * @run main ParallelLoadTest + * @run driver ParallelLoadTest */ public class ParallelLoadTest { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ProhibitedPackage.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ProhibitedPackage.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ProhibitedPackage.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ProhibitedPackage.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/ProhibitedHelper.java test-classes/Prohibited.jasm - * @run main ProhibitedPackage + * @run driver ProhibitedPackage */ import jdk.test.lib.cds.CDSOptions; @@ -79,20 +79,20 @@ // -Xshare:on TestCommon.run( "-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI", - "-cp", appJar, "-Xlog:class+load=info", "ProhibitedHelper") + "-cp", appJar, "ProhibitedHelper") .assertNormalExit("Prohibited package name: java.lang"); // -Xshare:auto output = TestCommon.execAuto( "-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI", - "-cp", appJar, "-Xlog:class+load=info", "ProhibitedHelper"); + "-cp", appJar, "ProhibitedHelper"); CDSOptions opts = (new CDSOptions()).setXShareMode("auto"); TestCommon.checkExec(output, opts, "Prohibited package name: java.lang"); // -Xshare:off output = TestCommon.execOff( "-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI", - "-cp", appJar, "-Xlog:class+load=info", "ProhibitedHelper"); + "-cp", appJar, "ProhibitedHelper"); output.shouldContain("Prohibited package name: java.lang"); } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * @compile test-classes/ProtDomain.java * @compile test-classes/ProtDomainB.java * @compile test-classes/JimageClassProtDomain.java - * @run main ProtectionDomain + * @run driver ProtectionDomain */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/RewriteBytecodesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/RewriteBytecodesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/RewriteBytecodesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/RewriteBytecodesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * @compile test-classes/RewriteBytecodes.java test-classes/Util.java test-classes/Super.java test-classes/Child.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main RewriteBytecodesTest + * @run driver RewriteBytecodesTest */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/SharedPackages.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SharedPackages.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/SharedPackages.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SharedPackages.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/PackageTest.java * @compile test-classes/JimageClassPackage.java - * @run main SharedPackages + * @run driver SharedPackages */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/SignedJar.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SignedJar.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/SignedJar.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SignedJar.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main SignedJar + * @run driver SignedJar */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/SpecifySysLoaderProp.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SpecifySysLoaderProp.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/SpecifySysLoaderProp.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/SpecifySysLoaderProp.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * @compile test-classes/TestClassLoader.java * @compile test-classes/ReportMyLoader.java * @compile test-classes/TrySwitchMyLoader.java - * @run main SpecifySysLoaderProp + * @run driver SpecifySysLoaderProp */ import java.io.*; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/TestCommon.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TestCommon.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/TestCommon.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TestCommon.java 2024-04-08 05:38:38.000000000 +0000 @@ -114,10 +114,6 @@ return createArchive(opts); } - public static String[] makeCommandLineForAppCDS(String... args) throws Exception { - return args; - } - // Create AppCDS archive using appcds options public static OutputAnalyzer createArchive(AppCDSOptions opts) throws Exception { @@ -137,7 +133,6 @@ } cmd.add("-Xshare:dump"); - cmd.add("-Xlog:cds,cds+hashtables"); cmd.add("-XX:ExtraSharedClassListFile=" + classList.getPath()); if (opts.archiveName == null) diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java 2024-04-08 05:38:38.000000000 +0000 @@ -36,7 +36,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/MyThread.java * @compile test-classes/TestWithProfilerHelper.java - * @run main TestWithProfiler + * @run driver TestWithProfiler */ import jdk.test.lib.BuildHelper; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/TraceLongClasspath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TraceLongClasspath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/TraceLongClasspath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/TraceLongClasspath.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main TraceLongClasspath + * @run driver TraceLongClasspath */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/VerifierTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/VerifierTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/VerifierTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/VerifierTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -48,6 +48,7 @@ static final String PASS_RESULT = "Hi, how are you?"; static final String VFY_INFO_MESSAGE = "All non-system classes will be verified (-Xverify:remote) during CDS dump time."; + static final String CDS_LOGGING = "-Xlog:cds,cds+hashtables"; enum Testset1Part { A, B @@ -104,6 +105,7 @@ // Dumping should fail if the IgnoreUnverifiableClassesDuringDump // option is not enabled. OutputAnalyzer output = TestCommon.dump(jar, appClasses, + CDS_LOGGING, "-XX:+UnlockDiagnosticVMOptions", "-XX:-IgnoreUnverifiableClassesDuringDump"); output.shouldContain("Please remove the unverifiable classes"); @@ -186,6 +188,7 @@ if (!dump_setting.equals(prev_dump_setting)) { OutputAnalyzer dumpOutput = TestCommon.dump( jar, dump_list, dump_setting, + CDS_LOGGING, // FIXME: the following options are for working around a GC // issue - assert failure when dumping archive with the -Xverify:all "-Xms256m", @@ -243,6 +246,7 @@ if (!dump_setting.equals(prev_dump_setting)) { OutputAnalyzer dumpOutput = TestCommon.dump( jar, appClasses, dump_setting, + CDS_LOGGING, // FIXME: the following options are for working around a GC // issue - assert failure when dumping archive with the -Xverify:all "-Xms256m", diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/WideIloadTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/WideIloadTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/WideIloadTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/WideIloadTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Iloadw.jasm * @compile test-classes/IloadwMain.java - * @run main WideIloadTest + * @run driver WideIloadTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/WrongClasspath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/WrongClasspath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/WrongClasspath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/WrongClasspath.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main WrongClasspath + * @run driver WrongClasspath */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/XShareAutoWithChangedJar.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/XShareAutoWithChangedJar.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/XShareAutoWithChangedJar.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/XShareAutoWithChangedJar.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java - * @run main XShareAutoWithChangedJar + * @run driver XShareAutoWithChangedJar */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @compile CheckIntegerCacheApp.java * @run driver ClassFileInstaller -jar integer.jar CheckIntegerCacheApp * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main ArchivedIntegerCacheTest + * @run driver ArchivedIntegerCacheTest */ import java.nio.file.Files; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @compile CheckArchivedModuleApp.java * @run driver ClassFileInstaller -jar app.jar CheckArchivedModuleApp * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main ArchivedModuleComboTest + * @run driver ArchivedModuleComboTest */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleCompareTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleCompareTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleCompareTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleCompareTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @compile PrintSystemModulesApp.java * @run driver ClassFileInstaller -jar app.jar PrintSystemModulesApp - * @run main ArchivedModuleCompareTest + * @run driver ArchivedModuleCompareTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @summary Test archived module graph with custom runtime image * @requires vm.cds.archived.java.heap + * @requires vm.flagless * @library /test/jdk/lib/testlibrary /test/lib /test/hotspot/jtreg/runtime/appcds * @modules java.base/jdk.internal.module * java.management @@ -34,7 +35,7 @@ * @compile CheckArchivedModuleApp.java * @run driver ClassFileInstaller -jar app.jar CheckArchivedModuleApp * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main ArchivedModuleWithCustomImageTest + * @run driver ArchivedModuleWithCustomImageTest */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedMirrorTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedMirrorTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedMirrorTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedMirrorTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -37,7 +37,7 @@ * @run driver ClassFileInstaller -jar app.jar CheckCachedMirrorApp * @run driver ClassFileInstaller -jar hello.jar Hello * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main CheckCachedMirrorTest + * @run driver CheckCachedMirrorTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedResolvedReferences.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedResolvedReferences.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedResolvedReferences.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedResolvedReferences.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,7 +37,7 @@ * @run driver ClassFileInstaller -jar app.jar CheckCachedResolvedReferencesApp * @run driver ClassFileInstaller -jar hello.jar Hello * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main CheckCachedResolvedReferences + * @run driver CheckCachedResolvedReferences */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/DumpTimeVerifyFailure.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/DumpTimeVerifyFailure.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/DumpTimeVerifyFailure.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/DumpTimeVerifyFailure.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * @modules java.management * jdk.jartool/sun.tools.jar * @compile MyOuter.java MyException.java - * @run main DumpTimeVerifyFailure + * @run driver DumpTimeVerifyFailure */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/GCStressTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/GCStressTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/GCStressTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/GCStressTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -35,7 +35,7 @@ * @compile GCStressApp.java * @run driver ClassFileInstaller -jar gcstress.jar GCStressApp jdk.test.lib.Utils * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main GCStressTest + * @run driver GCStressTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/MirrorWithReferenceFieldsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/MirrorWithReferenceFieldsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/MirrorWithReferenceFieldsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/MirrorWithReferenceFieldsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @compile MirrorWithReferenceFieldsApp.java * @run driver ClassFileInstaller -jar app.jar MirrorWithReferenceFieldsApp * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main MirrorWithReferenceFieldsTest + * @run driver MirrorWithReferenceFieldsTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * @modules java.management * jdk.jartool/sun.tools.jar * @compile ../test-classes/Hello.java - * @run main OpenArchiveRegion + * @run driver OpenArchiveRegion */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/PrimitiveTypesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/PrimitiveTypesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/PrimitiveTypesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/PrimitiveTypesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @compile PrimitiveTypesApp.java * @run driver ClassFileInstaller -jar app.jar PrimitiveTypesApp FieldsTest * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main PrimitiveTypesTest + * @run driver PrimitiveTypesTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/RedefineClassTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/RedefineClassTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/cacheObject/RedefineClassTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/cacheObject/RedefineClassTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * RedefineClassApp * InstrumentationClassFileTransformer * InstrumentationRegisterClassFileTransformer - * @run main/othervm RedefineClassTest + * @run driver RedefineClassTest */ import com.sun.tools.attach.VirtualMachine; @@ -89,7 +89,7 @@ bootCP, "-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI", - "-Xlog:gc+region=trace,cds=info", + "-Xlog:cds=info", agentCmdArg, "RedefineClassApp", bootJar, appJar); out.reportDiagnosticSummary(); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/condy/CondyHelloTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/condy/CondyHelloTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/condy/CondyHelloTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/condy/CondyHelloTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @build sun.hotspot.WhiteBox CondyHelloTest CondyHelloApp * @run driver ClassFileInstaller -jar condy_hello.jar CondyHello CondyHelloApp * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main CondyHelloTest + * @run driver CondyHelloTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatA.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatA.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatA.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatA.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java test-classes/CustomLoadee.java test-classes/CustomLoadee2.java * test-classes/CustomInterface2_ia.java test-classes/CustomInterface2_ib.java - * @run main ClassListFormatA + * @run driver ClassListFormatA */ public class ClassListFormatA extends ClassListFormatBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatB.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatB.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatB.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatB.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java test-classes/CustomLoadee.java test-classes/CustomLoadee2.java * test-classes/CustomInterface2_ia.java test-classes/CustomInterface2_ib.java - * @run main ClassListFormatB + * @run driver ClassListFormatB */ public class ClassListFormatB extends ClassListFormatBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatBase.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatBase.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatBase.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatBase.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -63,7 +63,7 @@ System.out.println("------------------------------"); try { - OutputAnalyzer output = TestCommon.dump(appJar, appClasses); + OutputAnalyzer output = TestCommon.dump(appJar, appClasses, "-Xlog:cds"); output.shouldHaveExitValue(0); output.shouldContain("Dumping"); for (String s : expected_msgs) { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatC.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatC.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatC.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatC.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java test-classes/CustomLoadee.java test-classes/CustomLoadee2.java * test-classes/CustomInterface2_ia.java test-classes/CustomInterface2_ib.java - * @run main ClassListFormatC + * @run driver ClassListFormatC */ public class ClassListFormatC extends ClassListFormatBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatD.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatD.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatD.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatD.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java test-classes/CustomLoadee.java test-classes/CustomLoadee2.java * test-classes/CustomInterface2_ia.java test-classes/CustomInterface2_ib.java - * @run main ClassListFormatD + * @run driver ClassListFormatD */ public class ClassListFormatD extends ClassListFormatBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatE.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatE.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatE.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatE.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * jdk.jartool/sun.tools.jar * @compile test-classes/Hello.java test-classes/CustomLoadee.java test-classes/CustomLoadee2.java * test-classes/CustomInterface2_ia.java test-classes/CustomInterface2_ib.java - * @run main ClassListFormatE + * @run driver ClassListFormatE */ public class ClassListFormatE extends ClassListFormatBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * @run driver ClassFileInstaller -jar hello.jar Hello * @run driver ClassFileInstaller -jar hello_custom.jar CustomLoadee * @run driver ClassFileInstaller -jar WhiteBox.jar sun.hotspot.WhiteBox - * @run main HelloCustom + * @run driver HelloCustom */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/LoaderSegregationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/LoaderSegregationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/LoaderSegregationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/LoaderSegregationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,7 +41,7 @@ * ../test-classes/Util.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main LoaderSegregationTest + * @run driver LoaderSegregationTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestMultiFP.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestMultiFP.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestMultiFP.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestMultiFP.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile ../test-classes/ParallelLoad.java ../test-classes/ParallelClasses.java - * @run main ParallelTestMultiFP + * @run driver ParallelTestMultiFP */ public class ParallelTestMultiFP extends ParallelTestBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestSingleFP.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestSingleFP.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestSingleFP.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestSingleFP.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile ../test-classes/ParallelLoad.java ../test-classes/ParallelClasses.java - * @run main ParallelTestSingleFP + * @run driver ParallelTestSingleFP */ public class ParallelTestSingleFP extends ParallelTestBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ProhibitedPackageNamesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ProhibitedPackageNamesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ProhibitedPackageNamesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ProhibitedPackageNamesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile ClassListFormatBase.java test-classes/Hello.java test-classes/InProhibitedPkg.java - * @run main ProhibitedPackageNamesTest + * @run driver ProhibitedPackageNamesTest */ public class ProhibitedPackageNamesTest extends ClassListFormatBase { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ProtectionDomain.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ProtectionDomain.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/ProtectionDomain.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/ProtectionDomain.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/ProtDomain.java - * @run main ProtectionDomain + * @run driver ProtectionDomain */ public class ProtectionDomain { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/SameNameInTwoLoadersTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/SameNameInTwoLoadersTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/SameNameInTwoLoadersTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/SameNameInTwoLoadersTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -38,7 +38,7 @@ * test-classes/SameNameUnrelatedLoaders.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main SameNameInTwoLoadersTest + * @run driver SameNameInTwoLoadersTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/UnintendedLoadersTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnintendedLoadersTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/UnintendedLoadersTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnintendedLoadersTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ * @compile test-classes/UnintendedLoaders.java test-classes/CustomLoadee.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main UnintendedLoadersTest + * @run driver UnintendedLoadersTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -39,7 +39,7 @@ * @run driver ClassFileInstaller ClassUnloadCommon * @run driver ClassFileInstaller ClassUnloadCommon$1 * @run driver ClassFileInstaller ClassUnloadCommon$TestFailure - * @run main UnloadUnregisteredLoaderTest + * @run driver UnloadUnregisteredLoaderTest */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/UnsupportedPlatforms.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnsupportedPlatforms.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/customLoader/UnsupportedPlatforms.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/customLoader/UnsupportedPlatforms.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ * java.management * jdk.jartool/sun.tools.jar * @compile test-classes/SimpleHello.java - * @run main UnsupportedPlatforms + * @run driver UnsupportedPlatforms */ import jdk.test.lib.Platform; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/ArrayTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/ArrayTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/ArrayTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/ArrayTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @compile ArrayTestHelper.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main ArrayTest + * @run driver ArrayTest */ import java.util.List; @@ -57,7 +57,7 @@ String bootClassPath = "-Xbootclasspath/a:" + whiteBoxJar; // create an archive containing array classes - OutputAnalyzer output = TestCommon.dump(appJar, TestCommon.list(arrayClasses), bootClassPath, "-verbose:class"); + OutputAnalyzer output = TestCommon.dump(appJar, TestCommon.list(arrayClasses), bootClassPath); // we currently don't support array classes during CDS dump output.shouldContain("Preload Warning: Cannot find [Ljava/lang/Comparable;") .shouldContain("Preload Warning: Cannot find [I") @@ -70,7 +70,6 @@ argsList.add("-cp"); argsList.add(appJar); argsList.add(bootClassPath); - argsList.add("-verbose:class"); argsList.add("ArrayTestHelper"); // the following are input args to the ArrayTestHelper. // skip checking array classes during run time diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDump.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDump.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDump.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDump.java 2024-04-08 05:38:38.000000000 +0000 @@ -56,7 +56,8 @@ String appJar = ClassFileInstaller.writeJar("GCDuringDumpApp.jar", appClasses); - String gcLog = "-Xlog:gc*=info,gc+region=trace,gc+alloc+region=debug"; + String gcLog = Boolean.getBoolean("test.cds.verbose.gc") ? + "-Xlog:gc*=info,gc+region=trace,gc+alloc+region=debug" : "-showversion"; for (int i=0; i<2; i++) { // i = 0 -- run without agent = no extra GCs diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDumpTransformer.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDumpTransformer.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDumpTransformer.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDumpTransformer.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,13 +28,8 @@ import java.security.ProtectionDomain; public class GCDuringDumpTransformer implements ClassFileTransformer { - static int n = 0; public byte[] transform(ClassLoader loader, String name, Class classBeingRedefined, ProtectionDomain pd, byte[] buffer) throws IllegalClassFormatException { - n++; - - System.out.println("dump time loading: " + name + " in loader: " + loader); - System.out.println("making garbage: " + n); try { makeGarbage(); } catch (Throwable t) { @@ -43,7 +38,6 @@ Thread.sleep(200); // let GC to have a chance to run } catch (Throwable t2) {} } - System.out.println("making garbage: done"); return null; } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDump.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDump.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDump.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDump.java 2024-04-08 05:38:38.000000000 +0000 @@ -62,7 +62,8 @@ String appJar = ClassFileInstaller.writeJar("GCSharedStringsDuringDumpApp.jar", appClasses); - String gcLog = "-Xlog:gc*=info,gc+region=trace,gc+alloc+region=debug"; + String gcLog = Boolean.getBoolean("test.cds.verbose.gc") ? + "-Xlog:gc*=info,gc+region=trace,gc+alloc+region=debug" : "-showversion"; String sharedArchiveCfgFile = System.getProperty("user.dir") + File.separator + "GCSharedStringDuringDump_gen.txt"; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/CheckUnsupportedDumpingOptions.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/CheckUnsupportedDumpingOptions.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/CheckUnsupportedDumpingOptions.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/CheckUnsupportedDumpingOptions.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * jdk.internal.jvmstat/sun.jvmstat.monitor * @compile ../test-classes/Hello.java - * @run main CheckUnsupportedDumpingOptions + * @run driver CheckUnsupportedDumpingOptions */ import jdk.test.lib.compiler.InMemoryJavaCompiler; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/JigsawOptionsCombo.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/JigsawOptionsCombo.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/JigsawOptionsCombo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/JigsawOptionsCombo.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * jdk.jartool/sun.tools.jar * jdk.internal.jvmstat/sun.jvmstat.monitor * @compile ../test-classes/Hello.java ../test-classes/HelloMore.java - * @run main JigsawOptionsCombo + * @run driver JigsawOptionsCombo */ import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/AppClassInCP.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/AppClassInCP.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/AppClassInCP.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/AppClassInCP.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main AppClassInCP + * @run driver AppClassInCP */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/CustomPackage.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/CustomPackage.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/CustomPackage.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/CustomPackage.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main CustomPackage + * @run driver CustomPackage */ import jdk.test.lib.compiler.InMemoryJavaCompiler; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/MismatchedPatchModule.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/MismatchedPatchModule.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/MismatchedPatchModule.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/MismatchedPatchModule.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main MismatchedPatchModule + * @run driver MismatchedPatchModule */ import jdk.test.lib.compiler.InMemoryJavaCompiler; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchDir.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchDir.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchDir.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchDir.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main PatchDir + * @run driver PatchDir */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchJavaBase.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchJavaBase.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchJavaBase.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchJavaBase.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main PatchJavaBase + * @run driver PatchJavaBase */ import jdk.test.lib.compiler.InMemoryJavaCompiler; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/Simple.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/Simple.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/Simple.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/Simple.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main Simple + * @run driver Simple */ import jdk.test.lib.compiler.InMemoryJavaCompiler; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/SubClassOfPatchedClass.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/SubClassOfPatchedClass.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/SubClassOfPatchedClass.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/SubClassOfPatchedClass.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main SubClassOfPatchedClass + * @run driver SubClassOfPatchedClass */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/TwoJars.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/TwoJars.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/TwoJars.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/TwoJars.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar * @build PatchMain - * @run main TwoJars + * @run driver TwoJars */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/BootAppendTests.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/BootAppendTests.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/BootAppendTests.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/BootAppendTests.java 2024-04-08 05:38:38.000000000 +0000 @@ -35,7 +35,7 @@ * @compile src/com/sun/tools/javac/MyMain.jasm * @compile src/sun/nio/cs/ext/MyClass.java * @compile src/sun/nio/cs/ext1/MyClass.java - * @run main BootAppendTests + * @run driver BootAppendTests */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/ClassPathTests.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/ClassPathTests.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/ClassPathTests.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/ClassPathTests.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @compile src/com/sun/tools/javac/Main.jasm * @compile src/com/sun/tools/javac/MyMain.jasm * @compile ../../../SharedArchiveFile/javax/annotation/processing/FilerException.jasm - * @run main ClassPathTests + * @run driver ClassPathTests * @summary AppCDS tests for testing classpath/package conflicts */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,7 +34,7 @@ * @compile ../../../SharedArchiveFile/javax/annotation/processing/FilerException.jasm * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main DummyClassesInBootClassPath + * @run driver DummyClassesInBootClassPath */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java 2024-04-08 05:38:38.000000000 +0000 @@ -37,7 +37,7 @@ * jdk.internal.jvmstat/sun.jvmstat.monitor * @compile ../../test-classes/EmptyClassHelper.java * @compile ../../test-classes/com/sun/tools/javac/Main.jasm - * @run main EmptyClassInBootClassPath + * @run driver EmptyClassInBootClassPath */ import java.io.File; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddModules.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddModules.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddModules.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddModules.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules jdk.compiler * jdk.jartool/sun.tools.jar * jdk.jlink - * @run main AddModules + * @run driver AddModules * @summary sanity test the --add-modules option */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddOpens.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddOpens.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddOpens.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddOpens.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules jdk.compiler * jdk.jartool/sun.tools.jar * jdk.jlink - * @run main AddOpens + * @run driver AddOpens * @summary sanity test the --add-opens option */ @@ -86,7 +86,6 @@ // the class in the modular jar in the -cp won't be archived. OutputAnalyzer output = TestCommon.createArchive( destJar.toString(), appClasses, - "-Xlog:class+load=trace", "--module-path", moduleDir.toString(), "-m", TEST_MODULE1); TestCommon.checkDump(output); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules jdk.compiler * jdk.jartool/sun.tools.jar * jdk.jlink - * @run main AddReads + * @run driver AddReads * @summary sanity test the --add-reads option */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules jdk.compiler * jdk.jartool/sun.tools.jar * jdk.jlink - * @run main ExportModule + * @run driver ExportModule * @summary Tests involve exporting a module from the module path to a jar in the -cp. */ @@ -117,7 +117,6 @@ // the module in the --module-path OutputAnalyzer output = TestCommon.createArchive( appJar.toString(), appClasses, - "-Xlog:class+load=trace", "--module-path", moduleDir.toString(), "--add-modules", TEST_MODULE2, MAIN_CLASS); TestCommon.checkDump(output); @@ -141,7 +140,6 @@ // unnmaed. output = TestCommon.createArchive( appJar2.toString(), appClasses2, - "-Xlog:class+load=trace", "--module-path", moduleDir.toString(), "--add-modules", TEST_MODULE2, "--add-exports", "org.astro/org.astro=ALL-UNNAMED", diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox * @compile ../../test-classes/JvmtiApp.java - * @run main JvmtiAddPath + * @run driver JvmtiAddPath */ import java.io.File; @@ -113,7 +113,6 @@ appJar, TestCommon.list("JvmtiApp", "ExtraClass", MAIN_CLASS), use_whitebox_jar, - "-Xlog:class+load=trace", modulePath); TestCommon.checkDump(output); @@ -143,7 +142,6 @@ output = TestCommon.createArchive( appJar, TestCommon.list("JvmtiApp", "ExtraClass"), use_whitebox_jar, - "-Xlog:class+load=trace", modulePath); TestCommon.checkDump(output); run(twoAppJars, modulePath, diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules jdk.compiler * jdk.jartool/sun.tools.jar * jdk.jlink - * @run main MainModuleOnly + * @run driver MainModuleOnly * @summary Test some scenarios with a main modular jar specified in the --module-path and -cp options in the command line. */ @@ -89,7 +89,6 @@ // the class in the modular jar in the -cp won't be archived. OutputAnalyzer output = TestCommon.createArchive( destJar.toString(), appClasses, - "-Xlog:class+load=trace", "--module-path", moduleDir.toString(), "-m", TEST_MODULE1); TestCommon.checkDump(output); @@ -168,8 +167,7 @@ // run with the archive and the jar with modified timestamp. // It should fail due to timestamp of the jar doesn't match the one // used during dump time. - TestCommon.run("-Xlog:class+load=trace", - "-cp", destJar.toString(), + TestCommon.run("-cp", destJar.toString(), "--module-path", moduleDir.toString(), "-m", TEST_MODULE1) .assertAbnormalExit( diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @modules jdk.compiler * jdk.jartool/sun.tools.jar * jdk.jlink - * @run main ModulePathAndCP + * @run driver ModulePathAndCP * @summary 2 sets of tests: one with only --module-path in the command line; * another with both -cp and --module-path in the command line. */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/OverrideTests.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/OverrideTests.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/OverrideTests.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/OverrideTests.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,7 +28,7 @@ * @modules java.base/jdk.internal.misc * @library ../.. * @library /test/lib - * @run main OverrideTests + * @run driver OverrideTests * @summary AppCDS tests for overriding archived classes with -p and --upgrade-module-path */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jvmti/parallelLoad/ParallelLoadAndTransformTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jvmti/parallelLoad/ParallelLoadAndTransformTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jvmti/parallelLoad/ParallelLoadAndTransformTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jvmti/parallelLoad/ParallelLoadAndTransformTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,7 +36,7 @@ * jdk.jartool/sun.tools.jar * java.instrument * @build TransformUtil TransformerAgent ParallelLoad - * @run main ParallelLoadAndTransformTest + * @run driver ParallelLoadAndTransformTest */ import java.util.List; import java.util.stream.Collectors; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformRelatedClassesAppCDS.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformRelatedClassesAppCDS.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformRelatedClassesAppCDS.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformRelatedClassesAppCDS.java 2024-04-08 05:38:38.000000000 +0000 @@ -188,7 +188,6 @@ TestCommon.run("-Xlog:class+load=info", "-cp", appJar, - "--add-opens=java.base/java.security=ALL-UNNAMED", agentParam, "CustomLoaderApp", customJar, loaderType, child) diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasicTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasicTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasicTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasicTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,9 +33,9 @@ * jdk.jartool/sun.tools.jar * java.base/jdk.internal.misc * java.management - * @run main RedefineClassHelper + * @run driver RedefineClassHelper * @build sun.hotspot.WhiteBox RedefineBasic - * @run main RedefineBasicTest + * @run driver RedefineBasicTest */ import jdk.test.lib.process.OutputAnalyzer; @@ -63,7 +63,7 @@ OutputAnalyzer output; TestCommon.testDump(appJar, sharedClasses, useWb); - // redefineagent.jar is created by executing "@run main RedefineClassHelper" + // redefineagent.jar is created by executing "@run driver RedefineClassHelper" // which should be called before executing RedefineBasicTest output = TestCommon.exec(appJar, useWb, "-XX:+UnlockDiagnosticVMOptions", diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_Shared.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_Shared.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_Shared.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_Shared.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,9 +32,9 @@ * @modules java.compiler * java.instrument * jdk.jartool/sun.tools.jar - * @run main RedefineClassHelper + * @run driver RedefineClassHelper * @build sun.hotspot.WhiteBox RedefineRunningMethods_SharedHelper - * @run main RedefineRunningMethods_Shared + * @run driver RedefineRunningMethods_Shared */ import jdk.test.lib.process.OutputAnalyzer; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/ExerciseGC.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/ExerciseGC.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/ExerciseGC.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/ExerciseGC.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @build HelloStringGC sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main ExerciseGC + * @run driver ExerciseGC * @run main/othervm -XX:+UseStringDeduplication ExerciseGC * @run main/othervm -XX:-CompactStrings ExerciseGC */ @@ -41,7 +41,7 @@ SharedStringsUtils.buildJarAndWhiteBox("HelloStringGC"); SharedStringsUtils.dumpWithWhiteBox(TestCommon.list("HelloStringGC"), - "SharedStringsBasic.txt"); + "SharedStringsBasic.txt", "-Xlog:cds,cds+hashtables"); SharedStringsUtils.runWithArchiveAndWhiteBox("HelloStringGC", "-XX:+UnlockDiagnosticVMOptions", "-XX:+VerifyBeforeGC"); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @modules java.management * jdk.jartool/sun.tools.jar * @build HelloString - * @run main FlagCombo + * @run driver FlagCombo */ /** @@ -44,7 +44,7 @@ * @modules java.management * jdk.jartool/sun.tools.jar * @build HelloString - * @run main FlagCombo noJfr + * @run driver FlagCombo noJfr */ import jdk.test.lib.BuildHelper; @@ -55,7 +55,7 @@ SharedStringsUtils.buildJar("HelloString"); SharedStringsUtils.dump(TestCommon.list("HelloString"), - "SharedStringsBasic.txt"); + "SharedStringsBasic.txt", "-Xlog:cds,cds+hashtables"); SharedStringsUtils.runWithArchive("HelloString", "-XX:+UseG1GC"); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java 2024-04-08 05:38:38.000000000 +0000 @@ -120,6 +120,7 @@ "-XX:+UseCompressedOops", collectorOption, "-XX:SharedArchiveConfigFile=" + TestCommon.getSourceFile("SharedStringsBasic.txt"), + "-Xlog:cds,cds+hashtables", extraOption); if (expectedWarning != null) diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/InternSharedString.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/InternSharedString.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/InternSharedString.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/InternSharedString.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * @compile InternStringTest.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main InternSharedString + * @run driver InternSharedString * @run main/othervm -XX:+UseStringDeduplication InternSharedString * @run main/othervm -XX:-CompactStrings InternSharedString */ @@ -43,7 +43,7 @@ SharedStringsUtils.buildJarAndWhiteBox("InternStringTest"); SharedStringsUtils.dumpWithWhiteBox(TestCommon.list("InternStringTest"), - "ExtraSharedInput.txt"); + "ExtraSharedInput.txt", "-Xlog:cds,cds+hashtables"); String[] extraMatches = new String[] { InternStringTest.passed_output1, diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/InvalidFileFormat.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/InvalidFileFormat.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/InvalidFileFormat.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/InvalidFileFormat.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @modules java.management * jdk.jartool/sun.tools.jar * @build HelloString - * @run main InvalidFileFormat + * @run driver InvalidFileFormat * @run main/othervm -XX:+UseStringDeduplication InvalidFileFormat * @run main/othervm -XX:-CompactStrings InvalidFileFormat */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/LargePages.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/LargePages.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/LargePages.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/LargePages.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,20 +31,21 @@ * @modules java.management * jdk.jartool/sun.tools.jar * @build HelloString - * @run main LargePages + * @run driver LargePages * @run main/othervm -XX:+UseStringDeduplication LargePages * @run main/othervm -XX:-CompactStrings LargePages */ public class LargePages { + static final String CDS_LOGGING = "-Xlog:cds,cds+hashtables"; public static void main(String[] args) throws Exception { SharedStringsUtils.buildJar("HelloString"); SharedStringsUtils.dump(TestCommon.list("HelloString"), - "SharedStringsBasic.txt", "-XX:+UseLargePages"); + "SharedStringsBasic.txt", "-XX:+UseLargePages", CDS_LOGGING); SharedStringsUtils.runWithArchive("HelloString", "-XX:+UseLargePages"); SharedStringsUtils.dump(TestCommon.list("HelloString"), - "SharedStringsBasic.txt", + "SharedStringsBasic.txt", CDS_LOGGING, "-XX:+UseLargePages", "-XX:+UseLargePagesInMetaspace"); SharedStringsUtils.runWithArchive("HelloString", "-XX:+UseLargePages", "-XX:+UseLargePagesInMetaspace"); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/LockSharedStrings.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/LockSharedStrings.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/LockSharedStrings.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/LockSharedStrings.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,7 +33,7 @@ * @compile LockStringTest.java LockStringValueTest.java * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main LockSharedStrings + * @run driver LockSharedStrings * @run main/othervm -XX:+UseStringDeduplication LockSharedStrings * @run main/othervm -XX:-CompactStrings LockSharedStrings */ @@ -44,7 +44,7 @@ SharedStringsUtils.dumpWithWhiteBox( TestCommon.list("LockStringTest", "LockStringValueTest"), - "ExtraSharedInput.txt"); + "ExtraSharedInput.txt", "-Xlog:cds,cds+hashtables"); String[] extraMatch = new String[] {"LockStringTest: PASS"}; SharedStringsUtils.runWithArchiveAndWhiteBox(extraMatch, "LockStringTest"); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @modules java.management * jdk.jartool/sun.tools.jar * @build HelloString - * @run main SharedStringsBasic + * @run driver SharedStringsBasic * @run main/othervm -XX:+UseStringDeduplication SharedStringsBasic * @run main/othervm -XX:-CompactStrings SharedStringsBasic */ @@ -49,24 +49,22 @@ TestCommon.getSourceFile("SharedStringsBasic.txt").toString(); ProcessBuilder dumpPb = ProcessTools.createTestJvm( - TestCommon.makeCommandLineForAppCDS( "-cp", appJar, "-XX:SharedArchiveConfigFile=" + sharedArchiveConfigFile, "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", "-Xshare:dump", - "-Xlog:cds,cds+hashtables")); + "-Xlog:cds,cds+hashtables"); TestCommon.executeAndLog(dumpPb, "dump") .shouldContain("Shared string table stats") .shouldHaveExitValue(0); ProcessBuilder runPb = ProcessTools.createTestJvm( - TestCommon.makeCommandLineForAppCDS( "-cp", appJar, "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", "-Xshare:auto", "-showversion", - "HelloString")); + "HelloString"); TestCommon.executeAndLog(runPb, "run").shouldHaveExitValue(0); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasicPlus.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasicPlus.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasicPlus.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasicPlus.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @build HelloStringPlus sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main SharedStringsBasicPlus + * @run driver SharedStringsBasicPlus * @run main/othervm -XX:+UseStringDeduplication SharedStringsBasicPlus * @run main/othervm -XX:-CompactStrings SharedStringsBasicPlus */ @@ -42,7 +42,7 @@ SharedStringsUtils.buildJarAndWhiteBox("HelloStringPlus"); SharedStringsUtils.dumpWithWhiteBox( TestCommon.list("HelloStringPlus"), - "SharedStringsBasic.txt"); + "SharedStringsBasic.txt", "-Xlog:cds,cds+hashtables"); SharedStringsUtils.runWithArchiveAndWhiteBox("HelloStringPlus"); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @library /test/hotspot/jtreg/runtime/appcds /test/lib * @modules jdk.jartool/sun.tools.jar * @build HelloString - * @run main SharedStringsStress + * @run driver SharedStringsStress * @run main/othervm -XX:+UseStringDeduplication SharedStringsStress * @run main/othervm -XX:-CompactStrings SharedStringsStress */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWbTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWbTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWbTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWbTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ * jdk.jartool/sun.tools.jar * @build sun.hotspot.WhiteBox SharedStringsWb * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main SharedStringsWbTest + * @run driver SharedStringsWbTest * @run main/othervm -XX:+UseStringDeduplication SharedStringsWbTest * @run main/othervm -XX:-CompactStrings SharedStringsWbTest */ @@ -45,7 +45,7 @@ SharedStringsUtils.buildJarAndWhiteBox("SharedStringsWb"); SharedStringsUtils.dumpWithWhiteBox(TestCommon.list("SharedStringsWb"), - "SharedStringsBasic.txt"); + "SharedStringsBasic.txt", "-Xlog:cds,cds+hashtables"); SharedStringsUtils.runWithArchiveAndWhiteBox("SharedStringsWb"); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * @library /test/lib /test/hotspot/jtreg/runtime/appcds * @modules java.base/jdk.internal.misc * @modules java.management - * @run main SysDictCrash + * @run driver SysDictCrash * @run main/othervm -XX:+UseStringDeduplication SysDictCrash * @run main/othervm -XX:-CompactStrings SysDictCrash */ @@ -44,21 +44,19 @@ // SharedBaseAddress=0 puts the archive at a very high address on solaris, // which provokes the crash. ProcessBuilder dumpPb = ProcessTools.createTestJvm( - TestCommon.makeCommandLineForAppCDS( "-XX:+UseG1GC", "-XX:MaxRAMPercentage=12.5", "-cp", ".", "-XX:SharedBaseAddress=0", "-XX:SharedArchiveFile=./SysDictCrash.jsa", "-Xshare:dump", - "-showversion", "-Xlog:cds,cds+hashtables")); + "-showversion", "-Xlog:cds,cds+hashtables"); TestCommon.checkDump(TestCommon.executeAndLog(dumpPb, "dump")); ProcessBuilder runPb = ProcessTools.createTestJvm( - TestCommon.makeCommandLineForAppCDS( "-XX:+UseG1GC", "-XX:MaxRAMPercentage=12.5", "-XX:SharedArchiveFile=./SysDictCrash.jsa", "-Xshare:on", - "-version")); + "-version"); TestCommon.checkExec(TestCommon.executeAndLog(runPb, "exec")); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/classFileParserBug/ClassFileParserBug.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/classFileParserBug/ClassFileParserBug.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/classFileParserBug/ClassFileParserBug.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/classFileParserBug/ClassFileParserBug.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ * @bug 8040018 * @library /test/lib * @summary Check for exception instead of assert. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * java.management * @run main ClassFileParserBug diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ * @bug 8041918 * @library /test/lib * @summary Test empty bootstrap_methods table within BootstrapMethods attribute + * @requires vm.flagless * @modules java.base/jdk.internal.misc * java.management * @compile TestEmptyBootstrapMethodsAttr.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/duplAttributes/DuplAttributesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/duplAttributes/DuplAttributesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/duplAttributes/DuplAttributesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/duplAttributes/DuplAttributesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -44,6 +44,7 @@ "-cp", testsrc + File.separator + "test.jar", test); OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldContain("java.lang.ClassFormatError: Multiple " + result); + output.shouldNotHaveExitValue(0); } public static void main(String args[]) throws Throwable { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jni/abstractMethod/AbstractMethodClass.jasm openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/AbstractMethodClass.jasm --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jni/abstractMethod/AbstractMethodClass.jasm 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/AbstractMethodClass.jasm 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ +/* + * This is a non-abstract class with an abstract method. + * + */ +super public class AbstractMethodClass + extends java/lang/Object + version 51:0 // Java 7 version +{ + + public Method "":"()V" + stack 1 locals 1 + { + aload_0; + invokespecial Method java/lang/Object."":"()V"; + return; + } + + public abstract Method "abstractM":"()V"; + +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jni/abstractMethod/TestJNIAbstractMethod.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/TestJNIAbstractMethod.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jni/abstractMethod/TestJNIAbstractMethod.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/TestJNIAbstractMethod.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +/* + * @test + * @bug 8323243 + * @summary Test that invocation of an abstract method from JNI works correctly + * @compile AbstractMethodClass.jasm + * @run main/othervm/native TestJNIAbstractMethod + */ + +/** + * We are testing invocation of an abstract method from JNI - which should + * simply result in throwning AbstractMethodError. To invoke an abstract method + * we must have an instance method (as abstract static methods are illegal), + * but instantiating an abstract class is also illegal at the Java language + * level, so we have to use a custom jasm class that contains an abstract method + * declaration, but which is not itself declared as an abstract class. + */ +public class TestJNIAbstractMethod { + + // Invokes an abstract method from JNI and throws AbstractMethodError. + private static native void invokeAbstractM(Class AMclass, + AbstractMethodClass receiver); + + static { + System.loadLibrary("JNIAbstractMethod"); + } + + public static void main(String[] args) { + AbstractMethodClass obj = new AbstractMethodClass(); + try { + System.out.println("Attempting direct invocation via Java"); + obj.abstractM(); + throw new RuntimeException("Did not get AbstractMethodError from Java!"); + } catch (AbstractMethodError expected) { + System.out.println("ok - got expected exception: " + expected); + } + try { + System.out.println("Attempting direct invocation via JNI"); + invokeAbstractM(obj.getClass(), obj); + throw new RuntimeException("Did not get AbstractMethodError from JNI!"); + } catch (AbstractMethodError expected) { + System.out.println("ok - got expected exception: " + expected); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jni/abstractMethod/libJNIAbstractMethod.c openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/libJNIAbstractMethod.c --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jni/abstractMethod/libJNIAbstractMethod.c 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jni/abstractMethod/libJNIAbstractMethod.c 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ +#include +#include +#include + +JNIEXPORT void JNICALL Java_TestJNIAbstractMethod_invokeAbstractM(JNIEnv* env, + jclass this_cls, + jclass target_cls, + jobject receiver) { + + jmethodID mid = (*env)->GetMethodID(env, target_cls, "abstractM", "()V"); + if (mid == NULL) { + fprintf(stderr, "Error looking up method abstractM\n"); + (*env)->ExceptionDescribe(env); + exit(1); + } + + printf("Invoking abstract method ...\n"); + (*env)->CallVoidMethod(env, receiver, mid); // Should raise exception + +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jsig/Testjsig.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jsig/Testjsig.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/jsig/Testjsig.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/jsig/Testjsig.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -53,6 +53,7 @@ // Start the process and check the output OutputAnalyzer output = new OutputAnalyzer(pb.start()); + output.shouldHaveExitValue(0); output.shouldContain("old handler"); } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ /* * @test ClassInitializationTest * @bug 8142976 + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile BadMap50.jasm diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,7 +25,7 @@ /* * @test ClassLoadUnloadTest * @bug 8142506 - * @requires vm.opt.final.ClassUnloading + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib /runtime/testlibrary * @library classes @@ -76,6 +76,7 @@ Collections.addAll(argsList, args); Collections.addAll(argsList, "-Xmn8m"); Collections.addAll(argsList, "-Dtest.class.path=" + System.getProperty("test.class.path", ".")); + Collections.addAll(argsList, "-XX:+ClassUnloading"); Collections.addAll(argsList, ClassUnloadTestMain.class.getName()); return ProcessTools.createJavaProcessBuilder(argsList); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ClassResolutionTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassResolutionTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ClassResolutionTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ClassResolutionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ /* * @test ClassResolutionTest * @bug 8144874 + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @run driver ClassResolutionTest diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,7 +24,8 @@ /* * @test * @bug 8149991 - * @requires vm.bits == 64 & vm.opt.final.UseCompressedOops == true + * @requires vm.bits == 64 + * @requires vm.flagless * @summary -Xlog:gc+heap+coops=info should have output from the code * @library /test/lib * @modules java.base/jdk.internal.misc diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/DefaultMethodsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/DefaultMethodsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/DefaultMethodsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/DefaultMethodsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8139564 8203960 * @summary defaultmethods=debug should have logging from each of the statements in the code + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ExceptionsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ExceptionsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ExceptionsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ExceptionsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8141211 8147477 * @summary exceptions=info output should have an exception message for interpreter methods + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ItablesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ItablesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ItablesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ItablesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ * @bug 8141564 * @summary itables=trace should have logging from each of the statements * in the code + * @requires vm.flagless * @library /test/lib * @compile ClassB.java * ItablesVtableTest.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/LoaderConstraintsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/LoaderConstraintsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/LoaderConstraintsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/LoaderConstraintsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ /* * @test LoaderConstraintsTest * @bug 8149996 + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib /runtime/testlibrary classes * @run driver LoaderConstraintsTest diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ModulesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ModulesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ModulesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ModulesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,6 +24,7 @@ /* * @test * @summary -Xlog:module should emit logging output + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8133885 * @summary monitorinflation=debug should have logging from each of the statements in the code + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/MonitorMismatchTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/MonitorMismatchTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/MonitorMismatchTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/MonitorMismatchTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ /* * @test MonitorMismatchTest * @bug 8150084 + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile MonitorMismatchHelper.jasm diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/OsCpuLoggingTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/OsCpuLoggingTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/OsCpuLoggingTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/OsCpuLoggingTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8151939 * @summary os+cpu output should contain some os,cpu information + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,6 +24,7 @@ /* * @test ProtectionDomainVerificationTest * @bug 8149064 + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @run driver ProtectionDomainVerificationTest diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/SafepointCleanupTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/SafepointCleanupTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/SafepointCleanupTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/SafepointCleanupTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8149991 * @summary safepoint+cleanup=info should have output from the code + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/SafepointTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/SafepointTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/SafepointTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/SafepointTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8140348 * @summary safepoint=trace should have output from each log statement in the code + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/StackWalkTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/StackWalkTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/StackWalkTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/StackWalkTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ * @test StackWalkTest * @bug 8160064 * @summary -Xlog:stackwalk should produce logging from the source code + * @requires vm.flagless * @library /test/lib * @run driver StackWalkTest */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/StartupTimeTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/StartupTimeTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/StartupTimeTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/StartupTimeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8148630 * @summary -Xlog:startuptime should produce logging from the source code + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ThreadLoggingTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ThreadLoggingTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/ThreadLoggingTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/ThreadLoggingTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ * @test * @bug 8149036 8150619 * @summary os+thread output should contain logging calls for thread start stop attaches detaches + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/VMOperationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VMOperationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/VMOperationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VMOperationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8143157 * @summary vmoperation=debug should have logging output + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/VerificationTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VerificationTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/VerificationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VerificationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8150083 * @summary verification=info output should have output from the code + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/VtablesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VtablesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/logging/VtablesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/logging/VtablesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ * @bug 8141564 * @summary vtables=trace should have logging from each of the statements in the code * @library /test/lib + * @requires vm.flagless * @compile ClassB.java * p1/A.java * p2/B.jcod diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ClassLoaderNoUnnamedModuleTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ClassLoaderNoUnnamedModuleTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ClassLoaderNoUnnamedModuleTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ClassLoaderNoUnnamedModuleTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @bug 8202758 * @summary Ensure that if the JVM encounters a ClassLoader whose unnamedModule field is not set an InternalError results. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile ClassLoaderNoUnnamedModule.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/IgnoreModulePropertiesTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/IgnoreModulePropertiesTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/IgnoreModulePropertiesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/IgnoreModulePropertiesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @bug 8136930 * @summary Test that the VM ignores explicitly specified module internal properties. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleOptionsTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleOptionsTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleOptionsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleOptionsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ * @bug 8136930 * @summary Test that the VM only recognizes the last specified --list-modules * options but accumulates --add-module values. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @run driver ModuleOptionsTest diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleOptionsWarn.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleOptionsWarn.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleOptionsWarn.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleOptionsWarn.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8162415 * @summary Test warnings for ignored properties. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleStress/ExportModuleStressTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ExportModuleStressTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleStress/ExportModuleStressTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ExportModuleStressTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ * @test * @bug 8156871 * @summary package in the boot layer is repeatedly exported to unique module created in layers on top of the boot layer + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile ../CompilerUtils.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStress.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStress.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStress.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStress.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @bug 8159262 * @summary Test differing scenarios where a module's readability list and a package's exportability list should be walked + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile ../AccessCheck/ModuleLibrary.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStressGC.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStressGC.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStressGC.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/ModuleStress/ModuleStressGC.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @bug 8159262 * @summary layers over the boot layer are repeatedly created, during this iteration, GCs are forced to verify correct walk of module and package lists. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile ../CompilerUtils.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModule2Dirs.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModule2Dirs.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModule2Dirs.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModule2Dirs.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,6 +24,7 @@ /* * @test * @summary Make sure --patch-module works with multiple directories. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile PatchModule2DirsMain.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleCDS.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleCDS.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleCDS.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleCDS.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @requires vm.cds * @summary test that --patch-module works with CDS + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupJavaBase.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupJavaBase.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupJavaBase.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupJavaBase.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,6 +24,7 @@ /* * @test * @summary VM exit initialization results if java.base is specificed more than once to --patch-module. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupModule.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupModule.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupModule.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleDupModule.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,6 +24,7 @@ /* * @test * @summary Module system initialization exception results if a module is specificed twice to --patch-module. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleJavaBase.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleJavaBase.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleJavaBase.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleJavaBase.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @bug 8130399 * @summary Make sure --patch-module works for java.base. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile PatchModuleMain.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @bug 8130399 * @summary Make sure --patch-module works for modules besides java.base. + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile PatchModuleMain.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJar.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJar.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJar.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJar.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,6 +24,7 @@ /* * @test * @summary Make sure --patch-module works when a jar file is specified for a module + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJarDir.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJarDir.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJarDir.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTestJarDir.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,6 +24,7 @@ /* * @test * @summary Make sure --patch-module works when a jar file and a directory is specified for a module + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * jdk.jartool/sun.tools.jar diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTraceCL.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTraceCL.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTraceCL.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleTraceCL.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ * @bug 8069469 * @summary Make sure -Xlog:class+load=info works properly with "modules" jimage, --patch-module, and with -Xbootclasspath/a + * @requires vm.flagless * @modules java.base/jdk.internal.misc * @library /test/lib * @compile PatchModuleMain.java diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/Visibility/PatchModuleVisibility.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/PatchModuleVisibility.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/Visibility/PatchModuleVisibility.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/PatchModuleVisibility.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ * @summary Ensure that a newly introduced java.base package placed within the --patch-module * directory is considered part of the boot loader's visibility boundary * @requires !(os.family == "windows") + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpNoVisibility.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpNoVisibility.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpNoVisibility.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpNoVisibility.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,7 @@ * @test * @summary Ensure that a class defined within a java.base package can not * be located via -Xbootclasspath/a + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpVisibility.java openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpVisibility.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpVisibility.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/runtime/modules/Visibility/XbootcpVisibility.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,6 +26,7 @@ * @summary Ensure that a package whose module has not been defined to the boot loader * is correctly located with -Xbootclasspath/a * @requires !(os.family == "windows") + * @requires vm.flagless * @library /test/lib * @modules java.base/jdk.internal.misc * java.management diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/GetStackTraceAndRetransformTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/GetStackTraceAndRetransformTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/GetStackTraceAndRetransformTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/GetStackTraceAndRetransformTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2023, Datadog, Inc. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8313816 + * @summary Test that a sequence of method retransformation and stacktrace capture while the old method + * version is still on stack does not lead to a crash when that method's jmethodID is used as + * an argument for JVMTI functions. + * @library /test/lib + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller -jar whitebox.jar sun.hotspot.WhiteBox sun.hotspot.WhiteBox$WhiteBoxPermission + * @modules java.base/jdk.internal.misc + * @modules java.compiler + * java.instrument + * jdk.jartool/sun.tools.jar + * @run main RedefineClassHelper + * @run main/othervm/native -Xbootclasspath/a:./whitebox.jar -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -javaagent:redefineagent.jar -agentlib:GetStackTraceAndRetransformTest GetStackTraceAndRetransformTest + */ + +import sun.hotspot.WhiteBox; + +class Transformable { + static final String newClass = + "class Transformable {\n" + + " static final String newClass = \"\";\n" + + " static void redefineAndStacktrace() throws Exception {}\n" + + " static void stacktrace() throws Exception {\n" + + " capture(Thread.currentThread());\n" + + " }\n" + + " public static native void capture(Thread thread);\n" + + "}"; + + static void redefineAndStacktrace() throws Exception { + // This call will cause the class to be retransformed. + // However, this method is still on stack so the subsequent attempt to capture the stacktrace + // will result into this frame being identified by the jmethodID of the previous method version. + RedefineClassHelper.redefineClass(Transformable.class, newClass); + capture(Thread.currentThread()); + } + + static void stacktrace() throws Exception { + } + + public static native void capture(Thread thread); +} + +public class GetStackTraceAndRetransformTest { + public static void main(String args[]) throws Throwable { + initialize(Transformable.class); + + Transformable.redefineAndStacktrace(); + Transformable.stacktrace(); + + WhiteBox.getWhiteBox().cleanMetaspaces(); + check(2); + } + + public static native void initialize(Class target); + public static native void check(int expected); +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/libGetStackTraceAndRetransformTest.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/libGetStackTraceAndRetransformTest.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/libGetStackTraceAndRetransformTest.cpp 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceAndRetransformTest/libGetStackTraceAndRetransformTest.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2023, Datadog, Inc. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#include +#include +#include "jvmti.h" +#include "jvmti_common.h" +#include "../get_stack_trace.h" + + +extern "C" { + +static jvmtiEnv *jvmti = NULL; +static jmethodID* ids = NULL; +static int ids_size = 0; + +JNIEXPORT jint JNICALL +Agent_OnLoad(JavaVM *jvm, char *options, void *reserved) { + jint res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1); + if (res != JNI_OK || jvmti == NULL) { + printf("Wrong result of a valid call to GetEnv!\n"); + return JNI_ERR; + } + ids = (jmethodID*)malloc(sizeof(jmethodID) * 10); + return JNI_OK; +} + +JNIEXPORT void JNICALL +Java_GetStackTraceAndRetransformTest_initialize(JNIEnv *env, jclass cls, jclass tgt) { + // we need to force jmethodids to be created for the methods we are going to retransform + env->GetStaticMethodID(tgt, "redefineAndStacktrace", "()V"); + env->GetStaticMethodID(tgt, "stacktrace", "()V"); +} + +JNIEXPORT void JNICALL +Java_Transformable_capture(JNIEnv *env, jclass cls, jthread thread) { + jint count; + const int MAX_NUMBER_OF_FRAMES = 32; + jvmtiFrameInfo frames[MAX_NUMBER_OF_FRAMES]; + + jvmtiError err = jvmti->GetStackTrace(thread, 0, MAX_NUMBER_OF_FRAMES, frames, &count); + check_jvmti_status(env, err, "GetStackTrace failed."); + + ids[ids_size++] = frames[1].method; +} + +JNIEXPORT void JNICALL +Java_GetStackTraceAndRetransformTest_check(JNIEnv *jni, jclass cls, jint expected) { + if (ids_size != expected) { + fprintf(stderr, "Unexpected number methods captured: %d (expected %d)\n", ids_size, expected); + exit(2); + } + for (int i = 0; i < ids_size; i++) { + jclass rslt = NULL; + char* class_name = NULL; + jvmti->GetMethodDeclaringClass(ids[i], &rslt); + if (rslt != NULL) { + jvmti->GetClassSignature(rslt, &class_name, NULL); + } + } +} +} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/get_stack_trace.h openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/get_stack_trace.h --- openjdk-11-11.0.22+7/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/get_stack_trace.h 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/get_stack_trace.h 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#ifndef GET_STACK_TRACE_H +#define GET_STACK_TRACE_H +#include "jvmti.h" + +typedef struct { + const char *cls; + const char *name; + const char *sig; +} frame_info; + + +int compare_stack_trace(jvmtiEnv *jvmti, JNIEnv *jni, jthread thread, + frame_info expected_frames[], int expected_frames_length, int offset = 0) { + int result = JNI_TRUE; + char *class_signature, *name, *sig, *generic; + jint count; + const int MAX_NUMBER_OF_FRAMES = 32; + jvmtiFrameInfo frames[MAX_NUMBER_OF_FRAMES]; + jclass caller_class; + + printf("Calling compare_stack_trace for: \n"); + print_stack_trace(jvmti, jni, thread); + + jvmtiError err = jvmti->GetStackTrace(thread, 0, MAX_NUMBER_OF_FRAMES, frames, &count); + check_jvmti_status(jni, err, "GetStackTrace failed."); + + printf("Number of frames: %d, expected: %d\n", count, expected_frames_length - offset); + + + if (count < expected_frames_length - offset) { + printf("Number of expected_frames: %d is less then expected: %d\n", count, expected_frames_length); + result = JNI_FALSE; + } + for (int i = 0; i < count - offset; i++) { + int idx = count - 1 - i; + printf(">>> checking frame#%d ...\n", idx); + check_jvmti_status(jni, jvmti->GetMethodDeclaringClass(frames[count - 1 - i].method, &caller_class), + "GetMethodDeclaringClass failed."); + check_jvmti_status(jni, jvmti->GetClassSignature(caller_class, &class_signature, &generic), + "GetClassSignature"); + check_jvmti_status(jni, jvmti->GetMethodName(frames[count - 1 - i].method, &name, &sig, &generic), + "GetMethodName"); + + printf(">>> class: \"%s\"\n", class_signature); + printf(">>> method: \"%s%s\"\n", name, sig); + printf(">>> %d ... done\n", i); + + int exp_idx = expected_frames_length - 1 - i; + printf("expected idx %d\n", exp_idx); + fflush(0); + if (i < expected_frames_length) { + + // for generated classes don't compare lambda indicies + // Example: {"Ljava/lang/VirtualThread$VThreadContinuation$$Lambda.0x0000000800098340;" + size_t lambda_idx = strlen(expected_frames[exp_idx].cls); + const char *lambda = strstr(expected_frames[exp_idx].cls, "$$Lambda"); + if (lambda != NULL) { + lambda_idx = lambda - expected_frames[exp_idx].cls; + printf("Comparing only first %zu chars in classname.\n", lambda_idx); + } + if (class_signature == NULL || strncmp(class_signature, expected_frames[exp_idx].cls, lambda_idx) != 0) { + printf("(frame#%d) wrong class sig: \"%s\", expected: \"%s\"\n", + exp_idx, class_signature, expected_frames[exp_idx].cls); + result = JNI_FALSE; + } + + if (name == NULL || strcmp(name, expected_frames[exp_idx].name) != 0) { + printf("(frame#%d) wrong method name: \"%s\", expected: \"%s\"\n", + exp_idx, name, expected_frames[exp_idx].name); + result = JNI_FALSE; + } + if (sig == NULL || strcmp(sig, expected_frames[exp_idx].sig) != 0) { + printf("(frame#%d) wrong method sig: \"%s\", expected: \"%s\"\n", + exp_idx, sig, expected_frames[exp_idx].sig); + result = JNI_FALSE; + } + } + } + return result; +} + + +#endif //GET_STACK_TRACE_H diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java openjdk-11-11.0.23+9/test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java 2024-04-08 05:38:38.000000000 +0000 @@ -272,6 +272,7 @@ "--add-exports", "java.base/jdk.internal.jimage=ALL-UNNAMED", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED", "--add-exports", "java.base/jdk.internal.reflect=ALL-UNNAMED", + "--add-exports", "java.base/jdk.internal.access=ALL-UNNAMED", // enable diagnostic logging "-XX:+LogCompilation", // use phase specific log, hs_err and ciReplay files diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/LockerTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/LockerTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/LockerTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/LockerTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,9 +22,10 @@ */ package gc.lock; +import sun.hotspot.WhiteBox; import nsk.share.runner.*; import nsk.share.gc.*; -import nsk.share.gc.gp.*; +import nsk.share.gc.gp.GarbageUtils; import nsk.share.gc.lock.*; import nsk.share.test.ExecutionController; @@ -33,26 +34,30 @@ * * A number of threads is started. Each one locks and eats memory. */ -public class LockerTest extends ThreadedGCTest implements GarbageProducerAware, GarbageProducer1Aware, LockersAware { +public class LockerTest extends ThreadedGCTest implements LockersAware { - private GarbageProducer garbageProducer; - private GarbageProducer garbageProducer1; private Lockers lockers; private long objectSize = 1000; private class Worker implements Runnable { - byte[] rezerve = new byte[1024 * 1024]; - private Locker locker = lockers.createLocker(garbageProducer1.create(objectSize)); + byte[] rezerve = new byte[1024]; + private Locker locker = lockers.createLocker(rezerve); public Worker() { locker.enable(); } public void run() { - locker.lock(); - GarbageUtils.eatMemory(getExecutionController(), garbageProducer); - locker.unlock(); + ExecutionController stresser = getExecutionController(); + // Use only 30% of the heap. + final long testMemorySize = 3 * Runtime.getRuntime().maxMemory() / 10; + + while (stresser.continueExecution()) { + locker.lock(); + GarbageUtils.engageGC(testMemorySize); + locker.unlock(); + } } } @@ -60,14 +65,6 @@ return new Worker(); } - public void setGarbageProducer(GarbageProducer garbageProducer) { - this.garbageProducer = garbageProducer; - } - - public void setGarbageProducer1(GarbageProducer garbageProducer1) { - this.garbageProducer1 = garbageProducer1; - } - public void setLockers(Lockers lockers) { this.lockers = lockers; } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock001/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock001/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock001/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock001/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,8 @@ * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 randomString - * -lockers jni + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * @run main/othervm/native -Xbootclasspath/a:. -Xlog:gc=debug:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI gc.lock.LockerTest -lockers jni -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock002/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jni/jnilock002. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 random(primitiveArrays) - * -lockers jni - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jni/jnilock003/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jni/jnilock003. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 interned(randomString) - * -lockers jni - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock01/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock01/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock01/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock01/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,8 @@ * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 randomString - * -lockers jniGlobalRef + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * @run main/othervm/native -Xbootclasspath/a:. -Xlog:gc=debug:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI gc.lock.LockerTest -lockers jniGlobalRef -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock02/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jniglobalreflock02. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 random(primitiveArrays) - * -lockers jniGlobalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock03/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jniglobalreflock03. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 interned(randomString) - * -lockers jniGlobalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniglobalreflock04/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jniglobalreflock04. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 class - * -lockers jniGlobalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock01/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock01/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock01/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock01/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,8 @@ * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 randomString - * -lockers jniLocalRef + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * @run main/othervm/native -Xbootclasspath/a:. -Xlog:gc=debug:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI gc.lock.LockerTest -lockers jniLocalRef -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock02/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jnilocalreflock02. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 random(primitiveArrays) - * -lockers jniLocalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock03/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jnilocalreflock03. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 interned(randomString) - * -lockers jniLocalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnilocalreflock04/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jnilocalreflock04. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 class - * -lockers jniLocalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock01/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock01/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock01/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock01/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,8 @@ * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 randomString - * -lockers jniRef + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * @run main/othervm/native -Xbootclasspath/a:. -Xlog:gc=debug:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI gc.lock.LockerTest -lockers jniRef -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock02/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jnireflock02. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 random(primitiveArrays) - * -lockers jniRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock03/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jnireflock03. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 interned(randomString) - * -lockers jniRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jnireflock04/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jnireflock04. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent, quick] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native -XX:-UseGCOverheadLimit gc.lock.LockerTest -gp1 class -lockers jniRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock01/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock01/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock01/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock01/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,8 @@ * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 randomString - * -lockers jniWeakGlobalRef + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * @run main/othervm/native -Xbootclasspath/a:. -Xlog:gc=debug:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI gc.lock.LockerTest -lockers jniWeakGlobalRef -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jniweakglobalreflock02. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 random(primitiveArrays) - * -lockers jniWeakGlobalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock03/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jniweakglobalreflock03. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 interned(randomString) - * -lockers jniWeakGlobalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jniref/jniweakglobalreflock04/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jniref/jniweakglobalreflock04. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 class - * -lockers jniWeakGlobalRef - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock01/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock01/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock01/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock01/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,11 +32,8 @@ * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * -agentlib:JVMTIAllocLocker - * gc.lock.LockerTest - * -gp1 randomString - * -lockers jvmtiAlloc + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * @run main/othervm/native -Xbootclasspath/a:. -Xlog:gc=debug:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -agentlib:JVMTIAllocLocker gc.lock.LockerTest -lockers jvmtiAlloc -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jvmti/alloc/jvmtialloclock02. - * VM Testbase keywords: [gc, stress, stressopt, jvmti, nonconcurrent, quick] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * -agentlib:JVMTIAllocLocker - * gc.lock.LockerTest - * -gp1 random(primitiveArrays) - * -lockers jvmtiAlloc - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock03/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jvmti/alloc/jvmtialloclock03. - * VM Testbase keywords: [gc, stress, stressopt, jvmti, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * -agentlib:JVMTIAllocLocker - * gc.lock.LockerTest - * -gp1 interned(randomString) - * -lockers jvmtiAlloc - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock04/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/jvmti/alloc/jvmtialloclock04. - * VM Testbase keywords: [gc, stress, stressopt, jvmti, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * -agentlib:JVMTIAllocLocker - * gc.lock.LockerTest - * -gp1 class - * -lockers jvmtiAlloc - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock01/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock01/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock01/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock01/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,8 @@ * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 randomString - * -lockers malloc + * @build sun.hotspot.WhiteBox + * @run driver ClassFileInstaller sun.hotspot.WhiteBox + * @run main/othervm/native -Xbootclasspath/a:. -Xlog:gc=debug:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI gc.lock.LockerTest -lockers malloc -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock02/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/malloc/malloclock02. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 random(primitiveArrays) - * -lockers malloc - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/malloc/malloclock03. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent, quick] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native - * -XX:-UseGCOverheadLimit - * gc.lock.LockerTest - * -gp1 interned(randomString) - * -lockers malloc - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# -# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/gc/lock/malloc/malloclock04/TestDescription.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress gc - * - * @summary converted from VM Testbase gc/lock/malloc/malloclock04. - * VM Testbase keywords: [gc, stress, stressopt, nonconcurrent] - * - * @library /vmTestbase - * /test/lib - * @run driver jdk.test.lib.FileInstaller . . - * @run main/othervm/native -XX:-UseGCOverheadLimit gc.lock.LockerTest -gp1 class -lockers malloc - */ - diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -90,7 +90,7 @@ static final String LAST_BREAK = DEBUGGEE_CLASS + ".breakHere"; static final String MYTHREAD = "MyThread"; static final String DEBUGGEE_THREAD = DEBUGGEE_CLASS + "$" + MYTHREAD; - static final String DEBUGGEE_RESULT = DEBUGGEE_CLASS + ".notInterrupted.get()"; + static final String DEBUGGEE_RESULT = DEBUGGEE_CLASS + ".notInterrupted"; static int numThreads = nsk.jdb.interrupt.interrupt001.interrupt001a.numThreads; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001a.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001a.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001a.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001a.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -56,8 +56,8 @@ lock.wait(); } } catch (InterruptedException e) { - notInterrupted.decrementAndGet(); synchronized (waitnotify) { + notInterrupted--; waitnotify.notify(); } } @@ -83,7 +83,7 @@ private JdbArgumentHandler argumentHandler; private Log log; - public static final AtomicInteger notInterrupted = new AtomicInteger(numThreads); + public static volatile int notInterrupted = numThreads; public int runIt(String args[], PrintStream out) { @@ -122,8 +122,8 @@ long waitTime = argumentHandler.getWaitTime() * 60 * 1000; long startTime = System.currentTimeMillis(); - while (notInterrupted.get() > 0 && System.currentTimeMillis() - startTime <= waitTime) { - synchronized (waitnotify) { + synchronized (waitnotify) { + while (notInterrupted > 0 && System.currentTimeMillis() - startTime <= waitTime) { try { waitnotify.wait(waitTime); } catch (InterruptedException e) { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canBeModified/canbemodified001.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canBeModified/canbemodified001.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canBeModified/canbemodified001.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canBeModified/canbemodified001.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -78,6 +78,7 @@ exitStatus = Consts.TEST_FAILED; e.printStackTrace(); } finally { + debugee.resume(); debugee.endDebugee(); } display("Test finished. exitStatus = " + exitStatus); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,7 +23,6 @@ package nsk.jvmti.GetCurrentContendedMonitor; -import nsk.share.Wicket; import java.io.PrintStream; public class contmon001 { @@ -42,8 +41,8 @@ } } - public static Wicket startingBarrier; - public static Wicket waitingBarrier; + public static volatile boolean startingBarrier = true; + public static volatile boolean waitingBarrier = true; static Object lockFld = new Object(); static boolean DEBUG_MODE = false; @@ -55,6 +54,14 @@ System.exit(run(args, System.out) + 95/*STATUS_TEMP*/); } + public static void doSleep() { + try { + Thread.sleep(10); + } catch (Exception e) { + throw new Error("Unexpected " + e); + } + } + public static int run(String argv[], PrintStream ref) { out = ref; for (int i = 0; i < argv.length; i++) { @@ -75,13 +82,13 @@ out.println("Check #1 done"); contmon001a thr = new contmon001a(); - startingBarrier = new Wicket(); - waitingBarrier = new Wicket(); thr.start(); if (DEBUG_MODE) out.println("\nWaiting for auxiliary thread ..."); - startingBarrier.waitFor(); + while (startingBarrier) { + doSleep(); + } if (DEBUG_MODE) out.println("Auxiliary thread is ready"); @@ -93,7 +100,9 @@ thr.letItGo(); - waitingBarrier.waitFor(); + while (waitingBarrier) { + doSleep(); + } synchronized (lockFld) { if (DEBUG_MODE) out.println("\nMain thread entered lockFld's monitor" @@ -138,7 +147,7 @@ if (contmon001.DEBUG_MODE) contmon001.out.println("notifying main thread"); - contmon001.startingBarrier.unlock(); + contmon001.startingBarrier = false; if (contmon001.DEBUG_MODE) contmon001.out.println("thread is going to loop while is true ..."); @@ -158,7 +167,7 @@ contmon001.out.println("looping is done: is false"); synchronized (contmon001.lockFld) { - contmon001.waitingBarrier.unlock(); + contmon001.waitingBarrier = false; if (contmon001.DEBUG_MODE) contmon001.out.println("\nthread entered lockFld's monitor" + "\n\tand releasing it through the lockFld.wait() call"); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,7 +23,6 @@ package nsk.jvmti.GetCurrentContendedMonitor; -import nsk.share.Wicket; import java.io.PrintStream; public class contmon002 { @@ -42,7 +41,7 @@ } } - public static Wicket startingBarrier; + public static boolean startingBarrier = true; public static void main(String[] args) { args = nsk.share.jvmti.JVMTITest.commonInit(args); @@ -50,13 +49,22 @@ System.exit(run(args, System.out) + 95/*STATUS_TEMP*/); } + public static void doSleep() { + try { + Thread.sleep(10); + } catch (Exception e) { + throw new Error("Unexpected " + e); + } + } + public static int run(String argv[], PrintStream ref) { checkMon(1, Thread.currentThread()); contmon002a thr = new contmon002a(); - startingBarrier = new Wicket(); thr.start(); - startingBarrier.waitFor(); + while (startingBarrier) { + doSleep(); + } checkMon(2, thr); thr.letItGo(); try { @@ -73,7 +81,7 @@ private volatile boolean flag = true; private synchronized void meth() { - contmon002.startingBarrier.unlock(); + contmon002.startingBarrier = false; int i = 0; int n = 1000; while (flag) { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/agentthr001.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/agentthr001.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/agentthr001.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/agentthr001.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -136,7 +136,11 @@ static void JNICALL sys_thread_3(jvmtiEnv* jvmti, JNIEnv* jni, void *p) { - while (1) { + /* The volatile variable in the loop body is necessary + * to avoid the compiler optimization to elide the loop. */ + volatile int i = 1; + while (i) { + i += 2; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,7 +37,7 @@ public class isexceeded001 { private static boolean testFailed = false; - private static final int INCREMENT = 100 * 1024; // 100kb + private static final int INCREMENT = 100 * 1024 * 1024 ; // 100MB public static void main(String[] argv) { System.exit(Consts.JCK_STATUS_BASE + run(argv, System.out)); } @@ -47,71 +47,95 @@ public static int run(String[] argv, PrintStream out) { ArgumentHandler argHandler = new ArgumentHandler(argv); Log log = new Log(out, argHandler); + log.enableVerbose(true); // show log output + MemoryMonitor monitor = Monitor.getMemoryMonitor(log, argHandler); List pools = monitor.getMemoryPoolMBeans(); for (int i = 0; i < pools.size(); i++) { Object pool = pools.get(i); - log.display(i + " pool " + monitor.getName(pool)); - - if (!monitor.isUsageThresholdSupported(pool)) { - log.display(" does not support usage thresholds"); + // Skip non-heap pools, as they have unpredictable behaviour, or if + // usage threshold not supported: + if (monitor.getType(pool) != MemoryType.HEAP || !monitor.isUsageThresholdSupported(pool)) { continue; - } else - log.display(" supports usage thresholds"); + } + log.display(i + " pool " + monitor.getName(pool) + " of type: " + monitor.getType(pool)); // Set a threshold that is greater than used value MemoryUsage usage = monitor.getUsage(pool); + MemoryUsage peakUsage = monitor.getPeakUsage(pool); + boolean isExceeded = monitor.isUsageThresholdExceeded(pool); long used = usage.getUsed(); long max = usage.getMax(); + long peakUsed = peakUsage.getUsed(); long threshold = used + 1; if ( (max > -1) && (threshold > max) ) { // we can't test threshold - not enough memory log.display("not enough memory for testing threshold:" + - " used=" + used + - ", max = " + max ); + " used=" + used + ", max=" + max + ": skip"); + continue; } monitor.setUsageThreshold(pool, threshold); - log.display(" threshold " + threshold + " is set, used = " + used ); + log.display(" used value is " + used + " max is " + max + " isExceeded = " + isExceeded); + log.display("peak used value is " + peakUsed); + log.display(" threshold set to " + threshold); + log.display(" threshold count " + monitor.getUsageThresholdCount(pool)); + // Reset peak usage so we can use it: monitor.resetPeakUsage(pool); - log.display(" resetting peak usage"); - log.display(" peak usage = " + monitor.getPeakUsage(pool).getUsed()); - - // Eat some memory - provoke usage of the pool to cross the - // threshold value - b = new byte[INCREMENT]; // Eat 100K - - boolean isExceeded = monitor.isUsageThresholdExceeded(pool); - usage = monitor.getPeakUsage(pool); + isExceeded = monitor.isUsageThresholdExceeded(pool); + log.display(" reset peak usage. peak usage = " + monitor.getPeakUsage(pool).getUsed() + + " isExceeded = " + isExceeded); + + // Eat some memory - _may_ cause usage of the pool to cross threshold, + // but cannot assume this affects the pool we are testing. + b = new byte[INCREMENT]; + + isExceeded = monitor.isUsageThresholdExceeded(pool); + log.display(" Allocated heap. isExceeded = " + isExceeded); + + // Fetch usage information: use peak usage in comparisons below, in case usage went up and then down. + // Log used and peak used in case of failure. + usage = monitor.getUsage(pool); + peakUsage = monitor.getPeakUsage(pool); used = usage.getUsed(); + max = usage.getMax(); + peakUsed = peakUsage.getUsed(); - log.display(" used value is " + used); - - if (used < threshold && isExceeded) { - // There're problems with isUsageThresholdExceeded() + log.display(" used value is " + used + " max is " + max + " isExceeded = " + isExceeded); + log.display("peak used value is " + peakUsed); + long thresholdCount = monitor.getUsageThresholdCount(pool); + log.display(" threshold count " + thresholdCount); + + // If peak used value is less than threshold, then isUsageThresholdExceeded() + // is expected to return false. + if (peakUsed < threshold && isExceeded) { + // used is commonly less than threshold, but isExceeded should not be true: log.complain("isUsageThresholdExceeded() returned " + "true, while threshold = " + threshold - + " and used peak = " + used); + + " and used peak = " + peakUsed); + isExceeded = monitor.isUsageThresholdExceeded(pool); + if (isExceeded) { testFailed = true; + } else { + log.complain("isUsageThresholdExceeded() now says false."); + } } else - if (used >= threshold && !isExceeded) { - // we can introduce some imprecision during pooling memory usage - // value at the Code Cache memory pool. Amount of used memory - // was changed after we'd calculated isExceeded value - - if (monitor.isUsageThresholdExceeded(pool)) { - // that's mean such imprecision - log.display("isUsageThresholdExceeded() returned false," + // If peak used value is greater or equal than threshold, then + // isUsageThresholdExceeded() is expected to return true. + if (peakUsed >= threshold && !isExceeded) { + isExceeded = monitor.isUsageThresholdExceeded(pool); + if (isExceeded) { + log.display("isUsageThresholdExceeded() returned false, then true," + " while threshold = " + threshold + " and " - + "used peak = " + used); + + "used peak = " + peakUsed); } else { - // some other problems with isUsageThresholdExceeded() - log.complain("isUsageThresholdExceeded() returned false," + // Failure: + log.complain("isUsageThresholdExceeded() returned false, and is still false," + " while threshold = " + threshold + " and " - + "used peak = " + used); + + "used peak = " + peakUsed); testFailed = true; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load007/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load007/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load007/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load007/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,7 +48,7 @@ * @run driver jdk.test.lib.FileInstaller . . * @comment generate and compile LoadableClassXXX classes * @run driver nsk.monitoring.stress.classload.GenClassesBuilder - * @run main/othervm + * @run main/othervm/timeout=180 * -XX:-UseGCOverheadLimit * nsk.monitoring.stress.classload.load001 * classes diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load011/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load011/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load011/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load011/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,7 +46,7 @@ * @run driver jdk.test.lib.FileInstaller . . * @comment generate and compile LoadableClassXXX classes * @run driver nsk.monitoring.stress.classload.GenClassesBuilder - * @run main/othervm + * @run main/othervm/timeout=180 * -XX:-UseGCOverheadLimit * nsk.monitoring.stress.classload.load001 * classes diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load012/TestDescription.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load012/TestDescription.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load012/TestDescription.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/classload/load012/TestDescription.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,7 +46,7 @@ * @run driver jdk.test.lib.FileInstaller . . * @comment generate and compile LoadableClassXXX classes * @run driver nsk.monitoring.stress.classload.GenClassesBuilder - * @run main/othervm + * @run main/othervm/timeout=180 * -XX:-UseGCOverheadLimit * nsk.monitoring.stress.classload.load001 * classes diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,7 @@ import java.io.StringWriter; import java.lang.invoke.*; import java.util.*; +import sun.hotspot.WhiteBox; import nsk.share.gc.gp.array.*; import nsk.share.gc.gp.string.*; import nsk.share.gc.gp.list.*; @@ -86,6 +87,27 @@ } /** + * engages GC by allocating memory chunks and triggering youngGC. + * Allocations are done for a total of YOUNG_GC_ITERATIONS times. + * Each iteration, we allocate a memory chunk and trigger youngGC. + * Finally fullGC is run once. + * This way the objects get to travel to various GC regions. + * @param testMemory - memory size to be operated on + */ + public static void engageGC(long testMemory) { + final int YOUNG_GC_ITERATIONS = 100; + final long memChunk = testMemory / YOUNG_GC_ITERATIONS; + int iteration = 0; + Object referenceArray[] = new Object[YOUNG_GC_ITERATIONS]; + + while (iteration < YOUNG_GC_ITERATIONS) { + referenceArray[iteration++] = byteArrayProducer.create(memChunk); + WhiteBox.getWhiteBox().youngGC(); + } + WhiteBox.getWhiteBox().fullGC(); + } + + /** * Eat memory using execution controller that waits for 2 minutes. * @return number of OOME occured */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/BooleanArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/BooleanArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/BooleanArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/BooleanArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jboolean JNICALL Java_nsk_share_gc_lock_jni_BooleanArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jbooleanArray arr; - jboolean *pa; - jboolean hash = JNI_TRUE; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jbooleanArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = (jboolean*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash ^= pa[i]; - } else { - hash = JNI_FALSE; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jbooleanArray arr; + jboolean *pa; + jboolean hash = JNI_TRUE; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jbooleanArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (difftime(current_time, start_time) < enterTime) { + hash = JNI_TRUE; + pa = (jboolean*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash ^= pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ByteArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ByteArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ByteArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ByteArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,40 +36,42 @@ */ JNIEXPORT jbyte JNICALL Java_nsk_share_gc_lock_jni_ByteArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jbyteArray arr; - jbyte *pa; - jbyte hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jbyteArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = (jbyte*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash ^= pa[i]; - } else { - hash = 0; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jbyteArray arr; + jbyte *pa; + jbyte hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jbyteArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (difftime(current_time, start_time) < enterTime) { + hash = 0; + pa = (jbyte*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash ^= pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/CharArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/CharArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/CharArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/CharArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jchar JNICALL Java_nsk_share_gc_lock_jni_CharArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jcharArray arr; - jchar *pa; - jchar hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jcharArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - current_time = 0; - enterTime /= 1000; - while (current_time - start_time < enterTime) { - pa = (jchar*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash ^= pa[i]; - } else { - hash = 0; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jcharArray arr; + jchar *pa; + jchar hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jcharArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + current_time = 0; + enterTime /= 1000; + while (difftime(current_time, start_time) < enterTime) { + hash = 0; + pa = (jchar*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash ^= pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/DoubleArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/DoubleArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/DoubleArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/DoubleArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jdouble JNICALL Java_nsk_share_gc_lock_jni_DoubleArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jdoubleArray arr; - jdouble *pa; - jdouble hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jdoubleArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = (jdouble*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash += pa[i]; - } else { - hash = 0; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jdoubleArray arr; + jdouble *pa; + jdouble hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jdoubleArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (difftime(current_time, start_time) < enterTime) { + hash = 0; + pa = (jdouble*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash += pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/FloatArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/FloatArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/FloatArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/FloatArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jfloat JNICALL Java_nsk_share_gc_lock_jni_FloatArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jfloatArray arr; - jfloat *pa; - jfloat hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jfloatArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = (jfloat*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash += pa[i]; - } else { - hash = 0; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jfloatArray arr; + jfloat *pa; + jfloat hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jfloatArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (difftime(current_time, start_time) < enterTime) { + hash = 0; + pa = (jfloat*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash += pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/IntArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/IntArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/IntArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/IntArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jint JNICALL Java_nsk_share_gc_lock_jni_IntArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jintArray arr; - jint *pa; - jint hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jintArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = (jint*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash ^= pa[i]; - } else { - hash = 0; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jintArray arr; + jint *pa; + jint hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jintArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (difftime(current_time, start_time) < enterTime) { + hash = 0; + pa = (jint*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash ^= pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jlong JNICALL Java_nsk_share_gc_lock_jni_LongArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jlongArray arr; - jlong *pa; - jlong hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jlongArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = (jlong*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash ^= pa[i]; - } else { - hash = 0; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jlongArray arr; + jlong *pa; + jlong hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jlongArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (difftime(current_time, start_time) < enterTime) { + hash = 0; + pa = (jlong*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash ^= pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ShortArrayCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ShortArrayCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ShortArrayCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ShortArrayCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jshort JNICALL Java_nsk_share_gc_lock_jni_ShortArrayCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jshortArray arr; - jshort *pa; - jshort hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - arr = (jshortArray) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetArrayLength(arr); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = (jshort*) env->GetPrimitiveArrayCritical(arr, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash ^= pa[i]; - } else { - hash = 0; - } - mssleep((long) sleepTime); - env->ReleasePrimitiveArrayCritical(arr, pa, 0); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, arr); - return hash; + jsize size, i; + jshortArray arr; + jshort *pa; + jshort hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + arr = (jshortArray) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetArrayLength(arr); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (current_time - start_time < enterTime) { + hash = 0; + pa = (jshort*) ec_jni->GetPrimitiveArrayCritical(arr, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash ^= pa[i]; + } + } else { + jni_env->FatalError("GetPrimitiveArrayCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleasePrimitiveArrayCritical(arr, pa, 0); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, arr); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/StringCriticalLocker.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/StringCriticalLocker.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/StringCriticalLocker.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/StringCriticalLocker.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,40 +37,42 @@ */ JNIEXPORT jchar JNICALL Java_nsk_share_gc_lock_jni_StringCriticalLocker_criticalNative (JNIEnv *jni_env, jobject o, jlong enterTime, jlong sleepTime) { - ExceptionCheckingJniEnvPtr env(jni_env); + ExceptionCheckingJniEnvPtr ec_jni(jni_env); - jsize size, i; - jstring str; - const jchar *pa; - jchar hash = 0; - time_t start_time, current_time; - - if (objFieldId == NULL) { - jclass klass = env->GetObjectClass(o); - objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); - } - str = (jstring) env->GetObjectField(o, objFieldId); - env->SetObjectField(o, objFieldId, NULL); - - size = env->GetStringLength(str); - start_time = time(NULL); - enterTime /= 1000; - current_time = 0; - while (current_time - start_time < enterTime) { - pa = env->GetStringCritical(str, NULL); - if (pa != NULL) { - for (i = 0; i < size; ++i) - hash ^= pa[i]; - } else { - hash = JNI_FALSE; - } - mssleep((long) sleepTime); - env->ReleaseStringCritical(str, pa); - mssleep((long) sleepTime); - current_time = time(NULL); - } - env->SetObjectField(o, objFieldId, str); - return hash; + jsize size, i; + jstring str; + const jchar *pa; + jchar hash = 0; + time_t start_time, current_time; + + if (objFieldId == NULL) { + jclass klass = ec_jni->GetObjectClass(o); + objFieldId = ec_jni->GetFieldID(klass, "obj", "Ljava/lang/Object;"); + } + str = (jstring) ec_jni->GetObjectField(o, objFieldId); + ec_jni->SetObjectField(o, objFieldId, NULL); + + size = ec_jni->GetStringLength(str); + start_time = time(NULL); + enterTime /= 1000; + current_time = 0; + while (current_time - start_time < enterTime) { + hash = 0; + pa = ec_jni->GetStringCritical(str, NULL); + if (pa != NULL) { + for (i = 0; i < size; ++i) { + hash ^= pa[i]; + } + } else { + jni_env->FatalError("GetStringCritical returned NULL"); + } + mssleep((long) sleepTime); + ec_jni->ReleaseStringCritical(str, pa); + mssleep((long) sleepTime); + current_time = time(NULL); + } + ec_jni->SetObjectField(o, objFieldId, str); + return hash; } } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java 2024-04-08 05:38:38.000000000 +0000 @@ -217,6 +217,10 @@ } } String cmdline = classToExecute + " " + ArgumentHandler.joinArguments(argumentHandler.getArguments(), " "); + cmdline += " -waittime " + argumentHandler.getWaitTime(); + if (argumentHandler.verbose()) { + cmdline += " -verbose"; + } connect.append(",main=" + cmdline.trim()); } diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Debugee.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Debugee.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Debugee.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Debugee.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -557,6 +557,7 @@ * exit status code. */ public int endDebugee() { + int status = waitFor(); if (vm != null) { try { vm.dispose(); @@ -564,7 +565,7 @@ } vm = null; } - return waitFor(); + return status; } /* diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/jni/ExceptionCheckingJniEnv.cpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jni/ExceptionCheckingJniEnv.cpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/jni/ExceptionCheckingJniEnv.cpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/jni/ExceptionCheckingJniEnv.cpp 2024-04-08 05:38:38.000000000 +0000 @@ -23,6 +23,7 @@ */ #include +#include #include "ExceptionCheckingJniEnv.hpp" @@ -48,12 +49,21 @@ } void ProcessReturnError() { - int len = snprintf(NULL, 0, "%s : %s", _base_msg, _return_error) + 1; + // This is error prone, but: + // - Seems like we cannot use std::string (due to windows/solaris not + // building when used, seemingly due to exception libraries not linking). + // - Seems like we cannot use sprintf due to VS2013 (JDK-8213622). + // + // We are aiming to do: + // snprintf(full_message, len, "%s : %s", _base_msg, _return_error); + // but will use strlen + memcpy instead. + size_t base_len = strlen(_base_msg); + const char* between_msg = " : "; + size_t between_len = strlen(between_msg); + size_t return_len = strlen(_return_error); - if (len <= 0) { - _env->HandleError(_return_error); - return; - } + // +1 for the '\0' + size_t len = base_len + between_len + return_len + 1; char* full_message = (char*) malloc(len); if (full_message == NULL) { @@ -61,7 +71,18 @@ return; } - snprintf(full_message, len, "%s : %s", _base_msg, _return_error); + // Now we construct the string using memcpy to not use sprintf/std::string + // instead of: + // snprintf(full_message, len, "%s : %s", _base_msg, _return_error); + memcpy(full_message, _base_msg, base_len); + memcpy(full_message + base_len, between_msg, between_len); + memcpy(full_message + base_len + between_len, _return_error, return_len); + full_message[len - 1] = '\0'; + + // -1 due to the '\0' not counted by strlen but is counted for the allocation. + if (strlen(full_message) != len - 1) { + _env->GetJNIEnv()->FatalError("Length of message is not what was expected"); + } _env->HandleError(full_message); free(full_message); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java 2024-04-08 05:38:38.000000000 +0000 @@ -210,10 +210,10 @@ * @param out output stream */ public void printInfo(PrintStream out) { - out.println("Stress time: " + time + " seconds"); - out.println("Stress iterations factor: " + iterationsFactor); - out.println("Stress threads factor: " + threadsFactor); - out.println("Stress runs factor: " + runsFactor); + out.println("Stress time: " + getTime() + " seconds"); + out.println("Stress iterations factor: " + getIterationsFactor()); + out.println("Stress threads factor: " + getThreadsFactor()); + out.println("Stress runs factor: " + getRunsFactor()); } private void error(String msg) { diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,296 +0,0 @@ -/* - * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * @test - * @key stress - * - * @summary converted from VM testbase nsk/stress/except/except011. - * VM testbase keywords: [stress, slow, nonconcurrent, quick] - * VM testbase readme: - * DESCRIPTION - * This checks if various exceptions are thrown (and caught) correctly - * when there apparently are no free space in the heap to allocate new - * Throwable instance. - * The test tries to occupy all of memory available in the heap by allocating - * lots of new Object() instances. Instances of the type Object are the smallest - * objects, so they apparently should occupy most fine-grained fragments in the - * heap and leave no free space for new Throwable instance. After that, the test - * provokes various exceptions (e.g.: by executing integer division by 0 and so - * on), and checks if appropriate exceptions are thrown. - * COMMENTS - * The test needs a lot of memory to start up, so it should not run under older - * JDK 1.1.x release due to its poorer heap utilization. Also, some checks are - * skipped when testing classic VM, because OutOfMemoryError is correctly thrown - * instead of target exception. - * When the test is being self-initiating (i.e.: eating heap), memory occupation - * is terminated if memory allocation slows down crucially. This is a workaround - * intended to avoid the HotSpot bug: - * #4248801 (P1/S5) slow memory allocation when heap is almost exhausted - * There is also a workaround involved to avoid the following bugs known - * for HotSpot and for classic VM: - * #4239841 (P1/S5) 1.1: poor garbage collector performance (HotSpot bug) - * #4245060 (P4/S5) poor garbage collector performance (Classic VM bug) - * However, printing of the test's error messages, warnings, and of execution - * trace fails under JDK 1.2 for Win32 even so. If the test fails due to this - * problem, exit status 96 is returned instead of 97. - * JDK 1.3 classic VM for Sparc may crash (core dump) due to the known bug: - * #4245057 (P2/S3) VM crashes when heap is exhausted - * - * @run main/othervm -Xms50M -Xmx200M nsk.stress.except.except011 - */ - -package nsk.stress.except; - -import java.io.PrintStream; - -/** - * This checks if various exceptions are thrown (and caught) correctly - * when there apparently are no free space in the heap to allocate new - * Throwable instance. - *

- *

The test tries to occupy all of memory available in the heap by - * allocating lots of new Object() instances. Instances of the - * type Object are the smallest objects, so they apparently should - * occupy most fine-grained fragments in the heap and leave no free space for - * new Throwable instance. After that, the test provokes various - * exceptions (e.g.: by executing integer division by 0 and so on), and checks - * if appropriate exceptions are thrown. - *

- *

Note, that memory occupation is terminated if memory allocation slows - * down crucially. This is a workaround intended to avoid the HotSpot bug: - *
   - * #4248801 (P1/S5) slow memory allocation when heap is almost exhausted - *

- *

There is also a workaround involved to avoid the following bugs known - * for HotSpot and for classic VM: - *
   - * #4239841 (P1/S5) 1.1: poor garbage collector performance - *
   - * #4245060 (P4/S5) poor garbage collector performance - *
However, printing of the test's error messages, warnings, and of - * execution trace may fail even so. If the test fails due to poor GC - * performance, exit status 96 is returned instead of 97. - *

- *

Also note, that the test needs a lot of memory to start up, so it should - * not run under older JDK 1.1.x release due to its poor heap utilization. - */ -public class except011 { - /** - * Either allow or supress printing of execution trace. - */ - private static boolean TRACE_ON = false; - /** - * Either allow or supress printing of warning messages. - */ - private static final boolean WARN_ON = true; - /* - * Storage for a lot of tiny objects - * "static volatile" keywords are for preventing heap optimization - */ - private static volatile Object pool[] = null; - /** - * Temporary log for error messages, warnings and/or execution trace. - * - * @see #messages - */ - private static String log[] = new String[1000]; // up to 1000 messages - /** - * How many messages were submitted to the log. - * - * @see #log - */ - private static int messages = 0; - - private static final String className = "nsk.stress.except.except011oops"; - - /** - * Re-call to the method run(out) (ignore args[]), - * and print the test summary - either test passed of failed. - */ - public static int run(String args[], PrintStream out) { - if (args.length > 0) { - if (args[0].toLowerCase().startsWith("-v")) - TRACE_ON = true; - } - - int exitCode = run(out); - pool = null; - System.gc(); - // Print the log[] and the test summary: - try { - for (int i = 0; i < messages; i++) - out.println(log[i]); - if (exitCode == 0) { - if (TRACE_ON) - out.println("Test passed."); - } else - out.println("Test failed."); - } catch (OutOfMemoryError oome) { - // Poor performance of garbage collector: - exitCode = 1; - } - - return exitCode; - } - - /** - * Allocate as much Object instances as possible to bring JVM - * into stress, and then check if exceptions are correctly thrown accordingly - * to various situations like integer division by 0, etc. - */ - private static int run(PrintStream out) { - out.println("# While printing this message, JVM seems to initiate the output"); - out.println("# stream, so that it will not need more memory to print later,"); - out.println("# when the heap would fail to provide more memory."); - out.println("# "); - out.println("# Note, that the test maintains especial static log[] field in"); - out.println("# order to avoid printing when the heap seems exhausted."); - out.println("# Nevertheless, printing could arise OutOfMemoryError even"); - out.println("# after all the memory allocated by the test is released."); - out.println("# "); - out.println("# That problem is caused by the known JDK/HotSpot bugs:"); - out.println("# 4239841 (P1/S5) 1.1: poor garbage collector performance"); - out.println("# 4245060 (P4/S5) poor garbage collector performance"); - out.println("# "); - out.println("# This message is just intended to work-around that problem."); - out.println("# If printing should fail even so, the test will try to return"); - out.println("# the exit status 96 instead of 97 to indicate the problem."); - out.println("# However, the test may fail or even crash on some platforms"); - out.println("# suffering the bug 4239841 or 4245060."); - - // Sum up exit code: - int exitCode = 0; // apparently PASSED - int skipped = 0; // some checks may correctly suffer OutOfMemoryError - Class oops; - // Allocate repository for a lots of tiny objects: - for (int size = 1 << 30; size > 0 && pool == null; size >>= 1) - try { - pool = new Object[size]; - } catch (OutOfMemoryError oome) { - } - if (pool == null) - throw new Error("HS bug: cannot allocate new Object[1]"); - int poolSize = pool.length; - - int index = 0; - pool[index++] = new Object(); - - // Sum up time spent, when it was hard to JVM to allocate next object - // (i.e.: when JVM has spent more than 1 second to allocate new object): - double totalDelay = 0; - long timeMark = System.currentTimeMillis(); - try { - for (; index < poolSize; index++) { - //------------------------- - pool[index] = new Object(); - long nextTimeMark = System.currentTimeMillis(); - long elapsed = nextTimeMark - timeMark; - timeMark = nextTimeMark; - //---------------------- - if (elapsed > 1000) { - double seconds = elapsed / 1000.0; - if (TRACE_ON) - out.println( - "pool[" + index + "]=new Object(); // elapsed " + seconds + "s"); - totalDelay += seconds; - if (totalDelay > 60) { - if (TRACE_ON) - out.println( - "Memory allocation became slow; so, heap seems exhausted."); - break; - } - } - } - } catch (OutOfMemoryError oome) { - if (TRACE_ON) - log[messages++] = "Heap seems exhausted - OutOfMemoryError thrown."; - } - - if (index > poolSize - 1000) { - if (WARN_ON) - log[messages++] = "Warning: pool[] is full; so, checks would not be enough hard..."; - } - - // Check ExceptionInInitializerError: - try { - oops = Class.forName(className); - log[messages++] = "Failure: ExceptionInInitializerError failed to throw"; - exitCode = 2; - } catch (ExceptionInInitializerError eiie) { - String message = eiie.getException().getMessage(); - if (!message.equals("except011oops")) { - log[messages++] = - "Failure: ExceptionInInitializerError: unexpected target exception"; - exitCode = 2; - } else if (TRACE_ON) - log[messages++] = "Success: ExceptionInInitializerError thrown as expected"; - } catch (ClassNotFoundException cnfe) { - log[messages++] = "Failure: ExceptionInInitializerError: target class not found"; - exitCode = 2; - } catch (OutOfMemoryError oome) { - if (WARN_ON) - log[messages++] = - "Skipped: ExceptionInInitializerError: thrown OutOfMemoryError"; - skipped++; - } - - return exitCode; - } - - /** - * Re-call to run(args,out), and return JCK-like exit status. - * (The stream out is assigned to System.out here.) - * - * @see #run(String[], PrintStream) - */ - public static void main(String args[]) { - Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { - // Last try. If there is some OOME, test should end correctly - @Override - public void uncaughtException(Thread t, Throwable e) { - try { - pool = null; - log = null; - System.gc(); // Empty memory to be able to write to the output - if (e instanceof OutOfMemoryError) { - try { - System.out.println("OOME : Test Skipped"); - System.exit(0); - } catch (Throwable ignore) { - } // No code in the handler can provoke correct exceptions. - } else { - e.printStackTrace(); - throw (RuntimeException) e; - } - } catch (OutOfMemoryError oome) { - } - } - }); - int exitCode = run(args, System.out); - System.exit(exitCode + 95); - // JCK-like exit status. - } - -} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011oops.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011oops.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011oops.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011oops.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -/* - * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package nsk.stress.except; - -/** - * This class throws exception while static initialization. - * The test should load this class via reflection in order - * to hold the exception until runtime. - * - * @see nsk.stress.except.except011 - */ -public class except011oops { - static boolean truth = true; - - static { - if (truth) - throw new RuntimeException("except011oops"); - } -} diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -# -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/thread/TEST.properties openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/thread/TEST.properties --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/stress/thread/TEST.properties 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/stress/thread/TEST.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -# -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -exclusiveAccess.dirs=. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/BTreeTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/BTreeTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/BTreeTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/BTreeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -59,7 +59,7 @@ } try { // Load FatsInfo with URLClassLoader btree.jar & fats.jar should not - // present in classpath + // be present in classpath Class info; if (useFats) { info = createJarLoader().loadClass(PACKAGE_PREFIX + "FatsInfo"); @@ -76,7 +76,7 @@ } if (level >= height) { - throw new Failure("Icorrect level : " + level + " .Should be less then " + height); + throw new Failure("Incorrect level : " + level + " should be less than " + height); } // generate names for all nodes at the given level: diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/SysDictTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/SysDictTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/SysDictTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/SysDictTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,7 +62,7 @@ if (args[i].equals("-useSingleLoader")) { this.useSingleLoader = false; } - // jar path is in useal classpath format + // jar path is in usual classpath format if (args[i].equals("-jarpath")) { String[] files = args[i + 1].split(File.pathSeparator); jars = new URL[files.length]; @@ -148,11 +148,8 @@ // set name into public variable just to be sure // that class is loaded tmp = clz.getName(); - } catch (ClassNotFoundException cnfe) { - throw new TestFailure(cnfe); - } catch (OutOfMemoryError oome) { + } catch (OutOfMemoryError | ClassNotFoundException e) { // just ignore - // we do not check memory leaks in PermGen in this tests } catch (StackOverflowError soe) { // just ignore, chains could be too large // StackOverflowError could be in some sparcs @@ -164,6 +161,7 @@ } } + @Override protected Runnable createRunnable(int i) { currentClassLoaders = createClassLoadersInternal(); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree002/btree002.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree002/btree002.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree002/btree002.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree002/btree002.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,7 @@ * VM Testbase keywords: [stress, sysdict, stressopt, nonconcurrent] * VM Testbase readme: * DESCRIPTION - * Single thread loads a tree of classes with signle loader. + * Single thread loads a tree of classes with single loader. * The test is deemed failed if loading attempt fails. * The test repeats until the given number of iterations, * or until EndOfMemoryError. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree005/btree005.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree005/btree005.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree005/btree005.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree005/btree005.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,7 @@ * VM Testbase keywords: [stress, sysdict, stressopt, nonconcurrent] * VM Testbase readme: * DESCRIPTION - * Multiple threads load a tree of classes with signle loader. + * Multiple threads load a tree of classes with single loader. * The test is deemed failed if loading attempt fails. * The test repeats until the given number of iterations, * or until EndOfMemoryError. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree008/btree008.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree008/btree008.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree008/btree008.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree008/btree008.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,7 @@ * VM Testbase keywords: [stress, sysdict, stressopt, nonconcurrent] * VM Testbase readme: * DESCRIPTION - * Single thread loads a tree of classes with signle loader. + * Single thread loads a tree of classes with single loader. * Then, memory stress is induced to unload the classes. * The test is deemed failed if loading attempt fails; * or if the tested VM crashes. @@ -53,5 +53,6 @@ * -jarpath btree.jar${path.separator}fats.jar * -useSingleLoader * -stressHeap + * -t 1 */ diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,7 @@ * VM Testbase keywords: [stress, sysdict, stressopt, nonconcurrent] * VM Testbase readme: * DESCRIPTION - * Multiple threads load a tree of classes with signle loader. + * Multiple threads load a tree of classes with single loader. * Then, memory stress is induced to unload the classes. * The test is deemed failed if loading attempt fails; * or if the tested VM crashes. diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,10 +25,17 @@ import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodType; +import java.lang.management.MemoryUsage; +import java.lang.management.MemoryPoolMXBean; +import java.lang.management.ManagementFactory; import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; import java.util.List; +import java.util.Optional; +import java.util.function.BiConsumer; + +import jdk.test.lib.Platform; import nsk.share.test.LazyIntArrayToString; import nsk.share.test.TestUtils; @@ -65,6 +72,64 @@ private static final boolean USE_SAM = false; // Disabled in JDK7 private static final boolean USE_THROW_CATCH = false; // Test bugs + /** + * The class is used for periodical checks if a code-cache consuming operation + * could be executed (i.e. if code cache has enought free space for a typical operation). + */ + private static class CodeCacheMonitor { + + private static final Optional NON_SEGMENTED_CODE_CACHE_POOL; + private static final Optional NON_NMETHODS_POOL; + private static final Optional PROFILED_NMETHODS_POOL; + private static final Optional NON_PROFILED_NMETHODS_POOL; + + // Trial runs show up that maximal increase in code cache consumption between checks (for one + // cycle/tree build in MHTransformationGen::createSequence), falls within the following intervals: + // + // | Threads number | Without Xcomp | With Xcomp | + // |----------------|---------------|------------| + // | 1 | 100-200 K | 400-500 K | + // | 10 | 1 - 2 M | 5-6 M | + // + // Those numbers are approximate (since trees are generated randomly and the total consumption + // between checks depends on how threads are aligned - for example, if all threads finish up their + // cycles approximately at one time, the consumption increase will be the highest, like with a + // resonance's amplitude) + // The 10 threads is chosen as it is a typical number for multi-threaded tests. + // + // Based on these numbers, values of 10 M for Xcomp and 5 M for non-Xcomp, were suggested. + private static final int NON_SEGMENTED_CACHE_ALLOWANCE = Platform.isComp() ? 10_000_000 : 5_000_000; + private static final int SEGMENTED_CACHE_ALLOWANCE = Platform.isComp() ? 10_000_000 : 5_000_000; + + static { + var pools = ManagementFactory.getMemoryPoolMXBeans(); + NON_SEGMENTED_CODE_CACHE_POOL = pools.stream() + .filter(pool -> pool.getName().equals("CodeCache")).findFirst(); + NON_NMETHODS_POOL = pools.stream() + .filter(pool -> pool.getName().equals("CodeHeap 'non-nmethods'")).findFirst(); + PROFILED_NMETHODS_POOL = pools.stream() + .filter(pool -> pool.getName().equals("CodeHeap 'profiled nmethods'")).findFirst(); + NON_PROFILED_NMETHODS_POOL = pools.stream() + .filter(pool -> pool.getName().equals("CodeHeap 'non-profiled nmethods'")).findFirst(); + } + + public static final boolean isCodeCacheEffectivelyFull() { + var result = new Object() { boolean value = false; }; + + BiConsumer check = (pool, limit) -> { + var usage = pool.getUsage(); + result.value |= usage.getMax() - usage.getUsed() < limit; + }; + + NON_SEGMENTED_CODE_CACHE_POOL.ifPresent(pool -> check.accept(pool, NON_SEGMENTED_CACHE_ALLOWANCE)); + NON_NMETHODS_POOL.ifPresent(pool -> check.accept(pool, SEGMENTED_CACHE_ALLOWANCE)); + PROFILED_NMETHODS_POOL.ifPresent(pool -> check.accept(pool, SEGMENTED_CACHE_ALLOWANCE)); + NON_PROFILED_NMETHODS_POOL.ifPresent(pool -> check.accept(pool, SEGMENTED_CACHE_ALLOWANCE)); + + return result.value; + } + }; + public static class ThrowCatchTestException extends Throwable { private static final long serialVersionUID = -6749961303738648241L; } @@ -89,7 +154,14 @@ List pendingPWTFs = new LinkedList(); - for ( int i = nextInt(MAX_CYCLES); i > 0; i-- ) { + final int cyclesToBuild = nextInt(MAX_CYCLES); + for ( int i = 0; i < cyclesToBuild; i++) { + if (CodeCacheMonitor.isCodeCacheEffectivelyFull()) { + Env.traceNormal("Not enought code cache to build up MH sequences anymore. " + + " Has only been able to achieve " + i + " out of " + cyclesToBuild); + break; + } + MHCall lastCall = graph.computeInboundCall(); Argument[] lastArgs = lastCall.getArgs(); MethodType type = lastCall.getTargetMH().type(); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -43,13 +43,37 @@ * @build vm.mlvm.meth.stress.compiler.deoptimize.Test * @run driver vm.mlvm.share.IndifiedClassesBuilder * - * @run main/othervm + * @requires vm.debug != true + * + * @run main/othervm/timeout=300 * -XX:ReservedCodeCacheSize=100m * vm.mlvm.meth.stress.compiler.deoptimize.Test * -threadsPerCpu 4 * -threadsExtra 2 */ + +/* + * @test + * + * @library /vmTestbase + * /test/lib + * @run driver jdk.test.lib.FileInstaller . . + * + * @comment build test class and indify classes + * @build vm.mlvm.meth.stress.compiler.deoptimize.Test + * @run driver vm.mlvm.share.IndifiedClassesBuilder + * + * @requires vm.debug == true + * + * @run main/othervm/timeout=300 + * -XX:ReservedCodeCacheSize=100m + * vm.mlvm.meth.stress.compiler.deoptimize.Test + * -threadsPerCpu 2 + * -threadsExtra 2 + */ + + package vm.mlvm.meth.stress.compiler.deoptimize; import java.lang.invoke.MethodHandle; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,6 +33,7 @@ import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; import java.lang.reflect.Method; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.locks.ReentrantLock; @@ -53,6 +54,7 @@ static MutableCallSite[] _cs = new MutableCallSite[THREAD_NUM]; static CyclicBarrier _threadRaceStartBarrier; + static CountDownLatch _threadsRunningLatch; static volatile boolean _testFailed; static volatile boolean _testDone; static volatile int _iteration; @@ -63,22 +65,22 @@ boolean locked = false; place = Thread.currentThread().getName() + ": " + place; if ( ! lockInterruptible ) { - Env.traceVerbose(place + ": Locking " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": Locking " + n); _locks[n].lock(); locked = true; } else { try { - Env.traceVerbose(place + ": Locking interruptibly " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": Locking interruptibly " + n); _locks[n].lockInterruptibly(); locked = true; if ( ! _testDone ) throw new Exception(place + ": LOCKED " + n); else - Env.traceVerbose(place + ": LOCKED " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": LOCKED " + n); } catch ( InterruptedException swallow ) { - Env.traceVerbose(place + ": interrupted while locking " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": interrupted while locking " + n); } } @@ -87,9 +89,9 @@ private static boolean unlock(String place, int n) throws Throwable { place = Thread.currentThread().getName() + ": " + place; - Env.traceVerbose(place + ": Unlocking " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": Unlocking " + n); _locks[n].unlock(); - Env.traceVerbose(place + ": UNLOCKED " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": UNLOCKED " + n); return false; } @@ -98,7 +100,7 @@ if ( l instanceof MethodHandles.Lookup ) { // Method is used as BSM - Env.traceVerbose(thread.getName() + ": Entered BSM. Lock=" + lockNum); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entered BSM. Lock=" + lockNum); if ( _iteration > 0 ) throw new Exception("BSM called twice!"); @@ -107,6 +109,7 @@ case 0: thread._lockedCurrent = lock("BSM", lockNum, false); _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("BSM", nextLock(lockNum), true); break; @@ -123,7 +126,7 @@ } else { // Method is used as target - Env.traceVerbose(thread.getName() + ": Entered target method. Lock=" + lockNum); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entered target method. Lock=" + lockNum); try { if ( _iteration > 0 ) { @@ -132,26 +135,29 @@ case 0: thread._lockedCurrent = lock("Target", lockNum, false); _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); break; case 1: thread._lockedCurrent = lock("Target", lockNum, false); _threadRaceStartBarrier.await(); - Env.traceVerbose(thread.getName() + ": Entering synchronize ( " + lockNum + " )"); + _threadsRunningLatch.countDown(); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entering synchronize ( " + lockNum + " )"); synchronized ( _locks[nextLock(lockNum)] ) { } - Env.traceVerbose(thread.getName() + ": Exited synchronize ( " + lockNum + " )"); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Exited synchronize ( " + lockNum + " )"); break; case 2: - Env.traceVerbose(thread.getName() + ": Entering synchronize ( " + lockNum + " )"); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entering synchronize ( " + lockNum + " )"); synchronized ( _locks[lockNum] ) { _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); thread._lockedNext = unlock("Target", nextLock(lockNum)); } - Env.traceVerbose(thread.getName() + ": Exited synchronize ( " + lockNum + " )"); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Exited synchronize ( " + lockNum + " )"); break; } @@ -163,12 +169,14 @@ case 1: _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); break; case 2: thread._lockedCurrent = lock("Target", lockNum, false); _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); break; } @@ -18205,8 +18213,9 @@ } boolean test() throws Throwable { - Env.traceNormal("Starting test..."); + Env.traceNormal("Iteration " + _iteration + " Starting test..."); + // Sanity check that all the locks are available. for ( int i = 0; i < THREAD_NUM; i++ ) { if ( _locks[i].isLocked() ) { Env.getLog().complain("Lock " + i + " is still locked!"); @@ -18217,60 +18226,87 @@ if ( _testFailed ) throw new Exception("Some locks are still locked"); + // Threads generally wait on this after claiming their first lock, + // and then when released will try to claim the second, which leads + // to deadlock. _threadRaceStartBarrier = new CyclicBarrier(THREAD_NUM + 1); + + // Threads signal this latch after being released from the startbarrier + // so that they are closer to triggering deadlock before the main thread + // starts to check for it. + _threadsRunningLatch = new CountDownLatch(THREAD_NUM); + _testDone = false; _testFailed = false; - for ( int i = 0; i < THREAD_NUM; i++ ) + // Start the new batch of threads. + for ( int i = 0; i < THREAD_NUM; i++ ) { (_threads[i] = new DeadlockedThread(i)).start(); + } try { + // If a thread encounters an error before it reaches the start barrier + // then we will hang here until the test times out. So we do a token + // check for such failure. + if (_testFailed) { + Env.complain("Unexpected thread failure before startBarrier was reached"); + return false; + } + _threadRaceStartBarrier.await(); - Env.traceVerbose("Start race..."); + Env.traceVerbose("Iteration " + _iteration + " Start race..."); - // - // Wait for the deadlock and detect it using ThreadMXBean - // - - boolean resultsReady = false; - for ( int i = 0; i < 10 && ! resultsReady && ! _testFailed; i++ ) { - Env.traceNormal("Waiting for threads to lock up..."); - Thread.sleep(100); - - resultsReady = true; - for ( int t = 0; t < THREAD_NUM; t++ ) { - if ( _iteration == 0 && t % 3 != 2 && ! _locks[t].hasQueuedThreads() ) { - Env.traceVerbose("Lock " + t + ": no waiters"); - resultsReady = false; - } else { - Env.traceVerbose("Lock " + t + ": has waiters"); - } - } + // Wait till all threads poised to deadlock. Again we may hang here + // if unexpected errors are encountered, so again a token check. + if (_testFailed) { + Env.complain("Unexpected thread failure after startBarrier was reached"); + return false; } - if ( ! resultsReady ) - Env.traceImportant("Warning: threads are still not deadlocked?"); + _threadsRunningLatch.await(); - long[] deadlockedThreads = _threadMXBean.findDeadlockedThreads(); - if ( deadlockedThreads == null ) { - Env.complain("Found no deadlocked threads. Expected to find " + THREAD_NUM); + // There is a race now between checking for a deadlock and the threads + // actually engaging in that deadlock. We can't query all of the "locks" + // involved to see if they are owned and have waiters (no API for built-in + // monitors). Nor can we check the thread states because they could be blocked + // on incidental synchronization (like I/O monitors when logging is enabled). + // So we simply loop checking for a deadlock until we find it, or else the + // overall test times out. + + long[] deadlockedThreads = null; + do { + deadlockedThreads = _threadMXBean.findDeadlockedThreads(); + } while (deadlockedThreads == null && !_testFailed); + + if (_testFailed) { + Env.complain("Unexpected thread failure while checking for deadlock"); return false; - } else if ( deadlockedThreads.length != THREAD_NUM ) { + } + + if (deadlockedThreads.length != THREAD_NUM) { Env.complain("Found " + deadlockedThreads.length + " deadlocked threads. Expected to find " + THREAD_NUM); return false; } else { Env.traceNormal("Found " + deadlockedThreads.length + " deadlocked threads as expected"); - return ! _testFailed; + return true; } } finally { + // Tells the locking threads the interrupt was expected. _testDone = true; + // Break the deadlock by dropping the attempt to lock + // the interruptible locks, which then causes all other + // locks to be released and allow threads acquiring + // non-interruptible locks to proceed. _threads[0].interrupt(); - for ( int i = 0; i < THREAD_NUM; i++ ) { - _threads[i].join(1000); - if ( _threads[i].isAlive() ) - Env.getLog().complain("Thread " + _threads[i].getName() + " is still alive"); + // Wait for all threads to terminate before proceeding to next + // iteration. If we only join() for a limited time and its too short + // then we not only complain here, but will also find locks that are + // still locked. It is far simpler to only proceed when all threads + // are done and rely on the overall test timeout to detect problems. + for (int i = 0; i < THREAD_NUM; i++) { + _threads[i].join(); } MutableCallSite.syncAll(_cs); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.jmpp openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.jmpp --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.jmpp 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/mixed/stress/java/findDeadlock/INDIFY_Test.jmpp 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -35,6 +35,7 @@ import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; import java.lang.reflect.Method; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.locks.ReentrantLock; @@ -55,6 +56,7 @@ static MutableCallSite[] _cs = new MutableCallSite[THREAD_NUM]; static CyclicBarrier _threadRaceStartBarrier; + static CountDownLatch _threadsRunningLatch; static volatile boolean _testFailed; static volatile boolean _testDone; static volatile int _iteration; @@ -65,22 +67,22 @@ boolean locked = false; place = Thread.currentThread().getName() + ": " + place; if ( ! lockInterruptible ) { - Env.traceVerbose(place + ": Locking " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": Locking " + n); _locks[n].lock(); locked = true; } else { try { - Env.traceVerbose(place + ": Locking interruptibly " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": Locking interruptibly " + n); _locks[n].lockInterruptibly(); locked = true; if ( ! _testDone ) throw new Exception(place + ": LOCKED " + n); else - Env.traceVerbose(place + ": LOCKED " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": LOCKED " + n); } catch ( InterruptedException swallow ) { - Env.traceVerbose(place + ": interrupted while locking " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": interrupted while locking " + n); } } @@ -89,9 +91,9 @@ private static boolean unlock(String place, int n) throws Throwable { place = Thread.currentThread().getName() + ": " + place; - Env.traceVerbose(place + ": Unlocking " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": Unlocking " + n); _locks[n].unlock(); - Env.traceVerbose(place + ": UNLOCKED " + n); + Env.traceVerbose("Iteration " + _iteration + " " + place + ": UNLOCKED " + n); return false; } @@ -100,7 +102,7 @@ if ( l instanceof MethodHandles.Lookup ) { // Method is used as BSM - Env.traceVerbose(thread.getName() + ": Entered BSM. Lock=" + lockNum); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entered BSM. Lock=" + lockNum); if ( _iteration > 0 ) throw new Exception("BSM called twice!"); @@ -109,6 +111,7 @@ case 0: thread._lockedCurrent = lock("BSM", lockNum, false); _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("BSM", nextLock(lockNum), true); break; @@ -125,7 +128,7 @@ } else { // Method is used as target - Env.traceVerbose(thread.getName() + ": Entered target method. Lock=" + lockNum); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entered target method. Lock=" + lockNum); try { if ( _iteration > 0 ) { @@ -134,26 +137,29 @@ case 0: thread._lockedCurrent = lock("Target", lockNum, false); _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); break; case 1: thread._lockedCurrent = lock("Target", lockNum, false); _threadRaceStartBarrier.await(); - Env.traceVerbose(thread.getName() + ": Entering synchronize ( " + lockNum + " )"); + _threadsRunningLatch.countDown(); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entering synchronize ( " + lockNum + " )"); synchronized ( _locks[nextLock(lockNum)] ) { } - Env.traceVerbose(thread.getName() + ": Exited synchronize ( " + lockNum + " )"); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Exited synchronize ( " + lockNum + " )"); break; case 2: - Env.traceVerbose(thread.getName() + ": Entering synchronize ( " + lockNum + " )"); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Entering synchronize ( " + lockNum + " )"); synchronized ( _locks[lockNum] ) { _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); thread._lockedNext = unlock("Target", nextLock(lockNum)); } - Env.traceVerbose(thread.getName() + ": Exited synchronize ( " + lockNum + " )"); + Env.traceVerbose("Iteration " + _iteration + " " + thread.getName() + ": Exited synchronize ( " + lockNum + " )"); break; } @@ -165,12 +171,14 @@ case 1: _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); break; case 2: thread._lockedCurrent = lock("Target", lockNum, false); _threadRaceStartBarrier.await(); + _threadsRunningLatch.countDown(); thread._lockedNext = lock("Target", nextLock(lockNum), true); break; } @@ -255,8 +263,9 @@ } boolean test() throws Throwable { - Env.traceNormal("Starting test..."); + Env.traceNormal("Iteration " + _iteration + " Starting test..."); + // Sanity check that all the locks are available. for ( int i = 0; i < THREAD_NUM; i++ ) { if ( _locks[i].isLocked() ) { Env.getLog().complain("Lock " + i + " is still locked!"); @@ -267,60 +276,87 @@ if ( _testFailed ) throw new Exception("Some locks are still locked"); + // Threads generally wait on this after claiming their first lock, + // and then when released will try to claim the second, which leads + // to deadlock. _threadRaceStartBarrier = new CyclicBarrier(THREAD_NUM + 1); + + // Threads signal this latch after being released from the startbarrier + // so that they are closer to triggering deadlock before the main thread + // starts to check for it. + _threadsRunningLatch = new CountDownLatch(THREAD_NUM); + _testDone = false; _testFailed = false; - for ( int i = 0; i < THREAD_NUM; i++ ) + // Start the new batch of threads. + for ( int i = 0; i < THREAD_NUM; i++ ) { (_threads[i] = new DeadlockedThread(i)).start(); + } try { + // If a thread encounters an error before it reaches the start barrier + // then we will hang here until the test times out. So we do a token + // check for such failure. + if (_testFailed) { + Env.complain("Unexpected thread failure before startBarrier was reached"); + return false; + } + _threadRaceStartBarrier.await(); - Env.traceVerbose("Start race..."); + Env.traceVerbose("Iteration " + _iteration + " Start race..."); - // - // Wait for the deadlock and detect it using ThreadMXBean - // - - boolean resultsReady = false; - for ( int i = 0; i < 10 && ! resultsReady && ! _testFailed; i++ ) { - Env.traceNormal("Waiting for threads to lock up..."); - Thread.sleep(100); - - resultsReady = true; - for ( int t = 0; t < THREAD_NUM; t++ ) { - if ( _iteration == 0 && t % 3 != 2 && ! _locks[t].hasQueuedThreads() ) { - Env.traceVerbose("Lock " + t + ": no waiters"); - resultsReady = false; - } else { - Env.traceVerbose("Lock " + t + ": has waiters"); - } - } + // Wait till all threads poised to deadlock. Again we may hang here + // if unexpected errors are encountered, so again a token check. + if (_testFailed) { + Env.complain("Unexpected thread failure after startBarrier was reached"); + return false; } - if ( ! resultsReady ) - Env.traceImportant("Warning: threads are still not deadlocked?"); + _threadsRunningLatch.await(); - long[] deadlockedThreads = _threadMXBean.findDeadlockedThreads(); - if ( deadlockedThreads == null ) { - Env.complain("Found no deadlocked threads. Expected to find " + THREAD_NUM); + // There is a race now between checking for a deadlock and the threads + // actually engaging in that deadlock. We can't query all of the "locks" + // involved to see if they are owned and have waiters (no API for built-in + // monitors). Nor can we check the thread states because they could be blocked + // on incidental synchronization (like I/O monitors when logging is enabled). + // So we simply loop checking for a deadlock until we find it, or else the + // overall test times out. + + long[] deadlockedThreads = null; + do { + deadlockedThreads = _threadMXBean.findDeadlockedThreads(); + } while (deadlockedThreads == null && !_testFailed); + + if (_testFailed) { + Env.complain("Unexpected thread failure while checking for deadlock"); return false; - } else if ( deadlockedThreads.length != THREAD_NUM ) { + } + + if (deadlockedThreads.length != THREAD_NUM) { Env.complain("Found " + deadlockedThreads.length + " deadlocked threads. Expected to find " + THREAD_NUM); return false; } else { Env.traceNormal("Found " + deadlockedThreads.length + " deadlocked threads as expected"); - return ! _testFailed; + return true; } } finally { + // Tells the locking threads the interrupt was expected. _testDone = true; + // Break the deadlock by dropping the attempt to lock + // the interruptible locks, which then causes all other + // locks to be released and allow threads acquiring + // non-interruptible locks to proceed. _threads[0].interrupt(); - for ( int i = 0; i < THREAD_NUM; i++ ) { - _threads[i].join(1000); - if ( _threads[i].isAlive() ) - Env.getLog().complain("Thread " + _threads[i].getName() + " is still alive"); + // Wait for all threads to terminate before proceeding to next + // iteration. If we only join() for a limited time and its too short + // then we not only complain here, but will also find locks that are + // still locked. It is far simpler to only proceed when all threads + // are done and rely on the overall test timeout to detect problems. + for (int i = 0; i < THREAD_NUM; i++) { + _threads[i].join(); } MutableCallSite.syncAll(_cs); diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/jdi/JDIBreakpointTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/jdi/JDIBreakpointTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/jdi/JDIBreakpointTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/jdi/JDIBreakpointTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -45,6 +45,7 @@ import com.sun.jdi.ThreadReference; import com.sun.jdi.Value; import com.sun.jdi.VirtualMachine; +import com.sun.jdi.VMDisconnectedException; import com.sun.jdi.event.BreakpointEvent; import com.sun.jdi.event.ClassPrepareEvent; import com.sun.jdi.event.Event; @@ -358,8 +359,12 @@ } }.go(); - if (!debuggee.terminated()) - debuggee.endDebugee(); + if (!debuggee.terminated()) { + try { + debuggee.dispose(); + } catch (VMDisconnectedException ignore) { + } + } debuggee.waitFor(); return true; diff -Nru openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java --- openjdk-11-11.0.22+7/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* -1;2c * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -332,7 +332,7 @@ e.printStackTrace(); } } - + addFailureCount(1); if (failFast) { throw new TestFailure(e.getCause()); } diff -Nru openjdk-11-11.0.22+7/test/jaxp/TEST.groups openjdk-11-11.0.23+9/test/jaxp/TEST.groups --- openjdk-11-11.0.22+7/test/jaxp/TEST.groups 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/TEST.groups 2024-04-08 05:38:38.000000000 +0000 @@ -20,6 +20,14 @@ # questions. # +# All tests + +all = \ + :jaxp_all + +jaxp_all = \ + / + # Tiered testing definitions # No jaxp tests are tier 1. @@ -34,6 +42,3 @@ # No tier 4 tests. tier4 = - -jaxp_all = \ - javax/xml/jaxp diff -Nru openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java --- openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,9 @@ package jaxp.library; +import java.net.URI; import java.net.URL; +import java.nio.file.Path; import java.security.CodeSource; import java.security.Permission; import java.security.PermissionCollection; @@ -161,7 +163,7 @@ */ class TestPolicy extends Policy { private final static Set TEST_JARS = - Set.of("jtreg.jar", "javatest.jar", "testng.jar", "jcommander.jar"); + Set.of("jtreg.*jar", "javatest.*jar", "testng.*jar", "jcommander.*jar"); private final PermissionCollection permissions = new Permissions(); private ThreadLocal> transientPermissions = new ThreadLocal<>(); @@ -213,9 +215,10 @@ private boolean isTestMachineryDomain(ProtectionDomain domain) { CodeSource cs = (domain == null) ? null : domain.getCodeSource(); URL loc = (cs == null) ? null : cs.getLocation(); - String path = (loc == null) ? null : loc.getPath(); - return path != null && TEST_JARS.stream() - .filter(path::endsWith) + URI uri = (loc == null) ? null : URI.create(loc.toString()); + String name = (uri == null) ? null : Path.of(uri).getFileName().toString(); + return name != null && TEST_JARS.stream() + .filter(name::matches) .findAny() .isPresent(); } diff -Nru openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/XMLStreamWriterTest.java openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/XMLStreamWriterTest.java --- openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/XMLStreamWriterTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/XMLStreamWriterTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -42,11 +42,11 @@ /* * @test - * @bug 6347190 8139584 + * @bug 6347190 8139584 8216408 * @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest * @run testng/othervm -DrunSecMngr=true stream.XMLStreamWriterTest.XMLStreamWriterTest * @run testng/othervm stream.XMLStreamWriterTest.XMLStreamWriterTest - * @summary Test StAX Writer won't insert comment into element inside. + * @summary Tests XMLStreamWriter. */ @Listeners({jaxp.library.BasePolicy.class}) public class XMLStreamWriterTest { @@ -94,12 +94,14 @@ } /** - * Test of main method, of class TestXMLStreamWriter. + * Verifies that the StAX Writer won't insert comment into the element tag. */ @Test public void testWriteComment() { try { - String xml = "java.sun.com"; + String xml = "" + + "" + + "java.sun.com"; XMLOutputFactory f = XMLOutputFactory.newInstance(); // f.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, // Boolean.TRUE); @@ -122,4 +124,18 @@ } } + /** + * @bug 8216408 + * Verifies that setDefaultNamespace accepts null. + * + * @throws Exception + */ + @Test + public void testSetDefaultNamespace() throws Exception { + XMLOutputFactory f = XMLOutputFactory.newFactory(); + f.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, true); + StringWriter sw = new StringWriter(); + XMLStreamWriter xsw = f.createXMLStreamWriter(sw); + xsw.setDefaultNamespace(null); + } } diff -Nru openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathAnyTypeTest.java openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathAnyTypeTest.java --- openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathAnyTypeTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathAnyTypeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -90,7 +90,8 @@ */ @Test(dataProvider = "document") public void test04(XPath xpath, Document doc) throws XPathExpressionException { - boolean result1 = xpath.evaluateExpression("boolean(/Customers/Customer[@id=3])", doc, Boolean.class); + boolean result1 = xpath.evaluateExpression("boolean" + + "(/Customers/Customer[@id=\"x3\"])", doc, Boolean.class); assertTrue(result1); } @@ -121,7 +122,8 @@ */ @Test(dataProvider = "document") public void test07(XPath xpath, Document doc) throws XPathExpressionException { - String result1 = xpath.evaluateExpression("string(/Customers/Customer[@id=3]/Phone/text())", doc, String.class); + String result1 = xpath.evaluateExpression("string(/Customers/Customer" + + "[@id=\"x3\"]/Phone/text())", doc, String.class); assertTrue(result1.equals("3333333333")); } @@ -142,7 +144,8 @@ */ @Test(dataProvider = "document") public void test09(XPath xpath, Document doc) throws XPathExpressionException { - Node n = xpath.evaluateExpression("/Customers/Customer[@id=3]", doc, Node.class); + Node n = xpath.evaluateExpression("/Customers/Customer[@id=\"x3\"]", + doc, Node.class); assertEquals(n.getLocalName(), "Customer"); } @@ -151,7 +154,8 @@ */ @Test(dataProvider = "document", expectedExceptions = IllegalArgumentException.class) public void test10(XPath xpath, Document doc) throws XPathExpressionException { - File n = xpath.evaluateExpression("/Customers/Customer[@id=3]", doc, File.class); + File n = xpath.evaluateExpression("/Customers/Customer[@id=\"x3\"]", + doc, File.class); } /* @@ -159,7 +163,8 @@ */ @Test(dataProvider = "document") public void test11(XPath xpath, Document doc) throws XPathExpressionException { - XPathEvaluationResult result = xpath.evaluateExpression("boolean(/Customers/Customer[@id=3])", doc); + XPathEvaluationResult result = xpath.evaluateExpression( + "boolean(/Customers/Customer[@id=\"x3\"])", doc); verifyResult(result, true); } @@ -178,7 +183,7 @@ @Test(dataProvider = "document") public void test13(XPath xpath, Document doc) throws XPathExpressionException { XPathEvaluationResult result = xpath.evaluateExpression( - "string(/Customers/Customer[@id=3]/Phone/text())", doc, XPathEvaluationResult.class); + "string(/Customers/Customer[@id=\"x3\"]/Phone/text())", doc, XPathEvaluationResult.class); verifyResult(result, "3333333333"); } @@ -196,7 +201,8 @@ */ @Test(dataProvider = "document") public void test15(XPath xpath, Document doc) throws XPathExpressionException { - XPathEvaluationResult result = xpath.evaluateExpression("/Customers/Customer[@id=3]", doc); + XPathEvaluationResult result = xpath.evaluateExpression( + "/Customers/Customer[@id=\"x3\"]", doc); verifyResult(result, "Customer"); } } diff -Nru openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpAnyTypeTest.java openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpAnyTypeTest.java --- openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpAnyTypeTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpAnyTypeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -76,7 +76,7 @@ */ @Test(dataProvider = "document") public void test04(XPath xpath, Document doc) throws XPathExpressionException { - XPathExpression exp = xpath.compile("boolean(/Customers/Customer[@id=3])"); + XPathExpression exp = xpath.compile("boolean(/Customers/Customer[@id=\"x3\"])"); boolean result1 = exp.evaluateExpression(doc, Boolean.class); assertTrue(result1); } @@ -99,7 +99,7 @@ */ @Test(dataProvider = "document") public void test06(XPath xpath, Document doc) throws XPathExpressionException { - XPathExpression exp = xpath.compile("string(/Customers/Customer[@id=3]/Phone/text())"); + XPathExpression exp = xpath.compile("string(/Customers/Customer[@id=\"x3\"]/Phone/text())"); String result1 = exp.evaluateExpression(doc, String.class); assertTrue(result1.equals("3333333333")); } @@ -122,7 +122,7 @@ */ @Test(dataProvider = "document") public void test08(XPath xpath, Document doc) throws XPathExpressionException { - XPathExpression exp = xpath.compile("/Customers/Customer[@id=3]"); + XPathExpression exp = xpath.compile("/Customers/Customer[@id=\"x3\"]"); Node n = exp.evaluateExpression(doc, Node.class); assertEquals(n.getLocalName(), "Customer"); } @@ -132,7 +132,7 @@ */ @Test(dataProvider = "document", expectedExceptions = IllegalArgumentException.class) public void test09(XPath xpath, Document doc) throws XPathExpressionException { - XPathExpression exp = xpath.compile("/Customers/Customer[@id=3]"); + XPathExpression exp = xpath.compile("/Customers/Customer[@id=\"x3\"]"); File n = exp.evaluateExpression(doc, File.class); } @@ -141,7 +141,7 @@ */ @Test(dataProvider = "document") public void test10(XPath xpath, Document doc) throws XPathExpressionException { - XPathExpression exp = xpath.compile("boolean(/Customers/Customer[@id=3])"); + XPathExpression exp = xpath.compile("boolean(/Customers/Customer[@id=\"x3\"])"); XPathEvaluationResult result = exp.evaluateExpression(doc); verifyResult(result, true); } @@ -161,7 +161,7 @@ */ @Test(dataProvider = "document") public void test12(XPath xpath, Document doc) throws XPathExpressionException { - XPathExpression exp = xpath.compile("string(/Customers/Customer[@id=3]/Phone/text())"); + XPathExpression exp = xpath.compile("string(/Customers/Customer[@id=\"x3\"]/Phone/text())"); XPathEvaluationResult result = exp.evaluateExpression(doc, XPathEvaluationResult.class); verifyResult(result, "3333333333"); } @@ -181,7 +181,7 @@ */ @Test(dataProvider = "document") public void test14(XPath xpath, Document doc) throws XPathExpressionException { - XPathExpression exp = xpath.compile("/Customers/Customer[@id=3]"); + XPathExpression exp = xpath.compile("/Customers/Customer[@id=\"x3\"]"); XPathEvaluationResult result = exp.evaluateExpression(doc); verifyResult(result, "Customer"); } diff -Nru openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpChildTest.java openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpChildTest.java --- openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpChildTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpChildTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,236 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package xpath; + +import org.testng.Assert; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.xpath.XPath; +import javax.xml.xpath.XPathConstants; +import javax.xml.xpath.XPathExpressionException; +import javax.xml.xpath.XPathFactory; +import java.io.ByteArrayInputStream; +import java.io.InputStream; + +/* + * @test + * @bug 8289511 + * @run testng/othervm xpath.XPathExpChildTest + * @summary Tests for XPath child axis specifier. + */ +public class XPathExpChildTest { + + private static final String XML = + "\n" + + " \n" + + " \n" + + " <author id=\"1\"/>\n" + + " <isbn>1234</isbn>\n" + + " </book>\n" + + " <book id=\"2\" lang=\"en\">\n" + + " <title/>\n" + + " <author id=\"2\"/>\n" + + " <isbn>5678</isbn>\n" + + " </book>\n" + + "</store>"; + private static final String AUTHOR_1 = "author_1"; + private static final String AUTHOR_2 = "author_2"; + private static final Document doc; + + static { + try { + var builder = + DocumentBuilderFactory.newInstance().newDocumentBuilder(); + InputStream s = new ByteArrayInputStream(XML.getBytes()); + doc = builder.parse(s); + } catch (Exception e) { + System.out.println("Exception while initializing XML document"); + throw new RuntimeException(e.getMessage()); + } + } + + /* + * DataProvider: provides XPath expression and expected result + */ + @DataProvider(name = "parameters") + public Object[][] getXPathExpression() { + return new Object[][]{ + // abbreviated text + {"/store/book/author", AUTHOR_1}, + {"/child::store/child::book/child::author", AUTHOR_1}, + {"/store/child::book/author", AUTHOR_1}, + + // any nodes + {"/store/book/child::*[2]", AUTHOR_1}, + {"/store/child::*[child::author]/author", AUTHOR_1}, + {"/store/child::*[child::author][2]/author", AUTHOR_2}, + {"/store/child::node()/child::author", AUTHOR_1}, + {"/store/child::node()[child::author]/author", AUTHOR_1}, + {"/store/child::node()[child::author][2]/author", AUTHOR_2}, + + // position + {"/store/child::book[position()=1]/author", AUTHOR_1}, + {"/store/child::book[last()]/author", AUTHOR_2}, + + // descendant + {"//book/child::*[2]", AUTHOR_1}, + {"//child::*[child::author]/author", AUTHOR_1}, + {"//child::*[child::author][2]/author", AUTHOR_2}, + {"//child::node()/child::author", AUTHOR_1}, + {"//child::node()[child::author]/author", AUTHOR_1}, + {"//child::node()[child::author][2]/author", AUTHOR_2}, + + // parent node + {"//child::book/../child::book/child::author", AUTHOR_1}, + + // dot reference + {"//child::book/./child::author", AUTHOR_1}, + {"//child::node()/./child::author", AUTHOR_1}, + {"//././/./child::author", AUTHOR_1}, + + // attributes + {"/store/child::book[@id=1]/author", AUTHOR_1}, + {"/store/child::book[attribute::id=1]/author", AUTHOR_1}, + {"/store/child::book[@id]/author", AUTHOR_1}, + {"/store/child::book[@id=1][@lang='en']/author", AUTHOR_1}, + {"/store/child::book[@lang='en'][1]/author", AUTHOR_1}, + {"/store/child::book[child::isbn='1234']/author", AUTHOR_1}, + {"/store/child::book[@lang='en' and " + + "child::isbn='1234']/author", AUTHOR_1}, + {"/store/child::*[@lang='en'][2]/author", AUTHOR_2}, + {"/store/child::node()[@id='1']/author", AUTHOR_1}, + {"/store/child::node()[@lang='en'][2]/author", AUTHOR_2}, + {"/store/child::*[child::author][child::title][@id='2']/author", + AUTHOR_2}, + {"/store/child::*[child::author or child::ssn][@id='2']/author", + AUTHOR_2}, + {"/store/child::*[child::*]/author", AUTHOR_1}, + {"/store/child::*[attribute::*]/author", AUTHOR_1}, + {"/store/*[*][*][*][*][*][*][*][*]/author", AUTHOR_1}, + {"/store/*[@*][@*][@*][@*][@*][@*][@*][@*]/author", AUTHOR_1}, + {"//author[@*]", AUTHOR_1}, + + // text node + {"/store/book[1]/isbn/child::text()/../../author", AUTHOR_1}, + {"/store/book/isbn[child::text()='5678']/../author", AUTHOR_2}, + {"/store/book/isbn[.='5678']/../author", AUTHOR_2}, + + // count child nodes + {"/store/book[count(./child::author)]/author", AUTHOR_1}, + {"/store/book[count(child::author)]/author", AUTHOR_1}, + {"/store/book[count(../child::book)]/author", AUTHOR_2}, + }; + } + + /* + * DataProvider: provides XPath expressions that return zero children + */ + @DataProvider(name = "zeroChildrenExp") + public Object[][] getZeroChildrenExp() { + return new Object[][]{ + {"/store/book[3]/author"}, + {"/store/book/author/ssn"}, + {"/store/child[book]/author"}, + {"/store/child[@id='1']/book/author"}, + {"/store/child::*[@category]/author"}, + {"//author[*]/../author"}, + {"//title[@*]/../author"}, + {"/store/book[-1]/author"}, + {"/store/child:book/author"}, + {"//book[.='1']/author"}, + }; + } + + /* + * DataProvider: provides invalid XPath expression and expected exception + * to be thrown + */ + @DataProvider(name = "invalidExp") + public Object[][] getInvalidExp() { + return new Object[][]{ + // XPathExpressionException + {"/store/*[child::author] and [child::title]/author", + XPathExpressionException.class}, + {"//book[@id='en'] and book[@lang='en']/author", + XPathExpressionException.class}, + {"/store/book[child::count()]/author", + XPathExpressionException.class}, + {"//book[child::position()=1]", XPathExpressionException.class}, + }; + } + + /** + * Verifies XPath child axis specifier. + * + * @param exp XPath expression + * @param expected expected result + * @throws Exception + */ + @Test(dataProvider = "parameters") + void testXPathEvaluate(String exp, String expected) throws Exception { + XPath xPath = XPathFactory.newInstance().newXPath(); + NodeList nl = (NodeList) xPath.evaluate(exp, doc, + XPathConstants.NODESET); + Node node = xPath.evaluateExpression(exp, doc, Node.class); + Assert.assertEquals(nl.item(0).getNodeName(), node.getNodeName()); + Assert.assertEquals(nl.item(0).getNodeValue(), node.getNodeValue()); + Assert.assertEquals(nl.item(0).getAttributes(), node.getAttributes()); + + Assert.assertEquals(node.getNodeName() + "_" + + node.getAttributes().item(0).getNodeValue(), + expected); + } + + /** + * Verifies no child nodes returned from the XPath expression. + * + * @param exp XPath expression + * @throws Exception + */ + @Test(dataProvider = "zeroChildrenExp") + void testZeroChildrenExp(String exp) throws Exception { + XPath xPath = XPathFactory.newInstance().newXPath(); + Node node = xPath.evaluateExpression(exp, doc, Node.class); + Assert.assertNull(node); + } + + /** + * Verifies exception thrown for invalid expression. + * + * @param exp XPath expression + * @param throwableClass expected exception + * @throws Exception + */ + @Test(dataProvider = "invalidExp") + void testInvalidExp(String exp, Class throwableClass) throws Exception { + XPath xPath = XPathFactory.newInstance().newXPath(); + Assert.assertThrows(throwableClass, + () -> ((NodeList) xPath.evaluate(exp, doc, + XPathConstants.NODESET)).item(0).getNodeName()); + } +} diff -Nru openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathNodeSetFnTest.java openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathNodeSetFnTest.java --- openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathNodeSetFnTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathNodeSetFnTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,222 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package xpath; + +import org.testng.Assert; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; +import org.w3c.dom.Document; +import org.w3c.dom.Node; + +import javax.xml.xpath.*; + +/* + * @test + * @bug 8289948 + * @library /javax/xml/jaxp/unittest + * @run testng xpath.XPathNodeSetFnTest + * @summary Tests the XPath Node Set Functions + */ +public class XPathNodeSetFnTest extends XPathTestBase { + + private static final Document doc = getDtdDocument(); + + /* + * DataProvider for testing the id function. + * Data columns: + * see parameters of the test "testIdFn" + */ + @DataProvider(name = "idExpTestCases") + public Object[][] getIdExp() { + return new Object[][]{ + {"id('x3')", "Customer_x3"}, + {"id('x1 x2 x3')[3]", "Customer_x3"}, + {"id('x1 | x2 | x3')[3]", "Customer_x3"}, + {"id('x')", "Email_x"}, + {"id(//Customer[3]/@id)", "Customer_x3"}, + {"id(//*[.='123@xyz.com']/@id)", "Email_x"}, + }; + } + + /* + * DataProvider for testing the count function. + * Data columns: + * see parameters of the test "testCountFn" + */ + @DataProvider(name = "countExpTestCases") + public Object[][] getCountExp() { + return new Object[][]{ + {"count(//Customer)", CUSTOMERS}, + {"count(//@id)", ID_ATTRIBUTES}, + {"count(//Customer/@id)", CUSTOMERS}, + {"count(//@*)", ID_ATTRIBUTES + FOO_ID_ATTRIBUTES}, + {"count(//*)", + ROOT + CUSTOMERS + FOO_CUSTOMERS + + (CUSTOMERS + FOO_CUSTOMERS) * + CUSTOMER_ELEMENTS}, + {"count(//*[@id])", ID_ATTRIBUTES}, + {"count(./*)", ROOT}, + {"count(//Customer[1]/following::*)", + CUSTOMERS - 1 + FOO_CUSTOMERS + + (CUSTOMERS - 1 + FOO_CUSTOMERS) * + CUSTOMER_ELEMENTS}, + {"count(//Customer[1]/following-sibling::*)", + CUSTOMERS - 1 + FOO_CUSTOMERS}, + {"count(//Customer[3]/preceding::*)", + CUSTOMERS - 1 + (CUSTOMERS - 1) * CUSTOMER_ELEMENTS}, + {"count(//Customer[3]/preceding-sibling::*)", CUSTOMERS - 1}, + {"count(//Customer[1]/ancestor::*)", ROOT}, + {"count(//Customer[1]/ancestor-or-self::*)", ROOT + 1}, + {"count(//Customer[1]/descendant::*)", CUSTOMER_ELEMENTS}, + {"count(//Customer[1]/descendant-or-self::*)", + CUSTOMER_ELEMENTS + 1}, + {"count(//Customer/node())", + ID_ATTRIBUTES + CUSTOMERS * CUSTOMER_ELEMENTS}, + }; + } + + /* + * DataProvider for testing the position function. + * Data columns: + * see parameters of the test "testPositionFn" + */ + @DataProvider(name = "positionExpTestCases") + public Object[][] getPositionExp() { + return new Object[][]{ + {"//Customer[position()=1]", "Customer_x1"}, + {"//Customer[position()=last()]", "Customer_x3"}, + {"//Customer[position()>1 and position()<last()]", + "Customer_x2"}, + {"//Customer[position() mod 2 =0]", "Customer_x2"}, + {"//Customer[last()]", "Customer_x3"}, + }; + } + + /* + * DataProvider for testing the name and local-name functions. + * Data columns: + * see parameters of the test "testNameFn" + */ + @DataProvider(name = "nameExpTestCases") + public Object[][] getNameExp() { + return new Object[][]{ + {"local-name(//Customer)", "Customer"}, + {"local-name(//foo:Customer)", "Customer"}, + {"local-name(//Customer/@id)", "id"}, + {"local-name(//foo:Customer/@foo:id)", "id"}, + {"local-name(//*[local-name()='Customer'])", "Customer"}, + {"namespace-uri(.)", ""}, + {"namespace-uri(//Customers)", ""}, + {"namespace-uri(//Customer)", ""}, + {"namespace-uri(//foo:Customer)", "foo"}, + {"namespace-uri(//@id)", ""}, + {"namespace-uri(//@foo:id)", "foo"}, + {"name(//*[namespace-uri()=\"foo\"])", "foo:Customer"}, + {"name(//Customer)", "Customer"}, + {"name(//foo:Customer)", "foo:Customer"}, + {"name(//Customer/@id)", "id"}, + {"name(//foo:Customer/@foo:id)", "foo:id"}, + {"name(//*[name()='foo:Customer'])", "foo:Customer"}, + }; + } + + /** + * Verifies that the result of evaluating the id function matches the + * expected result. + * + * @param exp XPath expression + * @param expected expected result + * @throws Exception if test fails + */ + @Test(dataProvider = "idExpTestCases") + void testIdFn(String exp, String expected) throws Exception { + XPath xPath = XPathFactory.newInstance().newXPath(); + + Node node = xPath.evaluateExpression(exp, doc, Node.class); + Node node2 = (Node) xPath.evaluate(exp, doc, XPathConstants.NODE); + + Assert.assertEquals(node.getNodeName() + "_" + + node.getAttributes().item(0).getNodeValue() + , expected); + Assert.assertEquals(node2, node); + } + + /** + * Verifies that the result of evaluating the count function matches the + * expected result. + * + * @param exp XPath expression + * @param expected expected result + * @throws Exception if test fails + */ + @Test(dataProvider = "countExpTestCases") + void testCountFn(String exp, int expected) throws Exception { + XPath xPath = XPathFactory.newInstance().newXPath(); + + double num = xPath.evaluateExpression(exp, doc, Double.class); + double num2 = (double) xPath.evaluate(exp, doc, XPathConstants.NUMBER); + + Assert.assertEquals(num, expected); + Assert.assertEquals(num2, num); + } + + /** + * Verifies that the result of evaluating the position function matches the + * expected result. + * + * @param exp XPath expression + * @param expected expected result + * @throws Exception if test fails + */ + @Test(dataProvider = "positionExpTestCases") + void testPositionFn(String exp, String expected) throws Exception { + XPath xPath = XPathFactory.newInstance().newXPath(); + + Node node = xPath.evaluateExpression(exp, doc, Node.class); + Node node2 = (Node) xPath.evaluate(exp, doc, XPathConstants.NODE); + + Assert.assertEquals(node.getNodeName() + "_" + + node.getAttributes().item(0).getNodeValue() + , expected); + Assert.assertEquals(node2, node); + } + + /** + * Verifies that the result of evaluating the name and local-name functions + * matches the expected result. + * + * @param exp XPath expression + * @param expected expected result + * @throws Exception if test fails + */ + @Test(dataProvider = "nameExpTestCases") + void testNameFn(String exp, String expected) throws Exception { + XPath xPath = XPathFactory.newInstance().newXPath(); + + String s = xPath.evaluateExpression(exp, doc, String.class); + String s2 = (String) xPath.evaluate(exp, doc, XPathConstants.STRING); + + Assert.assertEquals(s, expected); + Assert.assertEquals(s2, s); + } +} diff -Nru openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathTestBase.java openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathTestBase.java --- openjdk-11-11.0.22+7/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathTestBase.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jaxp/javax/xml/jaxp/unittest/xpath/XPathTestBase.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,11 +31,6 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathFactory; -import static javax.xml.xpath.XPathConstants.BOOLEAN; -import static javax.xml.xpath.XPathConstants.NUMBER; -import static javax.xml.xpath.XPathConstants.STRING; -import static javax.xml.xpath.XPathConstants.NODE; -import static javax.xml.xpath.XPathConstants.NODESET; import javax.xml.xpath.XPathNodes; import javax.xml.xpath.XPathEvaluationResult; @@ -51,42 +46,123 @@ * Base class for XPath test */ class XPathTestBase { + static final String DECLARATION = "<?xml version=\"1.0\" " + + "encoding=\"UTF-8\" standalone=\"yes\"?>"; - static final String rawXML - = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" - + "<Customers>" - + " <Customer id=\"1\">" + static final String DTD = String.join(System.lineSeparator(), + "<!DOCTYPE Customers [", + " <!ELEMENT Customers (Customer*)>", + " <!ELEMENT Customer (Name, Phone, Email, Address)>", + " <!ELEMENT Name (#PCDATA)>", + " <!ELEMENT Phone (#PCDATA)>", + " <!ELEMENT Email (#PCDATA)>", + " <!ELEMENT Address (Street, City, State)>", + " <!ELEMENT Street (#PCDATA)>", + " <!ELEMENT City (#PCDATA)>", + " <!ELEMENT State (#PCDATA)>", + " <!ATTLIST Customer id ID #REQUIRED>", + " <!ATTLIST Email id ID #REQUIRED>", + "]>", + "" + ); + + static final String RAW_XML + = "<Customers xmlns:foo=\"foo\">" + + " <Customer id=\"x1\">" + " <Name>name1</Name>" + " <Phone>1111111111</Phone>" - + " <Email>123@xyz.com</Email>" + + " <Email id=\"x\">123@xyz.com</Email>" + " <Address>" + " <Street>1111 111st ave</Street>" + " <City>The City</City>" + " <State>The State</State>" + " </Address>" + " </Customer>" - + " <Customer id=\"2\">" - + " <Name>name1</Name>" + + " <Customer id=\"x2\">" + + " <Name>name2</Name>" + " <Phone>2222222222</Phone>" - + " <Email>123@xyz.com</Email>" + + " <Email id=\"y\">123@xyz.com</Email>" + " <Address>" + " <Street>2222 222nd ave</Street>" + " <City>The City</City>" + " <State>The State</State>" + " </Address>" + " </Customer>" - + " <Customer id=\"3\">" - + " <Name>name1</Name>" + + " <Customer id=\"x3\">" + + " <Name>name3</Name>" + " <Phone>3333333333</Phone>" - + " <Email>123@xyz.com</Email>" + + " <Email id=\"z\">123@xyz.com</Email>" + " <Address>" + " <Street>3333 333rd ave</Street>" + " <City>The City</City>" + " <State>The State</State>" + " </Address>" + " </Customer>" + + " <foo:Customer foo:id=\"x1\">" + + " <foo:Name>name1</foo:Name>" + + " <foo:Phone>1111111111</foo:Phone>" + + " <foo:Email foo:id=\"x\">123@xyz.com</foo:Email>" + + " <foo:Address>" + + " <foo:Street>1111 111st ave</foo:Street>" + + " <foo:City>The City</foo:City>" + + " <foo:State>The State</foo:State>" + + " </foo:Address>" + + " </foo:Customer>" + "</Customers>"; + // Number of root element. + final int ROOT = 1; + // Number of Customer elements. + final int CUSTOMERS = 3; + // Number of id attributes. + final int ID_ATTRIBUTES = 6; + // Number of child elements of Customer. + final int CUSTOMER_ELEMENTS = 7; + // Number of Customer in the foo namespace. + final int FOO_CUSTOMERS = 1; + // Number of id attributes in the foo namespace. + final int FOO_ID_ATTRIBUTES = 2; + + /** + * Returns a {@link org.w3c.dom.Document} for XML with DTD. + * @return a DOM Document + * @throws RuntimeException if any error occurred during document + * initialization. + */ + public static Document getDtdDocument() throws RuntimeException { + return documentOf(DECLARATION + DTD + RAW_XML); + } + + /** + * Returns a {@link org.w3c.dom.Document} for raw XML. + * @return a DOM Document + * @throws RuntimeException if any error occurred during document + * initialization. + */ + public static Document getDocument() throws RuntimeException { + return documentOf(DECLARATION + RAW_XML); + } + + /** + * Returns a {@link org.w3c.dom.Document} for input XML string. + * @param xml the input xml string. + * @return a DOM Document. + * @throws RuntimeException if any error occurred during document + * initialization. + */ + public static Document documentOf(String xml) throws RuntimeException { + try { + var dBF = DocumentBuilderFactory.newInstance(); + dBF.setValidating(false); + dBF.setNamespaceAware(true); + return dBF.newDocumentBuilder().parse( + new ByteArrayInputStream(xml.getBytes("UTF-8"))); + } catch (Exception e) { + System.out.println("Exception while initializing XML document"); + throw new RuntimeException(e.getMessage()); + } + } + void verifyResult(XPathEvaluationResult<?> result, Object expected) { switch (result.type()) { case BOOLEAN: @@ -126,13 +202,13 @@ public Object[][] getInvalidNumericTypes() { XPath xpath = XPathFactory.newInstance().newXPath(); return new Object[][]{{xpath, AtomicInteger.class}, - {xpath, AtomicInteger.class}, - {xpath, AtomicLong.class}, - {xpath, BigDecimal.class}, - {xpath, BigInteger.class}, - {xpath, Byte.class}, - {xpath, Float.class}, - {xpath, Short.class} + {xpath, AtomicInteger.class}, + {xpath, AtomicLong.class}, + {xpath, BigDecimal.class}, + {xpath, BigInteger.class}, + {xpath, Byte.class}, + {xpath, Float.class}, + {xpath, Short.class} }; } @@ -140,13 +216,8 @@ * DataProvider: XPath and Document objects */ @DataProvider(name = "document") - public Object[][] getDocument() throws Exception { - DocumentBuilderFactory dBF = DocumentBuilderFactory.newInstance(); - dBF.setValidating(false); - dBF.setNamespaceAware(true); - Document doc = dBF.newDocumentBuilder().parse( - new ByteArrayInputStream(rawXML.getBytes("UTF-8"))); - + public Object[][] getDocuments() throws RuntimeException { + Document doc = getDocument(); return new Object[][]{{XPathFactory.newInstance().newXPath(), doc}}; } } diff -Nru openjdk-11-11.0.22+7/test/jdk/ProblemList.txt openjdk-11-11.0.23+9/test/jdk/ProblemList.txt --- openjdk-11-11.0.22+7/test/jdk/ProblemList.txt 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/ProblemList.txt 2024-04-08 05:38:38.000000000 +0000 @@ -446,10 +446,8 @@ java/awt/Debug/DumpOnKey/DumpOnKey.java 8202667 windows-all java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.java 8202926 linux-all java/awt/datatransfer/ConstructFlavoredObjectTest/ConstructFlavoredObjectTest.java 8202860 linux-all -java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java 8202790 macosx-all,linux-all java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java 8202882 linux-all java/awt/Frame/FramesGC/FramesGC.java 8079069 macosx-all -java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java 8202931 macosx-all,linux-all java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.java 7124275 macosx-all java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java 6848810 macosx-all java/awt/Component/NativeInLightShow/NativeInLightShow.java 8202932 linux-all @@ -519,7 +517,6 @@ # jdk_io java/io/pathNames/GeneralWin32.java 8180264 windows-all -java/io/File/createTempFile/SpecialTempFile.java 8274122 windows11 ############################################################################ @@ -609,14 +606,10 @@ sun/security/pkcs11/KeyStore/ClientAuth.sh 8254806 solaris-all sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java 8161536 generic-all -sun/security/tools/keytool/ListKeychainStore.sh 8156889 macosx-all - javax/net/ssl/DTLS/PacketLossRetransmission.java 8169086 macosx-x64 javax/net/ssl/DTLS/RespondToRetransmit.java 8169086 macosx-all javax/net/ssl/DTLS/CipherSuite.java 8202059 macosx-x64 -sun/security/provider/KeyStore/DKSTest.sh 8180266 windows-all - sun/security/smartcardio/TestChannel.java 8039280 generic-all sun/security/smartcardio/TestConnect.java 8039280 generic-all sun/security/smartcardio/TestConnectAgain.java 8039280 generic-all diff -Nru openjdk-11-11.0.22+7/test/jdk/TEST.ROOT openjdk-11-11.0.23+9/test/jdk/TEST.ROOT --- openjdk-11-11.0.22+7/test/jdk/TEST.ROOT 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/TEST.ROOT 2024-04-08 05:38:38.000000000 +0000 @@ -40,10 +40,10 @@ # Source files for classes that will be used at the beginning of each test suite run, # to determine additional characteristics of the system for use with the @requires tag. # Note: compiled bootlibs code will be located in the folder 'bootClasses' -requires.extraPropDefns = ../../test/jtreg-ext/requires/VMProps.java [../../closed/test/jtreg-ext/requires/VMPropsExt.java] -requires.extraPropDefns.bootlibs = ../../test/lib/sun \ - ../../test/lib/jdk/test/lib/Platform.java \ - ../../test/lib/jdk/test/lib/Container.java +requires.extraPropDefns = ../jtreg-ext/requires/VMProps.java +requires.extraPropDefns.bootlibs = ../lib/sun \ + ../lib/jdk/test/lib/Platform.java \ + ../lib/jdk/test/lib/Container.java requires.extraPropDefns.vmOpts = -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:bootClasses requires.properties= \ sun.arch.data.model \ diff -Nru openjdk-11-11.0.22+7/test/jdk/TEST.groups openjdk-11-11.0.23+9/test/jdk/TEST.groups --- openjdk-11-11.0.22+7/test/jdk/TEST.groups 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/TEST.groups 2024-04-08 05:38:38.000000000 +0000 @@ -22,6 +22,17 @@ ############################################################################### # +# All tests +# + +all = \ + :jdk_all + +jdk_all = \ + / + +############################################################################### +# # Tiered testing definitions # @@ -210,6 +221,7 @@ jdk_security2 = \ javax/crypto \ javax/xml/crypto \ + com/sun/org/apache/xml/internal/security \ com/oracle/security/ucrypto \ com/sun/crypto @@ -219,7 +231,6 @@ com/sun/jarsigner \ com/sun/security \ -com/sun/security/jgss \ - com/sun/org/apache/xml/internal/security \ jdk/security \ sun/security \ -sun/security/krb5 \ diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/jdi/AfterThreadDeathTest.java openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/AfterThreadDeathTest.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/jdi/AfterThreadDeathTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/AfterThreadDeathTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -51,9 +51,9 @@ public class AfterThreadDeathTest extends TestScaffold { ReferenceType targetClass; ThreadReference mainThread; - StepRequest stepRequest = null; EventRequestManager erm; - boolean mainIsDead; + volatile boolean mainIsDead = false; + volatile boolean gotExpectedThreadStart = false; AfterThreadDeathTest (String args[]) { super(args); @@ -68,20 +68,23 @@ public void threadStarted(ThreadStartEvent event) { println("Got ThreadStartEvent: " + event); - if (stepRequest != null) { - erm.deleteEventRequest(stepRequest); - stepRequest = null; - println("Deleted stepRequest"); + // We don't want to attempt the StepRequest.enable() until we recieve + // the ThreadStartEvent for the "DestroyJavaVM" thread. See JDK-8232839. + if (!event.thread().name().equals("DestroyJavaVM")) { + return; } + gotExpectedThreadStart = true; - if (mainIsDead) { + if (!mainIsDead) { + failure("FAILED: Got expected ThreadStartEvent before \"main\" ThreadDeathEvent"); + } else { // Here is the odd thing about this test; whatever thread this event // is for, we do a step on the mainThread. If the mainThread is // already dead, we should get the exception. Note that we don't // come here for the start of the main thread. - stepRequest = erm.createStepRequest(mainThread, - StepRequest.STEP_LINE, - StepRequest.STEP_OVER); + StepRequest stepRequest = erm.createStepRequest(mainThread, + StepRequest.STEP_LINE, + StepRequest.STEP_OVER); stepRequest.addCountFilter(1); stepRequest.setSuspendPolicy (EventRequest.SUSPEND_ALL); try { @@ -146,6 +149,13 @@ */ listenUntilVMDisconnect(); + if (!gotExpectedThreadStart) { + failure("FAILED: never got expected ThreadStartEvent"); + } + if (!mainIsDead) { + failure("FAILED: never got ThreadDeathEvent for \"main\" thread"); + } + /* * deal with results of test * if anything has called failure("foo") testFailed will be true diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/jdi/JdwpOnThrowTest.java openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/JdwpOnThrowTest.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/jdi/JdwpOnThrowTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/JdwpOnThrowTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -57,12 +57,11 @@ private static AttachingConnector attachingConnector; public static void main(String[] args) throws Exception { - int port = findFreePort(); - try (Debuggee debuggee = Debuggee.launcher("ThrowCaughtException").setAddress("localhost:" + port) - .enableOnThrow("Ex", "Start").setSuspended(true).launch()) { + try (Debuggee debuggee = Debuggee.launcher("ThrowCaughtException") + .enableOnThrow("Ex").setSuspended(true).launch()) { VirtualMachine vm = null; try { - vm = attach("localhost", "" + port); + vm = attach("localhost", debuggee.getAddress()); EventQueue queue = vm.eventQueue(); log("Waiting for exception event"); long start = System.currentTimeMillis(); @@ -111,14 +110,6 @@ } } - private static int findFreePort() { - try (ServerSocket socket = new ServerSocket(0)) { - return socket.getLocalPort(); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - private static VirtualMachine attach(String address, String port) throws IOException { if (attachingConnector == null) { attachingConnector = (AttachingConnector)getConnector(ATTACH_CONNECTOR); diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/jdi/lib/jdb/Debuggee.java openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/lib/jdb/Debuggee.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/jdi/lib/jdb/Debuggee.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/jdi/lib/jdb/Debuggee.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,6 +24,7 @@ package lib.jdb; import jdk.test.lib.Utils; +import jdk.test.lib.util.Pair; import jdk.test.lib.process.ProcessTools; import java.io.Closeable; @@ -32,6 +33,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import java.util.function.Function; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -65,12 +67,12 @@ public static class Launcher { private final String mainClass; private final List<String> options = new LinkedList<>(); + private String vmOptions = null; private String transport = "dt_socket"; private String address = null; private boolean suspended = true; private String onthrow = ""; - private boolean waitForPortPrint = true; - private String expectedOutputBeforeThrow = ""; + private static final String LAUNCH_ECHO_STRING = "Listen Args:"; private Launcher(String mainClass) { this.mainClass = mainClass; @@ -83,6 +85,10 @@ this.options.addAll(options); return this; } + public Launcher addVMOptions(String vmOptions) { + this.vmOptions = vmOptions; + return this; + } // default is "dt_socket" public Launcher setTransport(String value) { transport = value; @@ -99,17 +105,17 @@ return this; } - // required to pass non null port with address and emit string before the throw - public Launcher enableOnThrow(String value, String expectedOutputBeforeThrow) { - this.onthrow = value; - this.waitForPortPrint = false; - this.expectedOutputBeforeThrow = expectedOutputBeforeThrow; + public Launcher enableOnThrow(String exceptionClassName) { + this.onthrow = exceptionClassName; return this; } public ProcessBuilder prepare() { List<String> debuggeeArgs = new LinkedList<>(); - String onthrowArgs = onthrow.isEmpty() ? "" : ",onthrow=" + onthrow + ",launch=exit"; + if (vmOptions != null) { + debuggeeArgs.add(vmOptions); + } + String onthrowArgs = onthrow.isEmpty() ? "" : ",onthrow=" + onthrow + ",launch=echo " + LAUNCH_ECHO_STRING; debuggeeArgs.add("-agentlib:jdwp=transport=" + transport + (address == null ? "" : ",address=" + address) + ",server=y,suspend=" + (suspended ? "y" : "n") @@ -120,41 +126,57 @@ } public Debuggee launch(String name) { - return new Debuggee(prepare(), name, waitForPortPrint, expectedOutputBeforeThrow); + return new Debuggee(prepare(), name, + onthrow.isEmpty() ? + Launcher::parseListenAddress : + Launcher::parseLaunchEchoListenAddress + ); } public Debuggee launch() { return launch("debuggee"); } - } - // starts the process, waits for "Listening for transport" output and detects transport/address - private Debuggee(ProcessBuilder pb, String name, boolean waitForPortPrint, String expectedOutputBeforeThrow) { - // debuggeeListen[0] - transport, debuggeeListen[1] - address - String[] debuggeeListen = new String[2]; - Pattern listenRegexp = Pattern.compile("Listening for transport \\b(.+)\\b at address: \\b(.+)\\b"); - if (!waitForPortPrint) { - try { - p = ProcessTools.startProcess(name, pb, s -> {output.add(s);}, s -> { - return s.equals(expectedOutputBeforeThrow); - }, 30, TimeUnit.SECONDS); - } catch (IOException | InterruptedException | TimeoutException ex) { - throw new RuntimeException("failed to launch debuggee", ex); + /** + * Parses debuggee output to get listening transport and address, printed by `launch=echo`. + * Returns null if the string specified does not contain required info. + */ + private static Pair<String, String> parseLaunchEchoListenAddress(String debuggeeOutput) { + Pattern listenRegexp = Pattern.compile(LAUNCH_ECHO_STRING + " \\b(.+)\\b \\b(.+)\\b"); + Matcher m = listenRegexp.matcher(debuggeeOutput); + if (m.find()) { + return new Pair<String, String>(m.group(1), m.group(2)); } - transport = null; - address = null; - return; + return null; } + + /** + * Parses debuggee output to get listening transport and address, printed by `launch=echo`. + * Returns null if the string specified does not contain required info. + */ + private static Pair<String, String> parseListenAddress(String debuggeeOutput) { + Pattern listenRegexp = Pattern.compile("Listening for transport \\b(.+)\\b at address: \\b(.+)\\b"); + Matcher m = listenRegexp.matcher(debuggeeOutput); + if (m.find()) { + return new Pair<String, String>(m.group(1), m.group(2)); + } + return null; + } + } + + // starts the process, waits until the provided addressDetector detects transport/address from the process output + private Debuggee(ProcessBuilder pb, String name, Function<String, Pair<String, String>> addressDetector) { + String[] debuggeeListen = new String[2]; try { p = ProcessTools.startProcess(name, pb, s -> output.add(s), // output consumer - s -> { // warm-up predicate - Matcher m = listenRegexp.matcher(s); - if (!m.matches()) { - return false; + s -> { + Pair<String, String> addr = addressDetector.apply(s); + if (addr != null) { + debuggeeListen[0] = addr.first; + debuggeeListen[1] = addr.second; + return true; } - debuggeeListen[0] = m.group(1); - debuggeeListen[1] = m.group(2); - return true; + return false; }, 30, TimeUnit.SECONDS); transport = debuggeeListen[0]; diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/jndi/ldap/LdapDnsProviderTest.java openjdk-11-11.0.23+9/test/jdk/com/sun/jndi/ldap/LdapDnsProviderTest.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/jndi/ldap/LdapDnsProviderTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/jndi/ldap/LdapDnsProviderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,8 +27,12 @@ import java.io.FileOutputStream; import java.io.IOException; import java.security.Permission; +import java.util.HashSet; import java.util.Hashtable; +import java.util.Random; +import java.util.Set; import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; import javax.naming.Context; @@ -37,11 +41,23 @@ import javax.naming.directory.InitialDirContext; import javax.naming.directory.SearchControls; +import sun.net.PortConfig; + +import jdk.test.lib.RandomFactory; + /** * @test * @bug 8160768 - * @summary ctx provider tests for ldap - * @modules java.naming/com.sun.jndi.ldap + * @key randomness intermittent + * @summary ctx provider tests for ldap. + * Two test cases need to establish connection to the + * unreachable port on localhost. Each tries 5 connection + * attempts with a random port expecting for connection to fail. + * In rare cases it could establish connections due to services + * running on these ports, therefore it can fail intermittently. + * @modules java.naming/com.sun.jndi.ldap java.base/sun.net + * @library /test/lib + * @build jdk.test.lib.RandomFactory * @compile dnsprovider/TestDnsProvider.java * @run main/othervm LdapDnsProviderTest * @run main/othervm LdapDnsProviderTest nosm @@ -52,16 +68,6 @@ class DNSSecurityManager extends SecurityManager { - - - /* run main/othervm LdapDnsProviderTest - - * run main/othervm LdapDnsProviderTest nosm - * run main/othervm LdapDnsProviderTest smnodns - * run main/othervm LdapDnsProviderTest smdns - * run main/othervm LdapDnsProviderTest nosmbaddns - */ - private boolean dnsProvider = false; public void setAllowDnsProvider(boolean allow) { @@ -206,14 +212,78 @@ // no SecurityManager runTest("ldap:///dc=example,dc=com", "localhost:389"); runTest("ldap://localhost/dc=example,dc=com", "localhost:389"); - runTest("ldap://localhost:1111/dc=example,dc=com", "localhost:1111"); - runTest("ldaps://localhost:1111/dc=example,dc=com", "localhost:1111"); + runLocalHostTestWithRandomPort("ldap", "/dc=example,dc=com", 5); + runLocalHostTestWithRandomPort("ldaps", "/dc=example,dc=com", 5); runTest("ldaps://localhost/dc=example,dc=com", "localhost:636"); runTest(null, "localhost:389"); runTest("", "ConfigurationException"); } } + // Pseudorandom number generator + private static final Random RND = RandomFactory.getRandom(); + // Port numbers already seen to be generated by pseudorandom generator + private static final Set<Integer> SEEN_PORTS = new HashSet<>(); + + // Get random, previously unseen port number from [1111, PortConfig.getUpper()) range + private static int generateUnseenPort() { + int port; + do { + port = 1111 + RND.nextInt(PortConfig.getUpper() - 1111); + // Seen ports will never contain more than maxAttempts*2 ports + } while (SEEN_PORTS.contains(port)); + SEEN_PORTS.add(port); + return port; + } + + // Run test with ldap connection to localhost and random port. The test is expected to fail + // with CommunicationException that is caused by connection refuse exception. + // But in case if there is a service running on the same port the connection + // will be established and then closed or timed-out. Both cases will generate exception + // messages which differ from the expected one. + // For such cases the test will be repeated with another random port. That will be done + // maxAttempts times. If the expected exception won't be observed - test will be treated + // as failed. + private static void runLocalHostTestWithRandomPort(String scheme, String path, int maxAttempts) { + for (int attempt = 0; attempt <= maxAttempts; attempt++) { + boolean attemptSuccessful = true; + int port = generateUnseenPort(); + + // Construct URL for the current attempt + String url = scheme + "://localhost" + ":" + port + path; + + // Construct text expected to be present in Exception message + String expected = "localhost:" + port; + + System.err.printf("Iteration %d: Testing: %s, %s%n", attempt, url, expected); + + FutureTask<Boolean> future = new FutureTask<>( + new ProviderTest(url, expected)); + new Thread(future).start(); + while (!future.isDone()) { + try { + if (!future.get()) { + if (attempt == maxAttempts) { + throw new RuntimeException("Test failed, ProviderTest" + + " returned false " + maxAttempts + " times"); + } else { + System.err.printf("Iteration %d failed:" + + " ProviderTest returned false%n", attempt); + attemptSuccessful = false; + } + } + } catch (InterruptedException | ExecutionException e) { + System.err.println("Iteration %d failed to execute provider test: " + e.getMessage()); + attemptSuccessful = false; + } + } + if (attemptSuccessful) { + System.err.println("Test passed. It took " + (attempt + 1) + " iterations to complete"); + break; + } + } + } + private static void runTest(String url, String expected) { FutureTask<Boolean> future = new FutureTask<>( diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java openjdk-11-11.0.23+9/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -124,7 +124,7 @@ // assertCompletion may wrap a CommunicationException in an RTE assertNotNull(msg); assertTrue(msg.contains("Network is unreachable") - || msg.contains("No route to host")); + || msg.contains("No route to host") || msg.contains("Connection timed out")); } catch (NamingException ex) { String msg = ex.getCause() == null ? ex.getMessage() : ex.getCause().getMessage(); System.err.println("MSG: " + msg); diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java openjdk-11-11.0.23+9/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,10 +22,19 @@ */ /* - * @test - * @bug 6173675 8231209 + * @test id=G1 + * @bug 6173675 8231209 8304074 8313081 * @summary Basic test of ThreadMXBean.getThreadAllocatedBytes - * @author Paul Hohensee + * @requires vm.gc == "G1" + * @run main/othervm -XX:+UseG1GC ThreadAllocatedMemory + */ + +/* + * @test id=Serial + * @bug 6173675 8231209 8304074 8313081 + * @summary Basic test of ThreadMXBean.getThreadAllocatedBytes + * @requires vm.gc == "Serial" + * @run main/othervm -XX:+UseSerialGC ThreadAllocatedMemory */ import java.lang.management.*; @@ -33,6 +42,7 @@ public class ThreadAllocatedMemory { private static com.sun.management.ThreadMXBean mbean = (com.sun.management.ThreadMXBean)ManagementFactory.getThreadMXBean(); + private static boolean testFailed = false; private static volatile boolean done = false; private static volatile boolean done1 = false; private static Object obj = new Object(); @@ -55,6 +65,13 @@ // Test many threads that are not this one testGetThreadsAllocatedBytes(); + // Test cumulative Java thread allocation since JVM launch + testGetTotalThreadAllocatedBytes(); + + if (testFailed) { + throw new RuntimeException("TEST FAILED"); + } + System.out.println("Test passed"); } @@ -92,13 +109,15 @@ } private static void testGetCurrentThreadAllocatedBytes() { + Thread curThread = Thread.currentThread(); + long size = mbean.getCurrentThreadAllocatedBytes(); - ensureValidSize(size); + ensureValidSize(curThread, size); // do some more allocation doit(); - checkResult(Thread.currentThread(), size, + checkResult(curThread, size, mbean.getCurrentThreadAllocatedBytes()); } @@ -107,7 +126,7 @@ long id = curThread.getId(); long size = mbean.getThreadAllocatedBytes(id); - ensureValidSize(size); + ensureValidSize(curThread, size); // do some more allocation doit(); @@ -119,7 +138,8 @@ throws Exception { // start a thread - done = false; done1 = false; + done = false; + done1 = false; Thread curThread = new MyThread("MyThread"); curThread.start(); long id = curThread.getId(); @@ -128,7 +148,7 @@ waitUntilThreadBlocked(curThread); long size = mbean.getThreadAllocatedBytes(id); - ensureValidSize(size); + ensureValidSize(curThread, size); // let thread go to do some more allocation synchronized (obj) { @@ -152,8 +172,7 @@ try { curThread.join(); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); - e.printStackTrace(System.out); + reportUnexpected(e, "during join"); } } @@ -161,7 +180,8 @@ throws Exception { // start threads - done = false; done1 = false; + done = false; + done1 = false; for (int i = 0; i < NUM_THREADS; i++) { threads[i] = new MyThread("MyThread-" + i); threads[i].start(); @@ -172,7 +192,7 @@ for (int i = 0; i < NUM_THREADS; i++) { sizes[i] = mbean.getThreadAllocatedBytes(threads[i].getId()); - ensureValidSize(sizes[i]); + ensureValidSize(threads[i], sizes[i]); } // let threads go to do some more allocation @@ -201,38 +221,106 @@ try { threads[i].join(); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); - e.printStackTrace(System.out); + reportUnexpected(e, "during join"); break; } } } - private static void ensureValidSize(long size) { + private static void testGetTotalThreadAllocatedBytes() + throws Exception { + + // baseline should be positive + Thread curThread = Thread.currentThread(); + long cumulativeSize = mbean.getTotalThreadAllocatedBytes(); + if (cumulativeSize <= 0) { + throw new RuntimeException( + "Invalid allocated bytes returned for " + curThread.getName() + " = " + cumulativeSize); + } + + // start threads + done = false; + done1 = false; + for (int i = 0; i < NUM_THREADS; i++) { + threads[i] = new MyThread("MyThread-" + i); + threads[i].start(); + } + + // wait for threads to block after doing some allocation + waitUntilThreadsBlocked(); + + // check after threads are blocked + cumulativeSize = checkResult(curThread, cumulativeSize, mbean.getTotalThreadAllocatedBytes()); + + // let threads go to do some more allocation + synchronized (obj) { + done = true; + obj.notifyAll(); + } + + // wait for threads to get going again. we don't care if we + // catch them in mid-execution or if some of them haven't + // restarted after we're done sleeping. + goSleep(400); + + System.out.println("Done sleeping"); + + // check while threads are running + cumulativeSize = checkResult(curThread, cumulativeSize, mbean.getTotalThreadAllocatedBytes()); + + // let threads exit + synchronized (obj) { + done1 = true; + obj.notifyAll(); + } + + for (int i = 0; i < NUM_THREADS; i++) { + try { + threads[i].join(); + } catch (InterruptedException e) { + reportUnexpected(e, "during join"); + break; + } + } + + // check after threads exit + checkResult(curThread, cumulativeSize, mbean.getTotalThreadAllocatedBytes()); + } + + private static void ensureValidSize(Thread curThread, long size) { // implementation could have started measurement when // measurement was enabled, in which case size can be 0 if (size < 0) { throw new RuntimeException( - "Invalid allocated bytes returned = " + size); + "Invalid allocated bytes returned for thread " + + curThread.getName() + " = " + size); } } - private static void checkResult(Thread curThread, - long prev_size, long curr_size) { - if (curr_size < prev_size) { - throw new RuntimeException("Allocated bytes " + curr_size + - " expected >= " + prev_size); - } + private static long checkResult(Thread curThread, + long prevSize, long currSize) { System.out.println(curThread.getName() + - " Previous allocated bytes = " + prev_size + - " Current allocated bytes = " + curr_size); + " Previous allocated bytes = " + prevSize + + " Current allocated bytes = " + currSize); + if (currSize < prevSize) { + throw new RuntimeException("TEST FAILED: " + + curThread.getName() + + " previous allocated bytes = " + prevSize + + " > current allocated bytes = " + currSize); + } + return currSize; + } + + private static void reportUnexpected(Exception e, String when) { + System.out.println("Unexpected exception thrown " + when + "."); + e.printStackTrace(System.out); + testFailed = true; } private static void goSleep(long ms) throws Exception { try { Thread.sleep(ms); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); throw e; } } @@ -287,34 +375,23 @@ try { obj.wait(); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); - e.printStackTrace(System.out); + reportUnexpected(e, "while !done"); break; } } } - long size1 = mbean.getThreadAllocatedBytes(getId()); + long prevSize = mbean.getThreadAllocatedBytes(getId()); ThreadAllocatedMemory.doit(); - long size2 = mbean.getThreadAllocatedBytes(getId()); - - System.out.println(getName() + ": " + - "ThreadAllocatedBytes = " + size1 + - " ThreadAllocatedBytes = " + size2); - - if (size1 > size2) { - throw new RuntimeException(getName() + - " ThreadAllocatedBytes = " + size1 + - " > ThreadAllocatedBytes = " + size2); - } + long currSize = mbean.getThreadAllocatedBytes(getId()); + checkResult(this, prevSize, currSize); synchronized (obj) { while (!done1) { try { obj.wait(); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); - e.printStackTrace(System.out); + reportUnexpected(e, "while !done1"); break; } } diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java openjdk-11-11.0.23+9/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -47,7 +47,6 @@ return; } - // start threads, wait for them to block long[] ids = new long[NUM_THREADS]; @@ -59,7 +58,6 @@ waitUntilThreadBlocked(); - // disable allocated memory measurement if (mbean.isThreadAllocatedMemoryEnabled()) { mbean.setThreadAllocatedMemoryEnabled(false); @@ -117,19 +115,9 @@ // restarted after we're done sleeping. goSleep(400); - long[] sizes1 = mbean.getThreadAllocatedBytes(ids); - + long[] afterSizes = mbean.getThreadAllocatedBytes(ids); for (int i = 0; i < NUM_THREADS; i++) { - long newSize = sizes1[i]; - if (sizes[i] > newSize) { - throw new RuntimeException("TEST FAILED: " + - threads[i].getName() + - " previous allocated bytes = " + sizes[i] + - " > current allocated bytes = " + newSize); - } - System.out.println(threads[i].getName() + - " Previous allocated bytes = " + sizes[i] + - " Current allocated bytes = " + newSize); + checkResult(threads[i], sizes[i], afterSizes[i]); } try { @@ -147,7 +135,6 @@ "Caught expected IllegalArgumentException: " + e.getMessage()); } - // let threads exit synchronized (obj) { done1 = true; @@ -158,9 +145,7 @@ try { threads[i].join(); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); - e.printStackTrace(System.out); - testFailed = true; + reportUnexpected(e, "during join"); break; } } @@ -173,11 +158,30 @@ } + private static void checkResult(Thread curThread, + long prevSize, long currSize) { + System.out.println(curThread.getName() + + " Previous allocated bytes = " + prevSize + + " Current allocated bytes = " + currSize); + if (currSize < prevSize) { + throw new RuntimeException("TEST FAILED: " + + curThread.getName() + + " previous allocated bytes = " + prevSize + + " > current allocated bytes = " + currSize); + + } + } + + private static void reportUnexpected(Exception e, String when) { + System.out.println("Unexpected exception thrown " + when + "."); + e.printStackTrace(System.out); + testFailed = true; + } + private static void goSleep(long ms) throws Exception { try { Thread.sleep(ms); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); throw e; } } @@ -221,9 +225,7 @@ try { obj.wait(); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); - e.printStackTrace(System.out); - testFailed = true; + reportUnexpected(e, "while !done"); break; } } @@ -236,9 +238,7 @@ try { obj.wait(); } catch (InterruptedException e) { - System.out.println("Unexpected exception is thrown."); - e.printStackTrace(System.out); - testFailed = true; + reportUnexpected(e, "while !done"); break; } } diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/SelCacheTest.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/SelCacheTest.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/SelCacheTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/SelCacheTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,14 +24,14 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm -Dsun.net.httpserver.selCacheTimeout=2 SelCacheTest * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import java.util.*; import java.util.concurrent.*; diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test1.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test1.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test1.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test1.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test1 * @run main/othervm -Dsun.net.httpserver.maxReqTime=10 Test1 * @run main/othervm -Dsun.net.httpserver.nodelay=true Test1 @@ -38,7 +38,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /* basic http/s connectivity test * Tests: diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test12.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test12.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test12.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test12.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,10 +24,10 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test12 - * @summary Light weight HTTP server + * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; @@ -36,7 +36,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /* basic http/s connectivity test * Tests: diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test13.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test13.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test13.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test13.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,10 +24,10 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test13 - * @summary Light weight HTTP server + * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; @@ -37,7 +37,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /* basic http/s connectivity test * Tests: diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test6a.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test6a.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test6a.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test6a.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,10 +24,10 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test6a - * @summary Light weight HTTP server + * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; @@ -36,7 +36,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /** * Test https POST large file via chunked encoding (unusually small chunks) diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test7a.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test7a.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test7a.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test7a.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,10 +24,10 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test7a - * @summary Light weight HTTP server + * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; @@ -36,7 +36,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /** * Test POST large file via chunked encoding (large chunks) diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test8a.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test8a.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test8a.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test8a.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,10 +24,10 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test8a - * @summary Light weight HTTP server + * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; @@ -36,7 +36,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /** * Test POST large file via fixed len encoding diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test9.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test9.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test9.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test9.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,10 +24,10 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test9 - * @summary Light weight HTTP server + * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; @@ -36,7 +36,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /* Same as Test1 but requests run in parallel. */ diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test9a.java openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test9a.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/net/httpserver/Test9a.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/net/httpserver/Test9a.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,10 +24,10 @@ /** * @test * @bug 6270015 - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm Test9a - * @summary Light weight HTTP server + * @summary Light weight HTTP server */ import com.sun.net.httpserver.*; @@ -36,7 +36,7 @@ import java.io.*; import java.net.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /* Same as Test1 but requests run in parallel. */ diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/nio/sctp/SctpChannel/CloseDescriptors.java openjdk-11-11.0.23+9/test/jdk/com/sun/nio/sctp/SctpChannel/CloseDescriptors.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/nio/sctp/SctpChannel/CloseDescriptors.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/nio/sctp/SctpChannel/CloseDescriptors.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,205 @@ +/* + * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8238274 + * @summary Potential leak file descriptor for SCTP + * @requires (os.family == "linux") + * @run main/othervm/timeout=250 CloseDescriptors + */ + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.ServerSocket; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; +import java.util.Optional; +import com.sun.nio.sctp.SctpChannel; +import com.sun.nio.sctp.SctpServerChannel; + +public class CloseDescriptors { + private static Selector selector; + private static final int LOOP = 10; + private static final int LIMIT_LINES = 3; + private static SelectorThread selThread; + private static boolean finished = false; + + public static void main(String[] args) throws Exception { + if (!Util.isSCTPSupported()) { + System.out.println("SCTP protocol is not supported"); + System.out.println("Test cannot be run"); + return; + } + + List<String> lsofDirs = List.of("/usr/bin", "/usr/sbin"); + Optional<Path> lsof = lsofDirs.stream() + .map(s -> Path.of(s, "lsof")) + .filter(f -> Files.isExecutable(f)) + .findFirst(); + if (!lsof.isPresent()) { + System.out.println("Cannot locate lsof in " + lsofDirs); + System.out.println("Test cannot be run"); + return; + } + + try (ServerSocket ss = new ServerSocket(0)) { + int port = ss.getLocalPort(); + + Server server = new Server(port); + server.start(); + + selector = Selector.open(); + + selThread = new SelectorThread(); + selThread.start(); + + // give time for the server and selector to start + Thread.sleep(100); + for (int i = 0 ; i < 100 ; ++i) { + System.out.println(i); + doIt(port); + Thread.sleep(100); + } + System.out.println("end"); + if (!check()) { + cleanup(port); + throw new RuntimeException("Failed: detected unclosed FD."); + } + cleanup(port); + server.join(); + selThread.join(); + } + } + + private static void doIt(int port) throws Exception { + InetSocketAddress sa = new InetSocketAddress("localhost", port); + + for (int i = 0 ; i < LOOP ; ++i) { + System.out.println(" " + i); + try (SctpChannel channel = SctpChannel.open(sa, 1, 1)) { + channel.configureBlocking(false); + + SelectionKey key = selThread.regChannel(channel); + + key.cancel(); + selector.wakeup(); + } + catch (Exception ex) { + ex.printStackTrace(); + } + Thread.sleep(200); + } + } + + private static boolean check() throws Exception { + long myPid = ProcessHandle.current().pid(); + ProcessBuilder pb = new ProcessBuilder( + "lsof", "-U", "-a", "-p", Long.toString(myPid)); + pb.redirectErrorStream(true); + Process p = pb.start(); + p.waitFor(); + if (p.exitValue() != 0) { + return false; + } + + boolean result = true; + try (BufferedReader br = new BufferedReader(new InputStreamReader( + p.getInputStream()))) { + int count = 0; + String line = br.readLine(); + while (line != null) { + System.out.println(line); + count++; + if (count > LIMIT_LINES) { + result = false; + } + line = br.readLine(); + } + } + return result; + } + + private static void cleanup(int port) throws IOException { + finished = true; + InetSocketAddress sa = new InetSocketAddress("localhost", port); + SctpChannel channel = SctpChannel.open(sa, 1, 1); + channel.close(); + } + + private static class SelectorThread extends Thread { + private Object lock = new Object(); + private SctpChannel channel; + private SelectionKey key; + + public SelectionKey regChannel(SctpChannel ch) throws Exception { + synchronized (lock) { + channel = ch; + selector.wakeup(); + lock.wait(); + } + return key; + } + + public void run() { + try { + while (!finished) { + selector.select(1000); + synchronized (lock) { + if (channel != null) { + key = channel.register(selector, SelectionKey.OP_READ); + channel = null; + lock.notify(); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private static class Server extends Thread { + private int port; + + public Server(int port) { this.port = port; } + + public void run() { + try { + SctpServerChannel ss = SctpServerChannel.open(); + InetSocketAddress sa = new InetSocketAddress("localhost", port); + ss.bind(sa); + while (!finished) { + SctpChannel soc = ss.accept(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/com/sun/security/auth/module/AllPlatforms.java openjdk-11-11.0.23+9/test/jdk/com/sun/security/auth/module/AllPlatforms.java --- openjdk-11-11.0.22+7/test/jdk/com/sun/security/auth/module/AllPlatforms.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/com/sun/security/auth/module/AllPlatforms.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,28 +27,23 @@ * @summary com.sun.security.auth.module missing classes on some platforms * @run main/othervm AllPlatforms */ - import javax.security.auth.login.Configuration; import javax.security.auth.login.LoginContext; import java.nio.file.Files; import java.nio.file.Paths; +import javax.security.auth.login.FailedLoginException; public class AllPlatforms { + + private static final String UNIX_MODULE = "UnixLoginModule"; + private static final String NT_MODULE = "NTLoginModule"; + public static void main(String[] args) throws Exception { login("cross-platform", - "UnixLoginModule", "optional", - "NTLoginModule", "optional", - "SolarisLoginModule", "optional"); - try { - login("windows", "NTLoginModule", "required"); - login("unix", "UnixLoginModule", "required"); - login("solaris", "SolarisLoginModule", "required"); - } catch (Exception e) { - e.printStackTrace(System.out); - if (e.toString().contains("UnsatisfiedLinkError")) { - throw new Exception("This is ugly"); - } - } + UNIX_MODULE, "optional", + NT_MODULE, "optional"); + login("windows", NT_MODULE, "required"); + login("unix", UNIX_MODULE, "required"); } static void login(String test, String... conf) throws Exception { @@ -56,9 +51,10 @@ StringBuilder sb = new StringBuilder(); sb.append("hello {\n"); - for (int i=0; i<conf.length; i+=2) { - sb.append(" com.sun.security.auth.module." + conf[i] - + " " + conf[i+1] + ";\n"); + for (int i = 0; i < conf.length; i += 2) { + sb.append(" com.sun.security.auth.module.") + .append(conf[i]).append(" ") + .append(conf[i + 1]).append(";\n"); } sb.append("};\n"); Files.write(Paths.get(test), sb.toString().getBytes()); @@ -67,8 +63,17 @@ Configuration.setConfiguration(null); System.setProperty("java.security.auth.login.config", test); - LoginContext lc = new LoginContext("hello"); - lc.login(); - System.out.println(lc.getSubject()); + try { + LoginContext lc = new LoginContext("hello"); + lc.login(); + System.out.println(lc.getSubject()); + lc.logout(); + } catch (FailedLoginException e) { + // This exception can occur in other platform module than the running one. + if(e.getMessage().startsWith("Failed in attempt to import")) { + System.out.println("Expected Exception found."); + e.printStackTrace(System.out); + } + } } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/CacheTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/CacheTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/CacheTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/CacheTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4429261 + * @summary Checks AWTKeyStroke is cached + * @run main CacheTest +*/ + +import java.awt.AWTKeyStroke; +import java.awt.EventQueue; +import java.awt.event.KeyEvent; +import java.awt.event.InputEvent; + +public class CacheTest { + + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + if (AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_X, + InputEvent.ALT_DOWN_MASK) != + AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_X, + InputEvent.ALT_DOWN_MASK)) { + throw new RuntimeException("KeyStroke is not cached"); + } + }); + } +}// class CacheTest diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java openjdk-11-11.0.23+9/test/jdk/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,6 +33,10 @@ import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.InputEvent; +import java.awt.image.BufferedImage; +import java.io.File; + +import javax.imageio.ImageIO; /** * @test @@ -44,6 +48,7 @@ private static final int SIZE = 350; private static int frameWidth; + private static Rectangle bounds; public static void main(final String[] args) throws Exception { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); @@ -52,7 +57,7 @@ Point right = null; for (GraphicsDevice sd : sds) { GraphicsConfiguration gc = sd.getDefaultConfiguration(); - Rectangle bounds = gc.getBounds(); + bounds = gc.getBounds(); if (left == null || left.x > bounds.x) { left = new Point(bounds.x, bounds.y + bounds.height / 2); } @@ -120,6 +125,8 @@ robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); robot.waitForIdle(); if (choice.getSelectedIndex() == 0) { + BufferedImage failImage = robot.createScreenCapture(bounds); + ImageIO.write(failImage, "png", new File("failImage.png")); throw new RuntimeException(); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Clipboard/DelayedQueryTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/DelayedQueryTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Clipboard/DelayedQueryTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/DelayedQueryTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,252 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4085183 8000630 + @summary tests that clipboard contents is retrieved even if the app didn't + receive native events for a long time. + @requires (os.family != "mac") + @key headful + @run main DelayedQueryTest +*/ + +import java.awt.AWTException; +import java.awt.Button; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Panel; +import java.awt.Point; +import java.awt.Robot; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.ClipboardOwner; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.event.InputEvent; +import java.io.File; +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; + +public class DelayedQueryTest implements ClipboardOwner, Runnable { + int returnCode = Child.CHILD_RETURN_CODE_NOT_READY; + + Process childProcess = null; + Frame frame; + + public static void main(String[] args) + throws InterruptedException, InvocationTargetException { + String osName = System.getProperty("os.name"); + if (osName.toLowerCase().contains("os x")) { + System.out.println("This test is not for MacOS, considered passed."); + return; + } + DelayedQueryTest delayedQueryTest = new DelayedQueryTest(); + EventQueue.invokeAndWait(delayedQueryTest::initAndShowGui); + try { + delayedQueryTest.start(); + } finally { + EventQueue.invokeAndWait(() -> delayedQueryTest.frame.dispose()); + } + } + + public void initAndShowGui(){ + frame = new Frame("DelayedQueryTest"); + frame.add(new Panel()); + frame.setBounds(200,200, 200, 200); + frame.setVisible(true); + } + + public void start() { + try { + Robot robot = new Robot(); + // Some mouse activity to update the Xt time stamp at + // the parent process. + robot.delay(1000); + robot.waitForIdle(); + + Point p = frame.getLocationOnScreen(); + robot.mouseMove(p.x + 100, p.y + 100); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + } catch (AWTException e) { + e.printStackTrace(); + throw new RuntimeException("The test failed."); + } + Child.sysClipboard.setContents(Child.transferable, this); + + String javaPath = System.getProperty("java.home", ""); + String[] command = { + javaPath + File.separator + "bin" + File.separator + "java", + "-cp", System.getProperty("test.classes", "."), + "Child" + }; + + try { + Process process = Runtime.getRuntime().exec(command); + childProcess = process; + returnCode = process.waitFor(); + childProcess = null; + + InputStream errorStream = process.getErrorStream(); + int count = errorStream.available(); + if (count > 0) { + byte[] b = new byte[count]; + errorStream.read(b); + System.err.println("========= Child VM System.err ========"); + System.err.print(new String(b)); + System.err.println("======================================"); + } + } catch (Throwable e) { + e.printStackTrace(); + throw new RuntimeException("The test failed."); + } + if (returnCode != Child.CHILD_RETURN_CODE_OK) { + System.err.println("Child VM: returned " + returnCode); + throw new RuntimeException("The test failed."); + } + } // start() + + public void lostOwnership(Clipboard clipboard, + Transferable contents) { + // At this moment the child process has definitely started. + // So we can try to retrieve the clipboard contents set + // by the child process. + new Thread(this).start(); + } + + public void run() { + // We are going to check if it is possible to retrieve the data + // after the child process has set the clipboard contents twice, + // since after the first setting the retrieval is always successful. + // So we wait to let the child process set the clipboard contents + // twice. + try { + Thread.sleep(Child.CHILD_SELECTION_CHANGE_TIMEOUT); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + try { + String s = (String)Child.sysClipboard + .getContents(null) + .getTransferData(DataFlavor.stringFlavor); + if (!"String".equals(s)) { + System.err.println("Data retrieved: " + s); + throw new RuntimeException("Retrieved data is incorrect."); + } + } catch (Exception e) { + e.printStackTrace(); + if (childProcess != null) { + childProcess.destroy(); + childProcess = null; + } + throw new RuntimeException("Failed to retrieve the data."); + } + Child.sysClipboard.setContents(Child.transferable, null); + } +} + +class Child { + static final Clipboard sysClipboard = + Toolkit.getDefaultToolkit().getSystemClipboard(); + static final Transferable transferable = new StringSelection("String"); + + /* + * Timeouts. + */ + static final int FRAME_ACTIVATION_TIMEOUT = 1000; + static final int PARENT_TIME_STAMP_TIMEOUT = 1000; + static final int CHILD_SELECTION_CHANGE_TIMEOUT = + FRAME_ACTIVATION_TIMEOUT + PARENT_TIME_STAMP_TIMEOUT + 5000; + static final int PARENT_RETRIEVE_DATA_TIMEOUT = 10000; + + /* + * Child process return codes. + */ + static final int CHILD_RETURN_CODE_NOT_READY = -1; + static final int CHILD_RETURN_CODE_OK = 0; + static final int CHILD_RETURN_CODE_UNEXPECTED_EXCEPTION = 1; + static final int CHILD_RETURN_CODE_OTHER_FAILURE = 2; + static Button button; + + static void initAndShowGui() { + final Frame frame = new Frame(); + button = new Button("button"); + frame.add(button); + frame.pack(); + frame.setLocation(100, 100); + frame.setVisible(true); + } + + public static void main(String[] args) { + sysClipboard.setContents( + new StringSelection("First String"), null); + + // Some mouse activity to update the Xt time stamp at + // the child process. + try { + EventQueue.invokeAndWait(Child::initAndShowGui); + try { + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + } catch (InterruptedException e) { + e.printStackTrace(); + System.exit(CHILD_RETURN_CODE_UNEXPECTED_EXCEPTION); + } + + Robot robot = new Robot(); + robot.waitForIdle(); + + Point p = button.getLocationOnScreen(); + robot.mouseMove(p.x + 10, p.y + 10); + // Wait to let the Xt time stamp become out-of-date. + try { + Thread.sleep(PARENT_TIME_STAMP_TIMEOUT); + } catch (InterruptedException e) { + e.printStackTrace(); + System.exit(CHILD_RETURN_CODE_UNEXPECTED_EXCEPTION); + } + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + } catch (Exception e) { + e.printStackTrace(); + System.exit(CHILD_RETURN_CODE_UNEXPECTED_EXCEPTION); + } + + sysClipboard.setContents(transferable, new ClipboardOwner() { + public void lostOwnership(Clipboard clipboard, + Transferable contents) { + System.exit(CHILD_RETURN_CODE_OK); + } + }); + // Wait to let the parent process retrieve the data. + try { + Thread.sleep(PARENT_RETRIEVE_DATA_TIMEOUT); + } catch (InterruptedException e) { + e.printStackTrace(); + } + // Parent failed to set clipboard contents, so we signal test failure + System.exit(CHILD_RETURN_CODE_OTHER_FAILURE); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Clipboard/NullContentsTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/NullContentsTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Clipboard/NullContentsTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/NullContentsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4378007 4250859 + @summary Verifies that setting the contents of the system Clipboard to null + throws a NullPointerException + @key headful + @run main NullContentsTest +*/ + +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.StringSelection; + +public class NullContentsTest { + + public static void main(String[] args) { + // Clipboard.setContents(null, foo) should throw an NPE, but + // Clipboard.setContents(bar, foo), where bar.getTransferData(baz) + // returns null, should not. + Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); + try { + clip.setContents(null, null); + } catch (NullPointerException e) { + StringSelection ss = new StringSelection(null); + try { + clip.setContents(ss, null); + } catch (NullPointerException ee) { + throw new RuntimeException("test failed: null transfer data"); + } + System.err.println("test passed"); + return; + } + throw new RuntimeException("test failed: null Transferable"); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Clipboard/SerializeLocalFlavorTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/SerializeLocalFlavorTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Clipboard/SerializeLocalFlavorTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Clipboard/SerializeLocalFlavorTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,198 @@ +/* + * Copyright (c) 2006, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4696186 + @summary tests that NotSerializableException is not printed in the console if + non-serializable object with DataFlavor.javaJVMLocalObjectMimeType + is set into the clipboard + @key headful + @run main SerializeLocalFlavorTest +*/ + +import java.awt.Toolkit; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.File; +import java.io.InputStream; +import java.io.Serializable; + + +public class SerializeLocalFlavorTest { + private boolean failed = false; + + public static void main(String[] args) { + new SerializeLocalFlavorTest().start(); + } + + public void start () { + try { + String[] command = { + System.getProperty("java.home", "") + + File.separator + "bin" + File.separator + + "java", + "-cp", + System.getProperty("test.classes", "."), + "Child" + }; + + Process process = Runtime.getRuntime().exec(command); + ProcessResults pres = ProcessResults.doWaitFor(process); + + if (pres.stderr != null && pres.stderr.length() > 0) { + System.err.println("========= Child err ========"); + System.err.print(pres.stderr); + System.err.println("======================================"); + } + + if (pres.stdout != null && pres.stdout.length() > 0) { + System.err.println("========= Child out ========"); + System.err.print(pres.stdout); + System.err.println("======================================"); + } + + if (pres.stderr.indexOf("java.io.NotSerializableException") >= 0) { + failed = true; + } + + } catch (Exception e) { + e.printStackTrace(); + } + + if (failed) { + throw new RuntimeException( + "The test failed: java.io.NotSerializableException printed!"); + } else { + System.err.println("The test passed!"); + } + } +} + +class Child { + public static void main (String [] args) throws Exception { + NotSerializableLocalTransferable t = + new NotSerializableLocalTransferable(new NotSer()); + Toolkit.getDefaultToolkit() + .getSystemClipboard().setContents(t, null); + } +} + +class NotSerializableLocalTransferable implements Transferable { + public final DataFlavor flavor; + + private final DataFlavor[] flavors; + + private final Object data; + + + public NotSerializableLocalTransferable(Object data) throws Exception { + this.data = data; + flavor = new DataFlavor( + DataFlavor.javaJVMLocalObjectMimeType + + ";class=" + "\"" + data.getClass().getName() + "\""); + this.flavors = new DataFlavor[] { flavor }; + } + + public DataFlavor[] getTransferDataFlavors() { + return flavors.clone(); + } + + public boolean isDataFlavorSupported(DataFlavor flavor) { + return this.flavor.equals(flavor); + } + + public Object getTransferData(DataFlavor flavor) + throws UnsupportedFlavorException + { + if (this.flavor.equals(flavor)) { + return (Object)data; + } + throw new UnsupportedFlavorException(flavor); + } + +} + +class NotSer implements Serializable { + private Object field = new Object(); // not serializable field +} + +class ProcessResults { + public int exitValue; + public String stdout; + public String stderr; + + public ProcessResults() { + exitValue = -1; + stdout = ""; + stderr = ""; + } + + /** + * Method to perform a "wait" for a process and return its exit value. + * This is a workaround for <code>Process.waitFor()</code> never returning. + */ + public static ProcessResults doWaitFor(Process p) { + ProcessResults pres = new ProcessResults(); + + InputStream in = null; + InputStream err = null; + + try { + in = p.getInputStream(); + err = p.getErrorStream(); + + boolean finished = false; + + while (!finished) { + try { + while (in.available() > 0) { + pres.stdout += (char)in.read(); + } + while (err.available() > 0) { + pres.stderr += (char)err.read(); + } + // Ask the process for its exitValue. If the process + // is not finished, an IllegalThreadStateException + // is thrown. If it is finished, we fall through and + // the variable finished is set to true. + pres.exitValue = p.exitValue(); + finished = true; + } + catch (IllegalThreadStateException e) { + // Process is not finished yet; + // Sleep a little to save on CPU cycles + Thread.sleep(500); + } + } + if (in != null) in.close(); + if (err != null) err.close(); + } + catch (Throwable e) { + System.err.println("doWaitFor(): unexpected exception"); + e.printStackTrace(); + } + return pres; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/ColorClass/ColorSerializationTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/ColorClass/ColorSerializationTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/ColorClass/ColorSerializationTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/ColorClass/ColorSerializationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2006, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4330102 + @summary Tests that Color object is serializable + @run main ColorSerializationTest +*/ + +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.geom.AffineTransform; +import java.awt.image.IndexColorModel; +import java.io.ObjectOutputStream; +import java.io.ByteArrayOutputStream; + +public class ColorSerializationTest { + + public static void main(String[] args) { + java.awt.Color cobj = new java.awt.Color(255, 255, 255); + try { + cobj.createContext( + new IndexColorModel( + 8, 1, + new byte[]{0}, new byte[]{0}, new byte[]{0}), + new Rectangle(1, 1, 2, 3), + new Rectangle(3, 3), + new AffineTransform(), + new RenderingHints(null)); + ByteArrayOutputStream ostream = new ByteArrayOutputStream(); + ObjectOutputStream objos = new ObjectOutputStream(ostream); + objos.writeObject(cobj); + objos.close(); + System.out.println("Test PASSED"); + } catch (java.io.IOException e) { + System.out.println("Test FAILED"); + throw new RuntimeException("Test FAILED: Color is not serializable: " + e.getMessage()); + } + + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Component/GetListenersTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Component/GetListenersTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Component/GetListenersTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Component/GetListenersTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,376 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4240721 + @summary Test Component.getListeners API added in 1.3 + @key headful + @run main GetListenersTest + */ + +import java.awt.Button; +import java.awt.Canvas; +import java.awt.Checkbox; +import java.awt.CheckboxMenuItem; +import java.awt.Choice; +import java.awt.Component; +import java.awt.EventQueue; +import java.awt.FlowLayout; +import java.awt.Frame; +import java.awt.Label; +import java.awt.Menu; +import java.awt.MenuBar; +import java.awt.MenuItem; +import java.awt.Panel; +import java.awt.Scrollbar; +import java.awt.TextArea; +import java.awt.TextField; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.AdjustmentEvent; +import java.awt.event.AdjustmentListener; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentListener; +import java.awt.event.ContainerAdapter; +import java.awt.event.ContainerListener; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusListener; +import java.awt.event.HierarchyBoundsAdapter; +import java.awt.event.HierarchyBoundsListener; +import java.awt.event.HierarchyEvent; +import java.awt.event.HierarchyListener; +import java.awt.event.InputMethodEvent; +import java.awt.event.InputMethodListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionAdapter; +import java.awt.event.MouseMotionListener; +import java.awt.event.MouseWheelEvent; +import java.awt.event.MouseWheelListener; +import java.awt.event.TextEvent; +import java.awt.event.TextListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.awt.event.WindowFocusListener; +import java.awt.event.WindowListener; +import java.awt.event.WindowStateListener; +import java.beans.BeanInfo; +import java.beans.EventSetDescriptor; +import java.beans.Introspector; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.lang.reflect.Method; +import java.util.EventListener; + +public class GetListenersTest { + + public static void main(String args[]) throws Exception { + EventQueue.invokeAndWait(()-> { + // Create frame with a bunch of components + // and test that each component returns + // the right type of listeners from Component.getListeners + GLTFrame gltFrame = new GLTFrame(); + try { + gltFrame.initAndShowGui(); + gltFrame.test(); + } catch (Exception e) { + throw new RuntimeException("Test failed", e); + } finally { + gltFrame.dispose(); + } + }); + } + + /* + * Checks an object has a listener for every support listener type + */ + static void checkForListenersOfEveryType(Object object) throws Exception { + Class type = object.getClass(); + + BeanInfo info = Introspector.getBeanInfo(type); + EventSetDescriptor esets[] = info.getEventSetDescriptors(); + + // ensure there are listeners for every type + for (int nset = 0; nset < esets.length; nset++) { + Class listenerType = esets[nset].getListenerType(); + EventListener listener[] = getListeners(object, listenerType); + // Skip PropertyChangeListener for now + if (listener.length == 0 && validListenerToTest(listenerType)) { + throw new RuntimeException("getListeners didn't return type " + + listenerType); + } + } + + System.out.println("************"); + System.out.println("PASSED: getListeners on " + + object + " has all the right listeners."); + System.out.println("************"); + } + + /* + * Calls getListeners on the object + */ + static EventListener[] getListeners(Object object, Class type) + throws Exception { + Method methods[] = object.getClass().getMethods(); + Method method = null; + + for (int nmethod = 0; nmethod < methods.length; nmethod++) { + if (methods[nmethod].getName().equals("getListeners")) { + method = methods[nmethod]; + break; + } + } + if (method == null) { + throw new RuntimeException("Object " + + object + " has no getListeners method"); + } + Class params[] = {type}; + EventListener listeners[] = null; + listeners = (EventListener[]) method.invoke(object, params); + System.out.println("Listeners of type: " + type + " on " + object); + GetListenersTest.printArray(listeners); + return listeners; + } + + /* + * Adds a listener of every type to the object + */ + static void addDummyListenersOfEveryType(Object object) throws Exception { + Class type = object.getClass(); + + BeanInfo info = Introspector.getBeanInfo(type); + EventSetDescriptor esets[] = info.getEventSetDescriptors(); + + // add every kind of listener + for (int nset = 0; nset < esets.length; nset++) { + Class listenerType = esets[nset].getListenerType(); + EventListener listener = makeListener(listenerType); + Method addListenerMethod = esets[nset].getAddListenerMethod(); + Object params[] = {listener}; + addListenerMethod.invoke(object, params); + } + } + + /* + * Determines what listeners to exclude from the test for now + */ + static boolean validListenerToTest(Class listenerType) { + /* Don't have any provision for PropertyChangeListeners... */ + if ( listenerType == PropertyChangeListener.class ) { + return false; + } + + return true; + } + + static void testGetListeners(Object object) throws Exception { + GetListenersTest.addDummyListenersOfEveryType(object); + GetListenersTest.checkForListenersOfEveryType(object); + } + + static void printArray(Object objects[]) { + System.out.println("{"); + for(int n = 0; n < objects.length; n++) { + System.out.println("\t"+objects[n]+","); + } + System.out.println("}"); + } + + /* + * Makes a dummy listener implementation for the given listener type + */ + static EventListener makeListener(Class listenerType) throws Exception { + Object map[][] = { + {ActionListener.class, MyActionAdapter.class}, + {AdjustmentListener.class, MyAdjustmentAdapter.class}, + {ComponentListener.class, MyComponentAdapter.class}, + {ContainerListener.class, MyContainerAdapter.class}, + {FocusListener.class, MyFocusAdapter.class}, + {HierarchyBoundsListener.class, MyHierarchyBoundsAdapter.class}, + {HierarchyListener.class, MyHierarchyAdapter.class}, + {InputMethodListener.class, MyInputMethodAdapter.class}, + {ItemListener.class, MyItemAdapter.class}, + {KeyListener.class, MyKeyAdapter.class}, + {MouseListener.class, MyMouseAdapter.class}, + {MouseMotionListener.class, MyMouseMotionAdapter.class}, + {MouseWheelListener.class, MyMouseWheelAdapter.class}, + {TextListener.class, MyTextAdapter.class}, + {WindowListener.class, MyWindowAdapter.class}, + {WindowFocusListener.class, MyWindowFocusAdapter.class}, + {WindowStateListener.class, MyWindowStateAdapter.class}, + {PropertyChangeListener.class, MyPropertyChangeAdapter.class}, + }; + + for (int n = 0; n < map.length; n++) { + if (map[n][0] == listenerType) { + Class adapterClass = (Class) map[n][1]; + EventListener listener = + (EventListener) adapterClass.newInstance(); + return listener; + } + } + + throw new RuntimeException("No adapter found for listener type " + + listenerType); + } +} + +class GLTFrame extends Frame { + MenuItem mitem; + CheckboxMenuItem cmitem; + + GLTFrame() { + super("Component.getListeners API Test"); + } + + public void initAndShowGui() { + setLayout(new FlowLayout()); + + add(new Label("Label")); + add(new Button("Button")); + add(new Checkbox("Checkbox")); + Choice c = new Choice(); + c.add("choice"); + java.awt.List l = new java.awt.List(); + l.add("list"); + add(new Scrollbar()); + add(new TextField("TextField")); + add(new TextArea("TextArea")); + add(new Panel()); + add(new Canvas()); + + MenuBar menuBar = new MenuBar(); + Menu menu = new Menu("Menu"); + mitem = new MenuItem("Item 1"); + cmitem = new CheckboxMenuItem("Item 2"); + menu.add(mitem); + menu.add(cmitem); + menuBar.add(menu); + setMenuBar(menuBar); + + pack(); + setVisible(true); + } + + public void test() throws Exception { + // test Frame.getListeners + GetListenersTest.testGetListeners(this); + + // + // test getListeners on menu items + // + GetListenersTest.testGetListeners(mitem); + GetListenersTest.testGetListeners(cmitem); + + // + // test getListeners on all AWT Components + // + Component components[] = getComponents(); + for (int nc = 0; nc < components.length; nc++) { + GetListenersTest.testGetListeners(components[nc]); + } + } +} + +/************************************************ + * Dummy listener implementations we add to our components/models/objects + */ + +class MyPropertyChangeAdapter implements PropertyChangeListener { + public void propertyChange(PropertyChangeEvent evt) {} +} + +class MyActionAdapter implements ActionListener { + public void actionPerformed(ActionEvent ev) { + } +} + +class MyAdjustmentAdapter implements AdjustmentListener { + public void adjustmentValueChanged(AdjustmentEvent e) { + } +} + +class MyHierarchyAdapter implements HierarchyListener { + public void hierarchyChanged(HierarchyEvent e) { + } +} + +class MyInputMethodAdapter implements InputMethodListener { + public void inputMethodTextChanged(InputMethodEvent event) { + } + + public void caretPositionChanged(InputMethodEvent event) { + } +} + +class MyItemAdapter implements ItemListener { + public void itemStateChanged(ItemEvent e) { + } +} + +class MyTextAdapter implements TextListener { + public void textValueChanged(TextEvent e) { + } +} + +class MyComponentAdapter extends ComponentAdapter { +} + +class MyContainerAdapter extends ContainerAdapter { +} + +class MyFocusAdapter extends FocusAdapter { +} + +class MyHierarchyBoundsAdapter extends HierarchyBoundsAdapter { +} + +class MyKeyAdapter extends KeyAdapter { +} + +class MyMouseAdapter extends MouseAdapter { +} + +class MyMouseMotionAdapter extends MouseMotionAdapter { +} + +class MyMouseWheelAdapter implements MouseWheelListener { + public void mouseWheelMoved(MouseWheelEvent e) {} +} + +class MyWindowAdapter extends WindowAdapter { +} + +class MyWindowFocusAdapter implements WindowFocusListener { + public void windowGainedFocus(WindowEvent t) {} + public void windowLostFocus(WindowEvent t) {} +} + +class MyWindowStateAdapter extends WindowAdapter { +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Container/FindComponentAtTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FindComponentAtTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Container/FindComponentAtTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FindComponentAtTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4311614 + @summary findComponentAt() should check for isShowing() instead of isVisible() + @key headful +*/ + +import java.awt.Button; +import java.awt.Component; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Panel; + +public class FindComponentAtTest { + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + Panel aContainer; + Panel bContainer; + Panel cContainer; + Button button = new Button("button4"); + Frame frame = new Frame("FindComponentAtTest"); + + try { + aContainer = new Panel(); + bContainer = new Panel(); + cContainer = new Panel(); + aContainer.setName("ACONT"); + bContainer.setName("BCONT"); + + frame.add(aContainer); + + aContainer.add(bContainer); + bContainer.add(cContainer); + cContainer.add(button); + + bContainer.setVisible(false); + + frame.setSize(200, 200); + frame.setVisible(true); + frame.validate(); + + System.out.println("Test set for FindComponentAt() method."); + System.out.println("aContainer - visible"); + System.out.println("bContainer - child of aContainer - is invisible"); + System.out.println("cContainer - child of bContainer - is visible"); + System.out.println("button4 - child of cContainer - is visible"); + Component comp = cContainer.findComponentAt( + cContainer.getWidth() / 2, + cContainer.getHeight() / 2); + + if (comp != null) { + throw new RuntimeException( + "cContainer: Visible component inserted into " + + "invisible container have found " + + "by findComponentAt(x, y) method"); + } + } finally { + frame.dispose(); + } + System.out.println("FindComponentAt Test Succeeded."); + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Container/FindComponentTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FindComponentTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Container/FindComponentTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FindComponentTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,90 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4196100 + @summary Make sure findComponentAt() only returns visible components. + @key headful +*/ + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.EventQueue; +import javax.swing.JFrame; +import javax.swing.JTabbedPane; +import javax.swing.JPanel; + +public class FindComponentTest { + + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + FindComponentFrame findComponentAtTest = new FindComponentFrame(); + + try { + if (!findComponentAtTest.didItWork()) { + throw new RuntimeException( + "findComponentAt() returned non-visible component"); + } + } finally { + findComponentAtTest.dispose(); + } + }); + } +} + + +class FindComponentFrame extends JFrame { + public FindComponentFrame() { + super("FindComponentFrame"); + } + + public boolean didItWork() { + setTitle("FindComponentTest"); + setSize(new Dimension(200, 200)); + + JTabbedPane tabbedpane = new JTabbedPane(); + setContentPane(tabbedpane); + + JPanel panel1 = new JPanel(); + panel1.setName("Panel 1"); + panel1.setLayout(new BorderLayout()); + tabbedpane.add(panel1); + JPanel subPanel = new JPanel(); + subPanel.setName("Sub-Panel"); + subPanel.setBackground(Color.green); + panel1.add(subPanel); // add sub panel to 1st tab + + JPanel panel2 = new JPanel(); + panel2.setName("Panel 2"); + tabbedpane.add(panel2); + + tabbedpane.setSelectedIndex(1); // display 2nd tab + setVisible(true); + + boolean success = tabbedpane.findComponentAt(50,50) + .getName().equals("Panel 2"); + return success; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Container/FocusTraversalPolicyProviderTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FocusTraversalPolicyProviderTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Container/FocusTraversalPolicyProviderTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Container/FocusTraversalPolicyProviderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,509 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @summary unit test for ability of FocusTraversalPolicyProvider + @key headful +*/ + +import java.awt.Button; +import java.awt.Component; +import java.awt.Container; +import java.awt.ContainerOrderFocusTraversalPolicy; +import java.awt.DefaultFocusTraversalPolicy; +import java.awt.EventQueue; +import java.awt.FocusTraversalPolicy; +import java.awt.Frame; +import java.awt.GridLayout; +import java.awt.Panel; +import java.awt.Robot; +import java.awt.Window; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.LayoutFocusTraversalPolicy; + +public class FocusTraversalPolicyProviderTest { + final String errorOrderMessage = "Test Failed. Traversal Order not correct."; + final String successStage = "Test stage completed.Passed."; + + final int n_buttons = 4; + final int jumps = 3 * n_buttons; + Container[] cycle_roots = new Container[3]; + Panel[] a_conts = new Panel[cycle_roots.length]; + Panel[] b_conts = new Panel[cycle_roots.length]; + Component[][] a_buttons = new Component[cycle_roots.length][n_buttons]; + Component[][] b_buttons = new Component[cycle_roots.length][n_buttons]; + + static volatile Frame mainFrame = null; + static volatile Frame frame = null; + static volatile JFrame jframe = null; + + static Robot robot; + + public static void main(String[] args) throws Exception { + FocusTraversalPolicyProviderTest test + = new FocusTraversalPolicyProviderTest(); + try { + robot = new Robot(); + EventQueue.invokeAndWait(test::init); + robot.delay(1000); + EventQueue.invokeAndWait(test::testStages); + + EventQueue.invokeAndWait(test::initSwingContInFrame); + robot.delay(1000); + EventQueue.invokeAndWait(test::testSwingContInFrame); + // test for Swing container in java.awt.Frame + System.out.println("Test passed."); + } finally { + EventQueue.invokeAndWait(() -> { + if (mainFrame != null) mainFrame.dispose(); + if (frame != null) frame.dispose(); + if (jframe != null) jframe.dispose(); + }); + } + } + + public void init() { + mainFrame = new Frame("FocusTraversalPolicyProviderTest - main"); + mainFrame.setSize(400, 400); + mainFrame.setLocationRelativeTo(null); + mainFrame.setVisible(true); + + for (int i = 0; i < cycle_roots.length; i++) { + cycle_roots[i] = new Panel(); + cycle_roots[i].setFocusable(false); + cycle_roots[i].setName("root" + i); + cycle_roots[i].setFocusCycleRoot(true); + cycle_roots[i].setLayout (new GridLayout(1, 2)); + mainFrame.add(cycle_roots[i]); + + a_conts[i] = new Panel(); + a_conts[i].setName("ac" + i); + a_conts[i].setFocusable(false); + cycle_roots[i].add(a_conts[i]); + + b_conts[i] = new Panel(); + b_conts[i].setName("bc" + i); + b_conts[i].setFocusable(false); + cycle_roots[i].add(b_conts[i]); + + for (int j = 0; j < n_buttons; j++){ + String name = "a" + i + "x" + j; + a_buttons[i][j] = new Button(name); + a_buttons[i][j].setName(name); + a_conts[i].add(a_buttons[i][j]); + } + + for (int j = 0; j < n_buttons; j++){ + String name = "b" + i + "x" + j; + b_buttons[i][j] = new Button(name); + b_buttons[i][j].setName(name); + b_conts[i].add(b_buttons[i][j]); + } + } + + cycle_roots[0].setFocusTraversalPolicy(new DefaultFocusTraversalPolicy()); + cycle_roots[1].setFocusTraversalPolicy(new ContainerOrderFocusTraversalPolicy()); + cycle_roots[2].setFocusTraversalPolicy(new LayoutFocusTraversalPolicy()); + } + + public void testStages() { + for (int i = 0; i < cycle_roots.length; i++) { + testStage(cycle_roots[i], a_conts[i], b_conts[i], + a_buttons[i], b_buttons[i]); + } + } + + void testStage(Container aFCR, Container aCont, Container bCont, + Component[] a_comps, Component[] b_comps) { + System.out.println("focus cycle root = " + aFCR.getName()); + System.out.println("policy = " + aFCR.getFocusTraversalPolicy()); + System.out.println("aContainer = " + aCont.getName()); + System.out.println("bContainer = " + bCont.getName()); + System.out.println("Both containers are not Providers."); + + Component[] a_comps_backward = revertArray(a_comps); + Component[] b_comps_backward = revertArray(b_comps); + + testForwardStage(aFCR, aCont, bCont, + false, a_comps, false, b_comps); + testBackwardStage(aFCR, aCont, bCont, + false, a_comps_backward, + false, b_comps_backward); + + System.out.println("Both containers are Providers."); + testForwardStage(aFCR, aCont, bCont, + true, a_comps, true, b_comps); + testForwardStage(aFCR, aCont, bCont, + true, shakeArray(a_comps), + true, shakeArray(b_comps)); + + testBackwardStage(aFCR, aCont, bCont, + true, a_comps_backward, + true, b_comps_backward); + testBackwardStage(aFCR, aCont, bCont, + true, shakeArray(a_comps_backward), + true, shakeArray(b_comps_backward)); + + System.out.println("aContainer.isProvider = true. " + + "bContainer.isProvider = false."); + testForwardStage(aFCR, aCont, bCont, + true, a_comps, false, b_comps); + testForwardStage(aFCR, aCont, bCont, + true, shakeArray(a_comps), + false, b_comps); + testBackwardStage(aFCR, aCont, bCont, + true, a_comps_backward, + false, b_comps_backward); + testBackwardStage(aFCR, aCont, bCont, + true, shakeArray(a_comps_backward), + false, b_comps_backward); + + System.out.println("aContainer.isProvider = false. " + + "bContainer.isProvider = true."); + testForwardStage(aFCR, aCont, bCont, + false, a_comps, + true, b_comps); + testForwardStage(aFCR, aCont, bCont, + false, a_comps, + true, shakeArray(b_comps)); + testBackwardStage(aFCR, aCont, bCont, + false, a_comps_backward, + true, b_comps_backward); + testBackwardStage(aFCR, aCont, bCont, + false, a_comps_backward, + true, shakeArray(b_comps_backward)); + + System.out.println("Stage completed."); + } + + public void printGoldOrder(Component[] comps) { + String goldOrderStr = ""; + for (int i =0;i < jumps; i++){ + goldOrderStr += " " + comps[i].getName(); + } + System.out.println("GoldOrder: " + goldOrderStr); + } + + public void testForwardStage(Container focusCycleRoot, + Container aContainer, + Container bContainer, + boolean aProvider, Component[] aComps, + boolean bProvider, Component[] bComps) { + System.out.println("test forward traversal"); + System.out.println("\taProvider = " + aProvider); + System.out.println("\tbProvider = " + bProvider); + Component[] goldOrder = new Component[2*aComps.length + bComps.length]; + System.arraycopy(aComps, 0, goldOrder, 0, aComps.length); + System.arraycopy(bComps, 0, goldOrder, + aComps.length, bComps.length); + System.arraycopy(aComps, 0, goldOrder, + aComps.length + bComps.length, + aComps.length); + printGoldOrder(goldOrder); + + String jumpStr = ""; + aContainer.setFocusTraversalPolicyProvider(aProvider); + aContainer.setFocusTraversalPolicy( + new ArrayOrderFocusTraversalPolicy(aContainer, aComps)); + bContainer.setFocusTraversalPolicyProvider(bProvider); + bContainer.setFocusTraversalPolicy( + new ArrayOrderFocusTraversalPolicy(bContainer, bComps)); + FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy(); + System.out.println("policy=" + policy); + Component current = policy.getFirstComponent(focusCycleRoot); + + for (int i = 0;i<jumps;i++){ + jumpStr += " " + current.getName(); + if (current != goldOrder[i]) { + System.out.println("i=" + i + " label = "+ current.getName() + + " i%8= " + i%goldOrder.length ); + throw new RuntimeException(errorOrderMessage); + } + System.out.println("getComponentAfter() on " + focusCycleRoot + ", " + current); + current = policy.getComponentAfter(focusCycleRoot, current); + System.out.println("RealOrder :" + jumpStr); + } + System.out.println(successStage); + } + + public void testBackwardStage(Container focusCycleRoot, + Container aContainer, + Container bContainer, + boolean aProvider, Component[] aComps, + boolean bProvider, Component[] bComps) + { + System.out.println("test backward traversal"); + System.out.println("\taProvider = " + aProvider); + System.out.println("\tbProvider = " + bProvider); + Component[] goldOrder = new Component[2*bComps.length + bComps.length]; + System.arraycopy(bComps, 0, goldOrder, 0, bComps.length); + System.arraycopy(aComps, 0, goldOrder, bComps.length, aComps.length); + System.arraycopy(bComps, 0, goldOrder, + aComps.length + bComps.length, bComps.length); + printGoldOrder(goldOrder); + + String jumpStr = ""; + aContainer.setFocusTraversalPolicyProvider(aProvider); + aContainer.setFocusTraversalPolicy( + new ArrayOrderFocusTraversalPolicy(aContainer, revertArray(aComps))); + bContainer.setFocusTraversalPolicyProvider(bProvider); + bContainer.setFocusTraversalPolicy( + new ArrayOrderFocusTraversalPolicy(bContainer, revertArray(bComps))); + FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy(); + System.out.println("policy=" + policy); + Component current = policy.getLastComponent(focusCycleRoot); + + for (int i = 0;i<jumps;i++){ + jumpStr += " " + current.getName(); + if (current != goldOrder[i]) { + System.out.println("i=" + i + " label = "+ current.getName()); + throw new RuntimeException(errorOrderMessage); + } + System.out.println("getComponentBefore() on " + + focusCycleRoot.getName() + ", " + current.getName()); + current = policy.getComponentBefore(focusCycleRoot, current); + System.out.println("RealOrder :" + jumpStr); + } + System.out.println(successStage); + } + + Component[] shakeArray(Component[] comps) { + Component[] new_comps = new Component[comps.length]; + System.arraycopy(comps, 0, new_comps, 0, comps.length); + new_comps[0] = comps[1]; + new_comps[1] = comps[0]; + return new_comps; + } + + Component[] revertArray(Component[] comps) { + Component[] new_comps = new Component[comps.length]; + for (int i=0; i < comps.length; i++) { + new_comps[i] = comps[comps.length - 1 - i]; + } + + return new_comps; + } + + public void initSwingContInFrame() { + System.out.println("test Swing policy provider in AWT Frame."); + + jframe = new JFrame("FocusTraversalPolicyProviderTest - JFrame"); + jframe.setName("JFrame"); + JPanel panel1 = createPanel(); + jframe.getContentPane().add(panel1); + + frame = new Frame("FocusTraversalPolicyProviderTest - Frame"); + frame.setName("Frame"); + JPanel panel2 = createPanel(); + panel2.setFocusTraversalPolicyProvider(true); + panel2.setFocusTraversalPolicy(jframe.getFocusTraversalPolicy()); + frame.add(panel2); + + jframe.pack(); + jframe.setVisible(true); + frame.pack(); + frame.setVisible(true); + } + + public void testSwingContInFrame() { + FocusTraversalPolicy policy = frame.getFocusTraversalPolicy(); + FocusTraversalPolicy jpolicy = jframe.getFocusTraversalPolicy(); + + System.out.println("policy = " + policy); + System.out.println("jpolicy = " + jpolicy); + + assertEquals("Different default components.", + jpolicy.getDefaultComponent(jframe), + policy.getDefaultComponent(frame)); + + assertEquals("Different first components.", + jpolicy.getFirstComponent(jframe), + policy.getFirstComponent(frame)); + + assertEquals("Different last components.", + jpolicy.getLastComponent(jframe), + policy.getLastComponent(frame)); + + System.out.println("test forward traversal order."); + + Component jcur = jpolicy.getFirstComponent(jframe); + Component cur = jpolicy.getFirstComponent(frame); + + for (int i = 0; i < 2 * n_buttons; i++) { + assertEquals("Wrong sequence (step=" + i + ")", + jcur, cur); + jcur = jpolicy.getComponentAfter(jframe, jcur); + cur = policy.getComponentAfter(frame, cur); + } + + System.out.println("test backward traversal order."); + + jcur = jpolicy.getLastComponent(jframe); + cur = jpolicy.getLastComponent(frame); + + for (int i = 0; i < 2 * n_buttons; i++) { + assertEquals("Wrong sequence (step=" + i + ")", + jcur, cur); + jcur = jpolicy.getComponentBefore(jframe, jcur); + cur = policy.getComponentBefore(frame, cur); + } + } + + public void assertEquals(String msg, Component expected, Component actual) { + if (expected == null && actual != null + || actual == null && expected != null) + { + throw new RuntimeException(msg + "(expected=" + expected + + ", actual=" + actual + ")"); + } + + String expected_name = expected.getName(); + String actual_name = actual.getName(); + + if ((expected_name != null && !expected_name.equals(actual_name)) + || (actual_name != null && !actual_name.equals(expected_name))) + { + throw new RuntimeException(msg + "(expected_name=" + expected_name + + ", actual_name=" + actual_name + ")"); + } + } + + public JPanel createPanel() { + JPanel pane = new JPanel(); + pane.setName("jpanel"); + for (int i = 0; i < n_buttons; i++) { + JButton btn = new JButton("jbtn" + i); + btn.setName("jbtn" + i); + pane.add(btn); + } + return pane; + } +} + +class ArrayOrderFocusTraversalPolicy extends FocusTraversalPolicy { + + final Component[] comps; + final Container cont; + + public ArrayOrderFocusTraversalPolicy(Container aCont, Component[] aComps) { + if (aCont == null) { + throw new NullPointerException("aCont is null."); + } + cont = aCont; + comps = new Component[aComps.length]; + for (int i = 0; i < comps.length; i++) { + comps[i] = aComps[i]; + } + } + + private void checkContainer(Container aCont) { + if (aCont != cont) { + System.err.println("aCont = " + aCont); + System.err.println("cont = " + cont); + throw new IllegalArgumentException( + "Policy is not registered for this container."); + } + } + + private int findIndex(Component aComp) { + for (int i = 0; i < comps.length; i++) { + if (aComp == comps[i]) { + return i; + } + } + + return -1; + } + + public Component getComponentAfter(Container focusCycleRoot, + Component aComponent) { + checkContainer(focusCycleRoot); + + int current_index = findIndex(aComponent); + if (current_index < 0) { + return null; + } + + current_index++; + + if (current_index < comps.length) { + return comps[current_index]; + } + + if (focusCycleRoot.isFocusCycleRoot()) { + return getFirstComponent(focusCycleRoot); + } else { + return null; + } + } + + public Component getComponentBefore(Container focusCycleRoot, + Component aComponent) { + checkContainer(focusCycleRoot); + + int current_index = findIndex(aComponent); + if (current_index < 0) { + return null; + } + + current_index--; + + if (current_index >= 0) { + return comps[current_index]; + } + + if (focusCycleRoot.isFocusCycleRoot()) { + return getLastComponent(focusCycleRoot); + } else { + return null; + } + } + + public Component getFirstComponent(Container focusCycleRoot) { + checkContainer(focusCycleRoot); + return comps[0]; + } + + public Component getLastComponent(Container focusCycleRoot) { + checkContainer(focusCycleRoot); + return comps[comps.length - 1]; + } + + public Component getDefaultComponent(Container focusCycleRoot) { + return getFirstComponent(focusCycleRoot); + } + + public Component getInitialComponent(Window window) { + throw new UnsupportedOperationException("getInitialComponent() is not supported."); + } + + public Component[] getCycle(Container focusCycleRoot) { + checkContainer(focusCycleRoot); + Component[] temp = new Component[comps.length]; + System.arraycopy(comps, 0, temp, 0, comps.length); + return temp; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Container/OpenedPopupFrameDisposal.java openjdk-11-11.0.23+9/test/jdk/java/awt/Container/OpenedPopupFrameDisposal.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Container/OpenedPopupFrameDisposal.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Container/OpenedPopupFrameDisposal.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4852790 + @summary Frame disposal must remove opened popup without exception + @key headful +*/ + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.FlowLayout; +import java.awt.Point; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JMenuBar; +import javax.swing.JPanel; + + +public class OpenedPopupFrameDisposal { + public static final int SIZE = 300; + + volatile JFrame jf = null; + volatile JComboBox<String> jcb = null; + + public void start() { + jf = new JFrame("OpenedPopupFrameDisposal - Frame to dispose"); + // Note that original bug cannot be reproduced without JMenuBar present. + jf.setJMenuBar(new JMenuBar()); + jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); + jf.setLocationRelativeTo(null); + jf.addWindowListener(new WindowAdapter() { + public void windowClosing(WindowEvent evt) { + jf.setVisible(false); + jf.dispose(); + } + }); + + + JPanel panel = new JPanel(new FlowLayout()); + jcb = new JComboBox<>(); + jcb.addItem("one"); + jcb.addItem("two"); + jcb.addItem("Three"); + panel.add(jcb); + + jf.getContentPane().add(panel, BorderLayout.CENTER); + jf.pack(); + jf.setSize(new Dimension(SIZE, SIZE)); + + jf.setVisible(true); + + } + + public void test() throws Exception { + Robot robot = new Robot(); + robot.delay(1000); // wait for jf visible + Point pt = jf.getLocationOnScreen(); + + int x, y; + + x = pt.x + SIZE / 2; + y = pt.y + SIZE / 2; + + robot.mouseMove(x, y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.delay(1000); + + pt = jcb.getLocationOnScreen(); + x = pt.x + jcb.getWidth() / 2; + y = pt.y + jcb.getHeight() / 2; + + robot.mouseMove(x, y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.delay(1000); + + // Here on disposal we had a NullPointerException + EventQueue.invokeAndWait(() -> { + if (jf != null) { + jf.setVisible(false); + jf.dispose(); + } + }); + } + + public static void main(String[] args) throws Exception { + OpenedPopupFrameDisposal imt = new OpenedPopupFrameDisposal(); + try { + EventQueue.invokeAndWait(imt::start); + imt.test(); + } finally { + EventQueue.invokeAndWait(() -> { + if (imt.jf != null) { + imt.jf.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Container/PropertyEventsTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Container/PropertyEventsTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Container/PropertyEventsTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Container/PropertyEventsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @summary unit test for ability of FocusTraversalPolicyProvider +*/ + +import java.awt.Container; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +public class PropertyEventsTest implements PropertyChangeListener { + final String PROPERTY = "focusTraversalPolicyProvider"; + + + public static void main(String[] args) throws Exception { + new PropertyEventsTest().start(); + } + + public void start () { + Container c1 = new Container(); + c1.addPropertyChangeListener(PROPERTY, this); + + assertEquals("Container shouldn't be a provider by default", + false, c1.isFocusTraversalPolicyProvider()); + + prepareForEvent(false, true); + c1.setFocusTraversalPolicyProvider(true); + assertEventOccured(); + assertEquals("Policy provider property was not set.", + true, c1.isFocusTraversalPolicyProvider()); + + prepareForEvent(true, false); + c1.setFocusTraversalPolicyProvider(false); + assertEventOccured(); + assertEquals("Policy provider property was not reset.", + false, c1.isFocusTraversalPolicyProvider()); + + prepareForEvent(false, true); + c1.setFocusCycleRoot(true); + assertEventMissed(); + assertEquals("Cycle root shouldn't be a policy provider.", + false, c1.isFocusTraversalPolicyProvider()); + + prepareForEvent(true, false); + c1.setFocusCycleRoot(false); + assertEventMissed(); + assertEquals("setFocusCycleRoot(false) should reset " + + "policy provider property.", + false, c1.isFocusTraversalPolicyProvider()); + + System.out.println("Test passed."); + }// start() + + void assertEquals(String msg, boolean expected, boolean actual) { + if (expected != actual) { + Assert(msg + "(expected=" + expected + ", actual=" + actual + ")"); + } + } + + void assertEquals(String msg, Object expected, Object actual) { + if ((expected != null && !expected.equals(actual)) + || (actual != null && !actual.equals(expected))) + { + Assert(msg + "(expected=" + expected + ", actual=" + actual + ")"); + } + } + + void Assert(String msg) { + throw new RuntimeException(msg); + } + + void prepareForEvent(boolean old_val, boolean new_val) { + property_change_fired = false; + expected_new_value = Boolean.valueOf(new_val); + expected_old_value = Boolean.valueOf(old_val); + } + + void assertEventOccured() { + if (!property_change_fired) { + Assert("Property Change Event missed."); + } + } + + void assertEventMissed() { + if (property_change_fired) { + Assert("Unexpected property change event."); + } + } + + boolean property_change_fired; + Boolean expected_new_value; + Boolean expected_old_value; + + public void propertyChange(PropertyChangeEvent e) { + System.out.println("PropertyChangeEvent[property=" + e.getPropertyName() + + ", new=" + e.getNewValue() + + ", old=" + e.getOldValue() + "]"); + + assertEquals("Wrong proeprty name.", + PROPERTY, e.getPropertyName()); + assertEquals("Wrong new value.", + expected_new_value, e.getNewValue()); + assertEquals("Wrong old value.", + expected_old_value, e.getOldValue()); + property_change_fired = true; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Container/RemoveByIndexExceptionTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Container/RemoveByIndexExceptionTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Container/RemoveByIndexExceptionTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Container/RemoveByIndexExceptionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4546535 + @summary java.awt.Container.remove(int) throws unexpected NPE +*/ + +import java.awt.Canvas; +import java.awt.Panel; + +public class RemoveByIndexExceptionTest { + + public static void main(String[] args) throws Exception { + Panel p = new Panel(); + p.add(new Canvas()); + p.remove(0); + + int[] bad = {-1, 0, 1}; + for (int i = 0; i < bad.length; i++) { + try { + System.out.println("Removing " + bad[i]); + p.remove(bad[i]); + System.out.println("No exception"); + } catch (ArrayIndexOutOfBoundsException e) { + e.printStackTrace(); + System.out.println("This is correct exception - " + e); + } catch (NullPointerException e) { + e.printStackTrace(); + throw new RuntimeException("Test Failed: NPE was thrown."); + } + } + System.out.println("Test Passed."); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Container/ShowingChangedEventTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Container/ShowingChangedEventTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Container/ShowingChangedEventTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Container/ShowingChangedEventTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4924516 + @summary Verifies that SHOWING_CHANGED event is propagated to \ + HierarchyListeners then toolkit enabled + @key headful +*/ + + +import java.awt.AWTEvent; +import java.awt.EventQueue; +import java.awt.Toolkit; +import java.awt.event.AWTEventListener; +import java.awt.event.HierarchyEvent; +import java.awt.event.HierarchyListener; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; + +public class ShowingChangedEventTest + implements AWTEventListener, HierarchyListener{ + private boolean eventRegisteredOnButton = false; + + private final JFrame frame = new JFrame("ShowingChangedEventTest"); + private final JPanel panel = new JPanel(); + private final JButton button = new JButton(); + + + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + ShowingChangedEventTest showingChangedEventTest + = new ShowingChangedEventTest(); + + try { + showingChangedEventTest.start(); + } finally { + showingChangedEventTest.frame.dispose(); + } + }); + } + + public void start () { + frame.getContentPane().add(panel); + panel.add(button); + + frame.pack(); + frame.setVisible(true); + + Toolkit.getDefaultToolkit() + .addAWTEventListener(this, AWTEvent.HIERARCHY_EVENT_MASK); + + button.addHierarchyListener(this); + panel.setVisible(false); + + if (!eventRegisteredOnButton){ + throw new RuntimeException("Event wasn't registered on Button."); + } + } + + @Override + public void eventDispatched(AWTEvent awtevt) { + if (awtevt instanceof HierarchyEvent) { + HierarchyEvent hevt = (HierarchyEvent) awtevt; + if (hevt != null && (hevt.getChangeFlags() + & HierarchyEvent.SHOWING_CHANGED) != 0) { + System.out.println("Hierarchy event was received on Toolkit. " + + "SHOWING_CHANGED for " + + hevt.getChanged().getClass().getName()); + } + } + } + + @Override + public void hierarchyChanged(HierarchyEvent e) { + if ((HierarchyEvent.SHOWING_CHANGED & e.getChangeFlags()) != 0) { + System.out.println("Hierarchy event was received on Button. " + + "SHOWING_CHANGED for " + + e.getChanged().getClass().getName()); + } + eventRegisteredOnButton = true; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2002, 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Button; +import java.awt.Choice; +import java.awt.FlowLayout; +import java.awt.Frame; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsEnvironment; +import java.awt.Point; +import java.awt.Robot; +import java.awt.Window; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import javax.imageio.ImageIO; + +/** + * @test + * @bug 4478780 + * @key headful + * @summary Tests that Choice can be accessed and controlled by keyboard. + */ +public class AccessibleChoiceTest { + //Declare things used in the test, like buttons and labels here + Frame frame = new Frame("window owner"); + Window win = new Window(frame); + Choice choice = new Choice(); + Button def = new Button("default owner"); + CountDownLatch go = new CountDownLatch(1); + + public static void main(final String[] args) throws IOException { + AccessibleChoiceTest app = new AccessibleChoiceTest(); + app.test(); + } + + private void test() throws IOException { + try { + init(); + start(); + } finally { + if (frame != null) frame.dispose(); + if (win != null) win.dispose(); + } + } + + public void init() { + win.setLayout (new FlowLayout ()); + win.add(def); + def.addFocusListener(new FocusAdapter() { + public void focusGained(FocusEvent e) { + go.countDown(); + } + }); + choice.add("One"); + choice.add("Two"); + win.add(choice); + } + + public void start () throws IOException { + frame.setVisible(true); + win.pack(); + win.setLocation(100, 200); + win.setVisible(true); + + Robot robot = null; + try { + robot = new Robot(); + } catch (Exception ex) { + throw new RuntimeException("Can't create robot"); + } + robot.waitForIdle(); + robot.delay(1000); + robot.setAutoDelay(150); + robot.setAutoWaitForIdle(true); + + // Focus default button and wait till it gets focus + Point loc = def.getLocationOnScreen(); + robot.mouseMove(loc.x+2, loc.y+2); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + + try { + go.await(1, TimeUnit.SECONDS); + } catch (InterruptedException ie) { + throw new RuntimeException("Interrupted !!!"); + } + + if (!def.isFocusOwner()) { + throw new RuntimeException("Button doesn't have focus"); + } + + // Press Tab key to move focus to Choice + robot.keyPress(KeyEvent.VK_TAB); + robot.keyRelease(KeyEvent.VK_TAB); + + robot.delay(500); + + // Press Down key to select next item in the choice(Motif 2.1) + // If bug exists we won't be able to do so + robot.keyPress(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_DOWN); + + robot.delay(500); + + String osName = System.getProperty("os.name").toLowerCase(); + if (osName.startsWith("mac")) { + robot.keyPress(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_DOWN); + robot.delay(500); + robot.keyPress(KeyEvent.VK_ENTER); + robot.keyRelease(KeyEvent.VK_ENTER); + } + + robot.delay(1000); + + // On success second item should be selected + if (choice.getSelectedItem() != choice.getItem(1)) { + // Print out os name to check if mac conditional is relevant + System.err.println("Failed on os: " + osName); + + // Save image to better debug the status of test when failing + GraphicsConfiguration ge = GraphicsEnvironment + .getLocalGraphicsEnvironment().getDefaultScreenDevice() + .getDefaultConfiguration(); + BufferedImage failImage = robot.createScreenCapture(ge.getBounds()); + ImageIO.write(failImage, "png", new File("failImage.png")); + + throw new RuntimeException("Choice can't be controlled by keyboard"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Frame/RemoveNotifyTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Frame/RemoveNotifyTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Frame/RemoveNotifyTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Frame/RemoveNotifyTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,70 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4154099 + @summary Tests that calling removeNotify() on a Frame and then reshowing + the Frame does not crash or lockup + @key headful + @run main RemoveNotifyTest +*/ + +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Menu; +import java.awt.MenuBar; +import java.awt.MenuItem; + +public class RemoveNotifyTest { + static Frame f; + + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + for (int i = 0; i < 100; i++) { + try { + f = new Frame(); + f.setBounds(10, 10, 100, 100); + MenuBar bar = new MenuBar(); + Menu menu = new Menu(); + menu.add(new MenuItem("foo")); + bar.add(menu); + f.setMenuBar(bar); + + for (int j = 0; j < 5; j++) { + f.setVisible(true); + f.removeNotify(); + } + } finally { + if (f != null) { + f.dispose(); + } + } + } + }); + + System.out.println("done"); + + } + + }// class RemoveNotifyTest diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Icon/NullIconImageTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Icon/NullIconImageTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Icon/NullIconImageTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Icon/NullIconImageTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* + * @test + * @bug 4633887 + * @summary setting a null Image in setIconImage should not cause exception. + * @key headful + * @run main NullIconImageTest +*/ + +import java.awt.EventQueue; +import java.awt.Frame; + +public class NullIconImageTest { + static Frame f; + + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + try { + f = new Frame(); + f.setVisible(true); + f.setIconImage(null); // This call should not cause an exception. + } finally { + if (f != null) { + f.dispose(); + } + } + }); + } + + }// class NullIconImageTest diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/KeyboardFocusmanager/ChangeKFMTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/KeyboardFocusmanager/ChangeKFMTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/KeyboardFocusmanager/ChangeKFMTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/KeyboardFocusmanager/ChangeKFMTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4467840 + @summary Generate a PropertyChange when KeyboardFocusManager changes + @key headful + @run main ChangeKFMTest +*/ + +import java.awt.BorderLayout; +import java.awt.DefaultKeyboardFocusManager; +import java.awt.EventQueue; +import java.awt.KeyboardFocusManager; + +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +public class ChangeKFMTest implements PropertyChangeListener { + static final String CURRENT_PROP_NAME = "managingFocus"; + boolean current_fired; + boolean not_current_fired; + KeyboardFocusManager kfm; + public static void main(String[] args) throws Exception { + ChangeKFMTest test = new ChangeKFMTest(); + test.start(); + } + + public void start () throws Exception { + EventQueue.invokeAndWait(() -> { + kfm = new DefaultKeyboardFocusManager(); + kfm.addPropertyChangeListener(CURRENT_PROP_NAME, this); + current_fired = false; + not_current_fired = false; + KeyboardFocusManager.setCurrentKeyboardFocusManager(kfm); + if (!current_fired) { + throw new RuntimeException("Change to current was not fired on KFM instalation"); + } + if (not_current_fired) { + throw new RuntimeException("Change to non-current was fired on KFM instalation"); + } else { + System.out.println("Installation was complete correctly"); + } + + current_fired = false; + not_current_fired = false; + KeyboardFocusManager.setCurrentKeyboardFocusManager(null); + if (!not_current_fired) { + throw new RuntimeException("Change to non-current was not fired on KFM uninstalation"); + } + if (current_fired) { + throw new RuntimeException("Change to current was fired on KFM uninstalation"); + } else { + System.out.println("Uninstallation was complete correctly"); + } + }); + } + + public void propertyChange(PropertyChangeEvent e) { + System.out.println(e.toString()); + if (!CURRENT_PROP_NAME.equals(e.getPropertyName())) { + throw new RuntimeException("Unexpected property name - " + e.getPropertyName()); + } + if (((Boolean)e.getNewValue()).booleanValue()) { + current_fired = true; + } else { + not_current_fired = true; + } + System.out.println("current_fired = " + current_fired); + System.out.println("not_current_fired = " + not_current_fired); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/KeyboardFocusmanager/PropertySupportNPETest.java openjdk-11-11.0.23+9/test/jdk/java/awt/KeyboardFocusmanager/PropertySupportNPETest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/KeyboardFocusmanager/PropertySupportNPETest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/KeyboardFocusmanager/PropertySupportNPETest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4458016 + @summary KeyboardFocusManager.get[Property|Vetoable]ChangeListeners throw NPE + @key headful + @run main PropertySupportNPETest +*/ + +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.KeyboardFocusManager; + +public class PropertySupportNPETest { + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + KeyboardFocusManager kfm = + KeyboardFocusManager.getCurrentKeyboardFocusManager(); + kfm.getVetoableChangeListeners(); + kfm.getVetoableChangeListeners(""); + kfm.getPropertyChangeListeners(); + kfm.getPropertyChangeListeners(""); + }); + } + } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Label/NullLabelTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Label/NullLabelTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Label/NullLabelTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Label/NullLabelTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 6215905 + @summary Tests that passing null value to Label.setText(String) doesn't + lead to VM crash. + @key headful + @run main NullLabelTest +*/ + +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.Label; +import java.awt.Frame; + +public class NullLabelTest { + + static Frame frame; + public static void main(String[] args) throws Exception { + EventQueue.invokeAndWait(() -> { + try { + frame = new Frame(); + Label l = new Label("A"); + frame.add(l); + frame.setLayout(new BorderLayout()); + frame.setSize(200, 200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + l.setText(null); + } finally { + if (frame != null) { + frame.dispose(); + } + } + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Layout/InsetsTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Layout/InsetsTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Layout/InsetsTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Layout/InsetsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,96 @@ +/* + * Copyright (c) 1998, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4087971 + @summary Insets does not layout a component correctly + @key headful + @run main InsetsTest +*/ + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.EventQueue; +import java.awt.Insets; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; + +public class InsetsTest { + private int leftInsetValue; + private InsetsClass IC; + + public static void main(String[] args) throws Exception { + InsetsTest test = new InsetsTest(); + test.start(); + } + + public void start() throws Exception { + EventQueue.invokeAndWait(() -> { + try { + IC = new InsetsClass(); + IC.setLayout(new BorderLayout()); + IC.setSize(200, 200); + IC.setVisible(true); + + leftInsetValue = IC.returnLeftInset(); + if (leftInsetValue != 30) { + throw new RuntimeException("Test Failed - Left inset" + + "is not taken correctly"); + } + } finally { + if (IC != null) { + IC.dispose(); + } + } + }); + } +} + +class InsetsClass extends JFrame { + private int value; + private JPanel panel; + + public InsetsClass() { + super("TestFrame"); + setBackground(Color.lightGray); + + panel = new JPanel(); + panel.setBorder(new EmptyBorder(new Insets(30, 30, 30, 30))); + panel.add(new JButton("Test Button")); + + getContentPane().add(panel); + pack(); + setVisible(true); + } + + public int returnLeftInset() { + // Getting the left inset value + Insets insets = panel.getInsets(); + value = insets.left; + return value; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/LightweightComponent/LWClobberDragEvent.java openjdk-11-11.0.23+9/test/jdk/java/awt/LightweightComponent/LWClobberDragEvent.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/LightweightComponent/LWClobberDragEvent.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/LightweightComponent/LWClobberDragEvent.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,169 @@ +/* + * Copyright (c) 1998, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4092418 + @summary Test for drag events been taking by Lightweight Component + @key headful + @run main LWClobberDragEvent +*/ + +import java.awt.AWTException; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.Point; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; + +public class LWClobberDragEvent implements MouseListener, MouseMotionListener { + boolean isDragging; + + static Frame frame; + LightweightComp lc; + final static int LWWidth = 200; + final static int LWHeight = 100; + final static int MAX_COUNT = 100; + Point locationOfLW; + + public static void main(String[] args) throws Exception { + LWClobberDragEvent test = new LWClobberDragEvent(); + try { + test.init(); + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } + + public void init() throws Exception { + EventQueue.invokeAndWait(() -> { + frame = new Frame(); + frame.setLayout(new BorderLayout()); + isDragging = false; + frame.addMouseMotionListener(this); + frame.addMouseListener(this); + + frame.setBackground(Color.white); + + lc = new LightweightComp(); + lc.setSize(LWWidth, LWHeight); + lc.setLocation(50, 50); + lc.addMouseListener(this); + lc.addMouseMotionListener(this); + frame.add(lc); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + } + + public void start() throws Exception { + Robot robot = new Robot(); + robot.delay(1000); + robot.waitForIdle(); + + EventQueue.invokeAndWait(() -> { + locationOfLW = getLocation(lc); + robot.mouseMove(locationOfLW.x + lc.getWidth() / 2, + locationOfLW.y - lc.getHeight() / 2); + }); + + robot.mousePress(InputEvent.BUTTON1_MASK); + robot.delay(1000); + //move mouse till the bottom of LWComponent + for (int i = 1; i < LWHeight + lc.getHeight() / 2; i++) { + robot.mouseMove(locationOfLW.x + lc.getWidth() / 2, + locationOfLW.y - lc.getHeight() / 2 + i); + } + robot.mouseRelease(InputEvent.BUTTON1_MASK); + robot.delay(1000); + System.out.println("Test Passed."); + } + + public void mouseClicked(MouseEvent evt) { } + + public void mouseReleased(MouseEvent evt) { + if (evt.getSource() == this) { + if (isDragging) { + isDragging = false; + } + } else { + } + } + public Point getLocation( Component co ) throws RuntimeException { + Point pt = null; + boolean bFound = false; + int count = 0; + while ( !bFound ) { + try { + pt = co.getLocationOnScreen(); + bFound = true; + } catch ( Exception ex ) { + bFound = false; + count++; + } + if ( !bFound && count > MAX_COUNT ) { + throw new RuntimeException("don't see a component to get location"); + } + } + return pt; + } + + public void mousePressed(MouseEvent evt) { } + public void mouseEntered(MouseEvent evt) { } + public void mouseExited(MouseEvent evt) { } + public void mouseMoved(MouseEvent evt) { } + + public void mouseDragged(MouseEvent evt) { + if (evt.getSource() == this) { + if (!isDragging) { + isDragging = true; + } + } else { + if (isDragging) { + throw new RuntimeException("Test failed: Lightweight got dragging event."); + } + } + } +} + +class LightweightComp extends Component { + public void paint(Graphics g) { + Dimension d = getSize(); + g.setColor(Color.red); + g.fillRect(0, 0, d.width, d.height); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/LightweightComponent/LightweightDragTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/LightweightComponent/LightweightDragTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/LightweightComponent/LightweightDragTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/LightweightComponent/LightweightDragTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,151 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4050138 + @summary Lightweight components: Enter/Exit mouse events + incorrectly reported during drag + @key headful + @run main LightweightDragTest +*/ + +import java.awt.AWTException; +import java.awt.AWTEvent; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.MouseEvent; + +public class LightweightDragTest { + MyComponent c,c2; + static Frame frame; + volatile int x = 0; + volatile int y = 0; + volatile int x2 = 0; + volatile int y2 = 0; + + public static void main(String[] args) throws Exception { + LightweightDragTest test = new LightweightDragTest(); + try { + EventQueue.invokeAndWait(() -> { + test.init(); + }); + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } + + public void init() { + frame = new Frame("Test LightWeight Component Drag"); + c = new MyComponent(); + c2 = new MyComponent(); + frame.add(c, BorderLayout.WEST); + frame.add(c2, BorderLayout.EAST); + frame.setSize(250, 200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + public void start() throws Exception { + Robot rb; + try { + rb = new Robot(); + } catch (AWTException e) { + throw new Error("Could not create robot"); + } + rb.setAutoDelay(10); + rb.delay(1000); + rb.waitForIdle(); + + EventQueue.invokeAndWait(() -> { + x = c.getLocationOnScreen().x + c.getWidth() / 2; + y = c.getLocationOnScreen().y + c.getHeight() / 2; + x2 = c2.getLocationOnScreen().x + c2.getWidth() / 2; + y2 = c2.getLocationOnScreen().y + c2.getHeight() / 2; + }); + int xt = x; + int yt = y; + rb.mouseMove(xt, yt); + rb.mousePress(InputEvent.BUTTON1_MASK); + EventQueue.invokeAndWait(() -> { + c.isInside = true; + c2.isInside = false; + }); + // drag + while (xt != x2 || yt != y2) { + if (x2 > xt) ++xt; + if (x2 < xt) --xt; + if (y2 > yt) ++yt; + if (y2 < yt) --yt; + rb.mouseMove(xt, yt); + } + rb.mouseRelease(InputEvent.BUTTON1_MASK); + EventQueue.invokeAndWait(() -> { + if (c.isInside || !c2.isInside) { + throw new Error("Test failed: mouse events did not arrive"); + } + }); + } +} + +class MyComponent extends Component { + public boolean isInside; + public void paint(Graphics g) { + g.setColor(getBackground()); + g.fillRect(0,0,getSize().width,getSize().height); + } + public MyComponent() { + enableEvents(AWTEvent.MOUSE_EVENT_MASK); + setBackground(Color.blue); + } + + public Dimension getPreferredSize() { + return new Dimension(100, 100); + } + + public void processEvent(AWTEvent e) { + int eventID = e.getID(); + if ((eventID == MouseEvent.MOUSE_ENTERED)) { + setBackground(Color.red); + repaint(); + isInside = true; + } else if (eventID == MouseEvent.MOUSE_EXITED) { + setBackground(Color.blue); + repaint(); + isInside = false; + } + super.processEvent(e); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,21 +21,28 @@ * questions. */ -/** +import java.awt.Frame; +import java.awt.List; +import java.lang.ref.PhantomReference; +import java.lang.ref.Reference; +import java.lang.ref.ReferenceQueue; + +import jdk.test.lib.util.ForceGC; + +/* * @test * @key headful * @bug 8040076 * @summary AwtList not garbage collected - * @run main/othervm -Xmx100m AwtListGarbageCollectionTest + * @library /test/lib/ + * @build jdk.test.lib.util.ForceGC + * @run main/othervm -Xmx100m -Xlog:gc=debug AwtListGarbageCollectionTest */ +public class AwtListGarbageCollectionTest { -import java.awt.*; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.lang.ref.WeakReference; + private static final long ENQUEUE_TIMEOUT = 50; -public class AwtListGarbageCollectionTest { - public static void main(String[] args) { + public static void main(String[] args) throws InterruptedException { Frame frame = new Frame("List leak test"); try { test(frame); @@ -45,29 +52,32 @@ } private static void test(Frame frame) { - WeakReference<List> weakListRef = null; - try { - frame.setSize(300, 200); - frame.setVisible(true); + frame.setSize(300, 200); + frame.setVisible(true); - List strongListRef = new List(); - frame.add(strongListRef); - strongListRef.setMultipleMode(true); - frame.remove(strongListRef); - weakListRef = new WeakReference<List>(strongListRef); - strongListRef = null; - - //make out of memory to force gc - String veryLongString = new String(new char[100]); - while (true) { - veryLongString += veryLongString; - } - } catch (OutOfMemoryError e) { - if (weakListRef == null) { - throw new RuntimeException("Weak list ref wasn't created"); - } else if (weakListRef.get() != null) { - throw new RuntimeException("List wasn't garbage collected"); - } + List strongListRef = new List(); + frame.add(strongListRef); + strongListRef.setMultipleMode(true); + frame.remove(strongListRef); + + final ReferenceQueue<List> referenceQueue = new ReferenceQueue<>(); + final PhantomReference<List> phantomListRef = + new PhantomReference<>(strongListRef, referenceQueue); + System.out.println("phantomListRef: " + phantomListRef); + + strongListRef = null; // Clear the strong reference + + System.out.println("Waiting for the reference to be cleared"); + if (!ForceGC.wait(() -> phantomListRef == remove(referenceQueue))) { + throw new RuntimeException("List wasn't garbage collected"); + } + } + + private static Reference<?> remove(ReferenceQueue<?> queue) { + try { + return queue.remove(ENQUEUE_TIMEOUT); + } catch (InterruptedException e) { + throw new RuntimeException(e); } } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/EnableTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/EnableTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/EnableTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/EnableTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,74 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4257944 + @summary PopupMenu.setEnabled fails on Win32 + @key headful + @run main EnableTest +*/ + +import java.awt.AWTEvent; +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.MenuItem; +import java.awt.PopupMenu; + +public class EnableTest { + PopupMenu popup = null; + Frame frame; + + public static void main(String[] args) throws Exception { + EnableTest test = new EnableTest(); + test.start(); + } + + public void start() throws Exception { + try { + EventQueue.invokeAndWait(() -> { + frame = new Frame("EnableTest"); + popup = new PopupMenu("Popup Menu Title"); + MenuItem mi1 = new MenuItem("Menu Item"); + MenuItem mi2 = new MenuItem("Menu Item"); + popup.add(mi1); + popup.addSeparator(); + popup.add(mi2); + popup.setEnabled(false); + popup.setLabel("New Label"); + mi2.setEnabled(false); + frame.add(popup); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/MenuSetLabelTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/MenuSetLabelTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/MenuSetLabelTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/MenuSetLabelTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,112 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4261935 + @summary Menu display problem when changing the text of the menu(window 98) + @key headful + @run main MenuSetLabelTest +*/ + +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Menu; +import java.awt.MenuBar; +import java.awt.MenuItem; +import java.awt.Robot; + +public class MenuSetLabelTest { + Menu1 f; + + public static void main(String[] args) throws Exception { + MenuSetLabelTest test = new MenuSetLabelTest(); + test.start(); + } + + public void start() throws Exception { + try { + EventQueue.invokeAndWait(() -> { + f = new Menu1(); + f.setTitle("MenuSetLabelTest"); + f.setSize(300, 200); + f.setLocationRelativeTo(null); + f.setVisible(true); + }); + Robot robot = new Robot(); + robot.delay(1000); + robot.waitForIdle(); + EventQueue.invokeAndWait(() -> { + f.changeMenuLabel(); + }); + } finally { + EventQueue.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + } + +} + +class Menu1 extends Frame { + + String s1 = new String("short"); + String s2 = new String("This is a long string"); + String s3 = new String("Menu Item string"); + + MenuBar mb1 = new MenuBar(); + Menu f = new Menu(s1); + Menu m = new Menu(s1); + boolean flag = true; + + public Menu1() + { + for (int i = 0; i < 5; i++) { + m.add(new MenuItem(s3)); + } + for (int i = 0; i < 10; i++) { + f.add(new MenuItem(s3)); + } + mb1.add(f); + mb1.add(m); + setMenuBar(mb1); + } + + public void changeMenuLabel() { + MenuBar mb = getMenuBar(); + Menu m0 = mb.getMenu(0); + Menu m1 = mb.getMenu(1); + + if (flag) { + m0.setLabel(s2); + m1.setLabel(s2); + } else { + m0.setLabel(s1); + m1.setLabel(s1); + } + flag = !flag; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/SetLabelWithPeerCreatedTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/SetLabelWithPeerCreatedTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/SetLabelWithPeerCreatedTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/SetLabelWithPeerCreatedTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,70 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4234266 + @summary MenuItem throws NullPointer exception when setting the label with created peer. + @key headful + @run main SetLabelWithPeerCreatedTest +*/ + +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Menu; +import java.awt.MenuBar; +import java.awt.MenuItem; + +public class SetLabelWithPeerCreatedTest { + Frame frame; + public static void main(String[] args) throws Exception { + SetLabelWithPeerCreatedTest test = new SetLabelWithPeerCreatedTest(); + test.start(); + } + + public void start() throws Exception { + try { + EventQueue.invokeAndWait(() -> { + frame = new Frame("SetLabel with Peer Created Test"); + Menu menu = new Menu("Menu"); + MenuItem mi = new MenuItem("Item"); + MenuBar mb = new MenuBar(); + menu.add(mi); + mb.add(menu); + frame.setMenuBar(mb); + frame.setSize(300, 200); + frame.setLocationRelativeTo(null); + mi.setLabel("new label"); + frame.setVisible(true); + System.out.println("Test PASSED!"); + }); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } + } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/SetStateTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/SetStateTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/MenuItem/SetStateTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/MenuItem/SetStateTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 5106833 + @summary NullPointerException in XMenuPeer.repaintMenuItem + @key headful + @run main SetStateTest +*/ + +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Menu; +import java.awt.MenuBar; +import java.awt.CheckboxMenuItem; + +public class SetStateTest { + Frame frame; + public static void main(String[] args) throws Exception { + SetStateTest test = new SetStateTest(); + test.start(); + } + + public void start () throws Exception { + try { + EventQueue.invokeAndWait(() -> { + frame = new Frame("SetStateTest"); + MenuBar bar = new MenuBar(); + Menu menu = new Menu("Menu"); + CheckboxMenuItem checkboxMenuItem = new CheckboxMenuItem("Item"); + bar.add(menu); + frame.setMenuBar(bar); + menu.add(checkboxMenuItem); + checkboxMenuItem.setState(true); + frame.setSize(300, 200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + System.out.println("Test PASSED!"); + }); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/MouseInfo/ButtonsNumber.java openjdk-11-11.0.23+9/test/jdk/java/awt/MouseInfo/ButtonsNumber.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/MouseInfo/ButtonsNumber.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/MouseInfo/ButtonsNumber.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4908137 + @summary tests that non-zero number of mouse buttons is returned + @key headful +*/ + +import java.awt.MouseInfo; + +public class ButtonsNumber { + + public static void main(String[] args) { + + if (MouseInfo.getNumberOfButtons() == 0) { + throw new RuntimeException("Zero returned by getNumberOfButtons(). Test failed."); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/MouseInfo/ContainerMousePositionTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/MouseInfo/ContainerMousePositionTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/MouseInfo/ContainerMousePositionTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/MouseInfo/ContainerMousePositionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @summary unit test for a new method in Container class: getMousePosition(boolean) + @bug 4009555 + @key headful +*/ + +import java.awt.Button; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Panel; +import java.awt.Point; +import java.awt.Robot; + +public class ContainerMousePositionTest { + private Button button; + private Frame frame; + private Panel panel; + private static Dimension BUTTON_DIMENSION = new Dimension(100, 100); + private static Dimension FRAME_DIMENSION = new Dimension(200, 200); + private static Point POINT_WITHOUT_COMPONENTS = new Point(10, 10); + private static Point FIRST_BUTTON_LOCATION = new Point(20, 20); + private static int DELAY = 1000; + Robot robot; + volatile int xPos = 0; + volatile int yPos = 0; + Point pMousePosition; + + public static void main(String[] args) throws Exception { + ContainerMousePositionTest containerObj = new ContainerMousePositionTest(); + containerObj.init(); + containerObj.start(); + } + + public void init() throws Exception { + robot = new Robot(); + EventQueue.invokeAndWait(() -> { + button = new Button("Button"); + frame = new Frame("Testing Component.getMousePosition()"); + panel = new Panel(); + + button.setSize(BUTTON_DIMENSION); + button.setLocation(FIRST_BUTTON_LOCATION); + + panel.setLayout(null); + + panel.add(button); + frame.add(panel); + frame.setSize(FRAME_DIMENSION); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + } + + public void start() throws Exception { + try { + robot.delay(DELAY); + robot.waitForIdle(); + + EventQueue.invokeAndWait(() -> { + Point p = button.getLocationOnScreen(); + xPos = p.x + button.getWidth() / 2; + yPos = p.y + button.getHeight() / 2; + }); + robot.mouseMove(xPos,yPos); + robot.delay(DELAY); + + EventQueue.invokeAndWait(() -> { + pMousePosition = frame.getMousePosition(false); + if (pMousePosition != null) { + throw new RuntimeException("Test failed: Container is " + + "overlapped by " + " child and it should be taken " + + "into account"); + } + System.out.println("Test stage completed: Container is " + + "overlapped by " + " child and it was taken into " + + "account"); + + pMousePosition = frame.getMousePosition(true); + if (pMousePosition == null) { + throw new RuntimeException("Test failed: Container is " + + "overlapped by " + " child and it should not be " + + "taken into account"); + } + System.out.println("Test stage completed: Container is " + + "overlapped by " + " child and it should not be " + + "taken into account"); + xPos = panel.getLocationOnScreen().x + POINT_WITHOUT_COMPONENTS.x; + yPos = panel.getLocationOnScreen().y + POINT_WITHOUT_COMPONENTS.y; + }); + + robot.mouseMove(xPos, yPos); + + robot.delay(DELAY); + + EventQueue.invokeAndWait(() -> { + pMousePosition = panel.getMousePosition(true); + if (pMousePosition == null) { + throw new RuntimeException("Test failed: Pointer was " + + "outside of " + "the component so getMousePosition()" + + " should not return null"); + } + System.out.println("Test stage completed: Pointer was outside of " + + "the component and getMousePosition() has not returned null"); + + pMousePosition = panel.getMousePosition(false); + if (pMousePosition == null) { + throw new RuntimeException("Test failed: Pointer was outside of " + + "the component so getMousePosition() should not return null"); + } + System.out.println("Test stage completed: Pointer was outside of " + + "the component and getMousePosition() has not returned null"); + xPos = frame.getLocationOnScreen().x + frame.getWidth() + POINT_WITHOUT_COMPONENTS.x; + yPos = frame.getLocationOnScreen().y + frame.getHeight() + POINT_WITHOUT_COMPONENTS.y; + }); + robot.mouseMove(xPos, yPos); + + robot.delay(DELAY); + + EventQueue.invokeAndWait(() -> { + pMousePosition = frame.getMousePosition(true); + if (pMousePosition != null) { + throw new RuntimeException("Test failed: Pointer was outside of " + + "the Frame widow and getMousePosition() should return null"); + } + System.out.println("Test stage completed: Pointer was outside of " + + "the Frame widow and getMousePosition() returned null"); + + pMousePosition = frame.getMousePosition(false); + if (pMousePosition != null) { + throw new RuntimeException("Test failed: Pointer was outside of " + + "the Frame widow and getMousePosition() should return null"); + } + System.out.println("Test stage completed: Pointer was outside of " + + "the Frame widow and getMousePosition() returned null"); + }); + robot.delay(DELAY); + + System.out.println("ComponentMousePositionTest PASSED."); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Panel/SetForegroundTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Panel/SetForegroundTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Panel/SetForegroundTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Panel/SetForegroundTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4994151 + @summary REGRESSION: Bug when setting the foreground of a JWindow + @key headful +*/ + +import java.awt.EventQueue; +import java.awt.Color; + +import javax.swing.JWindow; + +public class SetForegroundTest { + static JWindow jwindow; + + public static void main(String[] args) throws Exception { + try { + EventQueue.invokeAndWait(() -> { + jwindow = new JWindow(); + jwindow.pack(); + jwindow.setForeground(Color.BLACK); + System.out.println("TEST PASSED"); + }); + } finally { + EventQueue.invokeAndWait(() -> { + if (jwindow != null) { + jwindow.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/PopupMenu/PopupMenuStayOpen.java openjdk-11-11.0.23+9/test/jdk/java/awt/PopupMenu/PopupMenuStayOpen.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/PopupMenu/PopupMenuStayOpen.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/PopupMenu/PopupMenuStayOpen.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4791953 + @requires (os.family == "linux" | os.family == "mac") + @summary Checks that popup menu stay open after a triggering click. + @key headful + @run main/othervm -Dsun.java2d.uiScale=1 PopupMenuStayOpen +*/ + +import java.awt.Component; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Point; +import java.awt.PopupMenu; +import java.awt.Robot; +import java.awt.Toolkit; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.InputEvent; + +public class PopupMenuStayOpen { + public static final int MAX_COUNT = 100; + public volatile static boolean wasActionFired = false; + static Frame frame; + static PopupMenu pom; + volatile static Point point; + + public static void main(String[] args) throws Exception { + + String nm = Toolkit.getDefaultToolkit().getClass().getName(); + + try { + EventQueue.invokeAndWait(() -> { + frame = new Frame("Click-to-see-Popup"); + pom = new PopupMenu(); + frame.setTitle(nm); + frame.setSize(300, 300); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + pom.add("A long enough line"); + + pom.getItem(0).addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + wasActionFired = true; + } + }); + + frame.add(pom); + frame.addMouseListener(new MouseAdapter() { + public void mousePressed(MouseEvent me) { + pom.show(frame, me.getX(), me.getY()); + } + }); + }); + + Robot robot = new Robot(); + robot.delay(1000); + robot.waitForIdle(); + + EventQueue.invokeAndWait(() -> { + point = frame.getLocationOnScreen(); + }); + + robot.mouseMove(point.x + 50, point.y + 100); + robot.mousePress(InputEvent.BUTTON2_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON2_DOWN_MASK); + + robot.delay(1000); + robot.waitForIdle(); + + robot.mouseMove(point.x + 50 + 30, point.y + 100 + 15); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.delay(500); + + + if (!wasActionFired) { + throw new RuntimeException("Popup not visible or has no focus"); + } + System.out.println("Test Pass!!"); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Robot/RobotMoveMultiscreen.java openjdk-11-11.0.23+9/test/jdk/java/awt/Robot/RobotMoveMultiscreen.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Robot/RobotMoveMultiscreen.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Robot/RobotMoveMultiscreen.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,95 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4288230 + @summary Tests that Robot can move mouse to another screen + @key headful +*/ + +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.Rectangle; +import java.awt.Robot; + +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; + +public class RobotMoveMultiscreen { + static volatile int x_dest = 20; + static volatile int y_dest = 20; + static Frame frame; + static volatile Boolean testCondition = false; + + public static void main(String[] args) throws Exception { + GraphicsDevice[] devs = + GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices(); + + if (devs.length <= 1) { + System.out.println("Minimum 2 display screens are required" + + " for the test, Found " + devs.length); + return; + } + try { + EventQueue.invokeAndWait(() -> { + GraphicsDevice workDev = devs[devs.length - 1]; + GraphicsConfiguration config = workDev.getDefaultConfiguration(); + Rectangle bounds = config.getBounds(); + x_dest = bounds.x + bounds.width / 2; + y_dest = bounds.y + bounds.height / 2; + frame = new Frame("Listening frame"); + frame.addMouseMotionListener(new MouseMotionAdapter() { + public void mouseMoved(MouseEvent e) { + testCondition = true; + } + }); + frame.setLocation(x_dest,y_dest); + frame.setSize(100,100); + frame.setVisible(true); + }); + + Robot robot = new Robot(); + robot.delay(1000); + robot.waitForIdle(); + robot.mouseMove(x_dest+50, y_dest+50); + robot.waitForIdle(); + EventQueue.invokeAndWait(() -> { + if (testCondition == false) { + throw new RuntimeException("Can't move to another display"); + } + }); + + System.out.println("Test Pass!!"); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Scrollbar/PageIncrementTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Scrollbar/PageIncrementTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Scrollbar/PageIncrementTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Scrollbar/PageIncrementTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4677084 + @summary Tests that the PageIncrement (BlockIncrement) and + LineIncrement (UnitIncrement) cannot be < 1 + @key headful +*/ + +import java.awt.Scrollbar; + +public class PageIncrementTest { + static Scrollbar sb; + + public static void main(String[] args) { + sb = new Scrollbar(); + sb.setBlockIncrement(0); + sb.setUnitIncrement(0); + + if (sb.getBlockIncrement() < 1) { + String msg = "Failed: getBlockIncrement() == " + sb.getBlockIncrement(); + System.out.println(msg); + throw new RuntimeException(msg); + } + if (sb.getUnitIncrement() < 1) { + String msg = "Failed: getLineIncrement() == " + sb.getUnitIncrement(); + System.out.println(msg); + throw new RuntimeException(msg); + } + + sb.setBlockIncrement(-1); + sb.setUnitIncrement(-1); + + if (sb.getBlockIncrement() < 1) { + String msg = "Failed: getBlockIncrement() == " + sb.getBlockIncrement(); + System.out.println(msg); + throw new RuntimeException(msg); + } + if (sb.getUnitIncrement() < 1) { + String msg = "Failed: getLineIncrement() == " + sb.getUnitIncrement(); + System.out.println(msg); + throw new RuntimeException(msg); + } + + sb.setBlockIncrement(2); + sb.setUnitIncrement(2); + + if (sb.getBlockIncrement() != 2) { + String msg = "Failed: getBlockIncrement() == " + sb.getBlockIncrement(); + System.out.println(msg); + throw new RuntimeException(msg); + } + if (sb.getUnitIncrement() != 2) { + String msg = "Failed: getLineIncrement() == " + sb.getUnitIncrement(); + System.out.println(msg); + throw new RuntimeException(msg); + } + System.out.println("Test Pass!!"); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/Scrollbar/ScrollbarKeyControlTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/Scrollbar/ScrollbarKeyControlTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/Scrollbar/ScrollbarKeyControlTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/Scrollbar/ScrollbarKeyControlTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,168 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4943277 + @requires (os.family == "linux") + @summary XAWT: Scrollbar can't be controlled by keyboard + @key headful +*/ + +import java.awt.AWTException; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Robot; +import java.awt.Scrollbar; +import java.awt.Toolkit; + +import java.awt.event.AdjustmentListener; +import java.awt.event.AdjustmentEvent; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; + +public class ScrollbarKeyControlTest implements AdjustmentListener, KeyListener { + Scrollbar scrollbarV; + Scrollbar scrollbarH; + volatile int changesTotal = 0; + Robot robot; + Object LOCK = new Object(); + Frame frame; + + public static void main(String[] args) throws Exception { + if (!System.getProperty("os.name").startsWith("Linux")) { + System.out.println("This test is for XAWT only."); + return; + } + ScrollbarKeyControlTest scrollbarKeyControlTest = new ScrollbarKeyControlTest(); + scrollbarKeyControlTest.init(); + } + + public void init() throws Exception { + try { + EventQueue.invokeAndWait(() -> { + frame = new Frame("Scrollbar Test"); + + scrollbarV = new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255); + scrollbarH = new Scrollbar(Scrollbar.HORIZONTAL, 0, 60, 0, 300); + + scrollbarH.addAdjustmentListener(this); + scrollbarH.addKeyListener(this); + scrollbarV.addAdjustmentListener(this); + scrollbarV.addKeyListener(this); + + frame.add("South", scrollbarH); + frame.add("East", scrollbarV); + + frame.setSize(200, 200); + frame.setVisible(true); + frame.validate(); + frame.toFront(); + }); + robot = new Robot(); + robot.delay(1000); + robot.waitForIdle(); + + testOneScrollbar(scrollbarV); + if (changesTotal != 9) { //one by mouse click and six by keys + throw new RuntimeException("Test failed. Not all adjustment " + + "events received by vertical scrollbar (" + changesTotal + " of 9)"); + } + changesTotal = 0; + testOneScrollbar(scrollbarH); + if (changesTotal != 9) { //one by mouse click and six by keys + throw new RuntimeException("Test failed. Not all adjustment " + + "events received by horizontal scrollbar (" + changesTotal + " of 9)"); + } + System.out.println("Test passed. Adjustment Event called " + + changesTotal + " times for each scrollbar"); + + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } + + public void testOneScrollbar(Scrollbar sb) { + robot.waitForIdle(); + robot.mouseMove(sb.getLocationOnScreen().x + sb.getWidth() / 2, + sb.getLocationOnScreen().y + sb.getHeight() / 2); + try { + synchronized (LOCK) { + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_DOWN); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_PAGE_DOWN); + robot.keyRelease(KeyEvent.VK_PAGE_DOWN); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_UP); + robot.keyRelease(KeyEvent.VK_UP); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_PAGE_UP); + robot.keyRelease(KeyEvent.VK_PAGE_UP); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_RIGHT); + robot.keyRelease(KeyEvent.VK_RIGHT); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_LEFT); + robot.keyRelease(KeyEvent.VK_LEFT); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_HOME); + robot.keyRelease(KeyEvent.VK_HOME); + LOCK.wait(2000); + robot.keyPress(KeyEvent.VK_END); + robot.keyRelease(KeyEvent.VK_END); + LOCK.wait(2000); + } + } catch (InterruptedException e) { + throw new RuntimeException("Test interrupted while keys being pressed.", e); + } + } + + public void adjustmentValueChanged(AdjustmentEvent e) { + changesTotal++; + synchronized (LOCK) { + LOCK.notify(); + } + System.out.println("Adjustment Event called "); + } + + public void keyPressed(KeyEvent e) { + System.out.println("KeyPressed called"); + } + + public void keyReleased(KeyEvent e) { + System.out.println("in keyReleased"); + } + + public void keyTyped(KeyEvent e) { + System.out.println("in keyTyped"); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/ReplaceRangeTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/ReplaceRangeTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/ReplaceRangeTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/ReplaceRangeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* + @test + @bug 5025532 + @requires (os.family == "windows") + @summary Tests that textarea replaces text correctly if the text contains + line separators + @key headful +*/ + +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.GridLayout; +import java.awt.TextArea; + +import java.lang.reflect.InvocationTargetException; + +public class ReplaceRangeTest { + static Frame f; + + public static void main(String[] args) throws InterruptedException, InvocationTargetException { + try { + EventQueue.invokeAndWait(() -> { + f = new Frame("Test frame"); + f.setSize(400, 400); + f.setLayout(new GridLayout(3, 1)); + + TextArea textArea1 = new TextArea(5, 80); + TextArea textArea2 = new TextArea(5, 80); + TextArea textArea3 = new TextArea(5, 80); + f.add(textArea1); + f.add(textArea2); + f.add(textArea3); + f.setVisible(true); + + textArea1.setText("01234"); + textArea1.replaceRange("X", 3, 4); + textArea2.setText("0\r\n234"); + textArea2.replaceRange("X", 3, 4); + textArea3.setText("0\n\n34"); + textArea3.replaceRange("X", 3, 4); + + if (textArea1.getText().equals("012X4") && + textArea2.getText().equals("0\r\n2X4") && + textArea3.getText().equals("0\n\nX4")) { + System.out.println("Test Pass"); + return; + } else { + throw new RuntimeException("Test FAILED"); + } + }); + } finally { + EventQueue.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.html openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.html --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.html 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -<html> -<!-- - Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. - - This code is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - version 2 for more details (a copy is included in the LICENSE file that - accompanied this code). - - You should have received a copy of the GNU General Public License version - 2 along with this work; if not, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - - Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<!-- - @test - @bug 4082144 7150100 - @summary Ensures that TextArea.select() works when called - before setVisible() - @author Eric.Hawkes: area=TextComponent - @run applet/manual=yesno SelectionVisible.html - --> -<head> -<title> SelectionVisible - - - -

SelectionVisible
Bugid: 4082144

- - - - diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.java openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/SelectionVisible/SelectionVisible.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,42 +21,62 @@ * questions. */ - -import java.applet.Applet; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Panel; +import java.awt.Frame; import java.awt.TextArea; +import java.lang.reflect.InvocationTargetException; + +import static java.awt.EventQueue.invokeAndWait; + +/* + @test + @key headful + @bug 4082144 7150100 + @summary Ensures that TextArea.select() works when called + before setVisible() + @run main SelectionVisible +*/ -public final class SelectionVisible extends Applet { +public class SelectionVisible { - private TextArea ta; + private static TextArea ta; + private static Frame frame; - @Override - public void init() { + public static void createTestUI() { + frame = new Frame("Test 4082144 7150100"); ta = new TextArea(4, 20); ta.setText("01234\n56789"); ta.select(3, 9); - final TextArea instruction = new TextArea("INSTRUCTIONS:\n" - + "The text 34567 should be selected in the TextArea.\n" - + "If this is what you observe, then the test passes.\n" - + "Otherwise, the test fails.", 40, 5, - TextArea.SCROLLBARS_NONE); - instruction.setEditable(false); - instruction.setPreferredSize(new Dimension(300, 70)); - final Panel panel = new Panel(); - panel.setLayout(new FlowLayout()); - panel.add(ta); - setLayout(new BorderLayout()); - add(instruction, BorderLayout.CENTER); - add(panel, BorderLayout.PAGE_END); - } + frame.add(ta); + frame.setLocationRelativeTo(null); + frame.pack(); + frame.setVisible(true); - @Override - public void start() { - setVisible(true); ta.requestFocus(); } + + public static void test() throws InterruptedException, + InvocationTargetException { + String selectedText = ta.getSelectedText(); + System.out.println("selectedText : " + selectedText); + invokeAndWait(SelectionVisible::disposeFrame); + if (!selectedText.equals("34\n567")) { + throw new RuntimeException("Expected '34\n567' to be " + + "selected text, but got " + selectedText); + } + System.out.println("Test passed"); + } + + public static void disposeFrame() { + if (frame != null) { + frame.dispose(); + } + } + + public static void main(String[] args) throws InterruptedException, + InvocationTargetException { + invokeAndWait(SelectionVisible::createTestUI); + test(); + } + } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/TextAreaCRLFAutoDetectTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextAreaCRLFAutoDetectTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/TextAreaCRLFAutoDetectTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextAreaCRLFAutoDetectTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,155 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* + @test + @bug 4800187 + @requires (os.family == "windows") + @summary REGRESSION:show the wrong selection when there are \r characters in the text + @key headful +*/ + +import java.awt.Button; +import java.awt.EventQueue; +import java.awt.FlowLayout; +import java.awt.Frame; +import java.awt.IllegalComponentStateException; +import java.awt.Point; +import java.awt.Robot; +import java.awt.TextArea; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.InputEvent; + +import java.lang.reflect.InvocationTargetException; + +public class TextAreaCRLFAutoDetectTest { + Frame f; + TextArea ta1; + TextArea ta2; + Button b; + boolean passed = true; + boolean crlf = true; + + public static void main(String[] args) throws Exception { + TextAreaCRLFAutoDetectTest crlfAutoDetectTest = new TextAreaCRLFAutoDetectTest(); + crlfAutoDetectTest.init(); + crlfAutoDetectTest.start(); + } + + public void init() throws InterruptedException, InvocationTargetException { + EventQueue.invokeAndWait(() -> { + f = new Frame("TextAreaCRLFAutoDetectTest"); + ta1 = new TextArea(5, 20); + ta2 = new TextArea(5, 20); + b = new Button("Click Me"); + b.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + ta1.setText(""); + ta2.setText(""); + System.out.println("--------------------------------"); + + String eoln = (crlf) ? "\r\n" : "\n"; + String s = eoln + "123" + eoln + "567" + eoln + "90" + eoln; + printString(" s=", s); + ta1.setText(s); + printString("ta1.getText()=", ta1.getText()); + + s = "67" + eoln + "9"; + ta1.select(6, 10); + + String s1 = ta1.getSelectedText(); + printString("ta1.getSelectedText()=", s1); + passed = passed && s.equals(s1); + + ta2.setText(s1); + printString(" ta2.getText()=", s1); + passed = passed && s1.equals(ta2.getText()); + + crlf = false; + } + }); + + f.setLayout(new FlowLayout()); + f.add(ta1); + f.add(ta2); + f.add(b); + f.setLocation(300, 50); + f.pack(); + f.setVisible(true); + }); + } + + public void start() throws Exception { + try { + Robot robot = new Robot(); + robot.setAutoWaitForIdle(true); + robot.setAutoDelay(50); + robot.waitForIdle(); + + Point pt = new Point(0, 0); + + boolean drawn = false; + while (!drawn) { + try { + pt = b.getLocationOnScreen(); + } catch (IllegalComponentStateException icse) { + Thread.sleep(50); + continue; + } + drawn = true; + } + + for (int i = 0; i < 2; i++) { + pt = b.getLocationOnScreen(); + robot.mouseMove(pt.x + b.getWidth() / 2, + pt.y + b.getHeight() / 2); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + Thread.sleep(250); + } + if (!passed) { + throw new RuntimeException("TextAreaCRLFAutoDetectTest FAILED."); + } else { + System.out.println("TextAreaCRLFAutoDetectTest PASSED"); + } + } catch (Exception e) { + throw new RuntimeException("The test was not completed.\n\n" + e); + } finally { + EventQueue.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + } + + void printString(String t, String s) { + byte b[] = s.getBytes(); + String o = t; + for (int i = 0; i < b.length; i++) { + o += Byte.toString(b[i]) + " "; + } + System.out.println(o); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/TextLengthTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextLengthTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/TextLengthTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextLengthTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,116 @@ +/* + * Copyright (c) 1998, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4072264 + @summary REGRESSION:Test to verify getSelectedText, + getSelectedStart/End in TextArea class + @key headful +*/ + +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Robot; +import java.awt.TextArea; + +public class TextLengthTest { + static final int MY_SIZE = 100; + static final int MY_START = 13; + static final int MY_END = 47; + TextArea ta; + Frame f; + int mySize; + int myStart; + int myEnd; + + public static void main(String[] args) throws Exception { + TextLengthTest textLengthTest = new TextLengthTest(); + textLengthTest.init(); + textLengthTest.start(); + } + + public void init() throws Exception { + EventQueue.invokeAndWait(() -> { + f = new Frame("TextLengthTest"); + ta = new TextArea(15, 30); + f.add(ta); + f.setSize(400, 400); + f.setVisible(true); + }); + } + + public void start() throws Exception { + try { + Robot r = new Robot(); + r.delay(1000); + r.waitForIdle(); + EventQueue.invokeAndWait(() -> { + StringBuffer bigStringBuffer = new StringBuffer(); + + for (int i = 1; i <= 10; i++) { + bigStringBuffer.append("abcdefghi\n"); + } + + ta.setText(bigStringBuffer.toString()); + + mySize = bigStringBuffer.toString().length(); + System.out.println("String size = " + mySize); + + if (mySize != MY_SIZE) { + throw new Error("The string size is " + + mySize + "but it should be " + MY_SIZE); + } + + ta.select(MY_START, MY_END); + + String str = new String(ta.getSelectedText()); + str = str.toUpperCase(); + + myStart = ta.getSelectionStart(); + myEnd = ta.getSelectionEnd(); + System.out.println("Selected string start = " + myStart); + System.out.println("Selected string end = " + myEnd); + + if (myStart != MY_START) { + throw new Error("The selected text starts at " + + mySize + "but it should start at " + MY_START); + } + + if (myEnd != MY_END) { + throw new Error("The selected text ends at " + + myEnd + "but it should end at " + MY_END); + } + + ta.replaceRange(str, myStart, myEnd); + }); + } finally { + EventQueue.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + System.out.println("Test Pass"); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/TextLimitTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextLimitTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextArea/TextLimitTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextArea/TextLimitTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* + @test + @bug 4260109 + @summary tests that the text limit is set to the maximum possible value + @key headful +*/ + +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.TextArea; + +public class TextLimitTest { + static Frame frame; + static TextArea textarea; + + public static void main(String[] args) throws Exception { + try { + EventQueue.invokeAndWait(() -> { + StringBuffer buffer = new StringBuffer(); + frame = new Frame("Text Limit Test"); + textarea = new TextArea(3, 10); + frame.setLayout(new BorderLayout()); + frame.add(textarea); + frame.setSize(200, 200); + frame.pack(); + frame.setVisible(true); + + /* + * The magic number 0xF700 was choosen because of the two reasons: + * - it shouldn't be greater since on win95 (even in native win32 apps) + * adding more than 0xF800 symbols to a textarea doesn't always work, + * - it shouldn't be less since in this case we won't run in the stack + * overflow on Win95 even if we use W2A allocating memory on the stack. + */ + for (int i = 0; i < 0xF700; i += 0x10) { + buffer.append("0123456789abcdef"); + } + + textarea.setText(buffer.toString()); + System.out.println("Text length before append: " + + Integer.toString(textarea.getText().length(), 16)); + + textarea.append("0123456789abcdef"); + + int len = textarea.getText().length(); + System.out.println("Text length after append: " + + Integer.toString(len, 16)); + if (len != 0xF710) { + throw new RuntimeException("Test failed: textarea has " + + "wrong text limit!"); + } + }); + System.out.println("Test pass"); + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.html openjdk-11-11.0.23+9/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.html --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.html 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - - SelectionVisible - - - -

SelectionVisible
Bugid: 4082144

- - - - diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.java openjdk-11-11.0.23+9/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TextField/SelectionVisible/SelectionVisible.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,43 +21,57 @@ * questions. */ - -import java.applet.Applet; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Panel; -import java.awt.TextArea; +import java.awt.Frame; import java.awt.TextField; +import java.lang.reflect.InvocationTargetException; + +import static java.awt.EventQueue.invokeAndWait; +/* + @test + @key headful + @bug 4082144 7150100 + @summary Ensures that TextField.select() works when called + before setVisible() + @run main SelectionVisible + */ -public final class SelectionVisible extends Applet { +public class SelectionVisible { - TextField tf; + private static Frame frame; + private static TextField tf; - @Override - public void init() { + public static void createTestUI() { + frame = new Frame("Test TextField.select()"); tf = new TextField(20); tf.setText("0123456789"); tf.select(0, 6); + frame.add(tf); + frame.setSize(200,200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + private static void test() throws InterruptedException, + InvocationTargetException { + String selectedText = tf.getSelectedText(); + System.out.println("Selected Text : " + selectedText); + invokeAndWait(SelectionVisible::disposeFrame); + if (!selectedText.equals("012345")) { + throw new RuntimeException("Expected 012345 to be selected but " + + "got " + selectedText); + } + System.out.println("Test passed"); + } - final TextArea ta = new TextArea("INSTRUCTIONS:\n" - + "The text 012345 should be selected in the TextField.\n" - + "If this is what you observe, then the test passes.\n" - + "Otherwise, the test fails.", 40, 5, - TextArea.SCROLLBARS_NONE); - ta.setEditable(false); - ta.setPreferredSize(new Dimension(300, 70)); - final Panel panel = new Panel(); - panel.setLayout(new FlowLayout()); - panel.add(tf); - setLayout(new BorderLayout()); - add(ta, BorderLayout.CENTER); - add(panel, BorderLayout.PAGE_END); + private static void disposeFrame() { + if (frame != null) { + frame.dispose(); + } } - @Override - public void start() { - setVisible(true); - tf.requestFocus(); + public static void main(String[] args) throws InterruptedException, + InvocationTargetException { + invokeAndWait(SelectionVisible::createTestUI); + test(); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,7 +21,7 @@ * questions. */ -import java.awt.*; +import java.awt.SystemTray; /* * @test @@ -30,12 +30,20 @@ * a proper instance is returned in supported platforms and a proper * exception is thrown in unsupported platforms * @author Dmitriy Ermashov (dmitriy.ermashov@oracle.com) + * @requires (os.family != "linux") * @run main/othervm -DSystemTraySupport=TRUE SystemTrayInstanceTest */ +/* + * @test + * @key headful + * @requires (os.family == "linux") + * @run main/othervm -DSystemTraySupport=MAYBE SystemTrayInstanceTest + */ + public class SystemTrayInstanceTest { - private static boolean supported = false; + private static boolean shouldSupport = false; public static void main(String[] args) throws Exception { String sysTraySupport = System.getProperty("SystemTraySupport"); @@ -43,30 +51,35 @@ throw new RuntimeException("SystemTray support status unknown!"); if ("TRUE".equals(sysTraySupport)) { - System.out.println("System tray is supported on the platform under test"); - supported = true; + System.out.println("System tray should be supported on this platform."); + shouldSupport = true; } new SystemTrayInstanceTest().doTest(); } - private void doTest() throws Exception { - boolean flag = SystemTray.isSupported(); - if (supported != flag) - throw new RuntimeException("FAIL: isSupported did not return the correct value"+ - (supported ? - "SystemTray is supported on the platform under test" : - "SystemTray is not supported on the platform under test") + - "SystemTray.isSupported() method returned " + flag); + private void doTest() { + boolean systemSupported = SystemTray.isSupported(); + if (shouldSupport && !systemSupported) { + throw new RuntimeException( + "FAIL: SystemTray is not supported on the platform under test, while it should." + ); + } - if (supported) { + if (shouldSupport || systemSupported) { SystemTray tray = SystemTray.getSystemTray(); + System.out.println("SystemTray instance received"); } else { + boolean exceptionThrown = false; try { SystemTray tray = SystemTray.getSystemTray(); } catch (UnsupportedOperationException uoe) { + exceptionThrown = true; System.out.println("UnsupportedOperationException thrown correctly"); } + if (!exceptionThrown) { + throw new RuntimeException("UnsupportedOperationException is not thrown"); + } } } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -49,6 +49,7 @@ public class DisposeFrameOnDragTest { private static JTextArea textArea; + private static JFrame background; public static void main(String[] args) throws Throwable { @@ -72,14 +73,20 @@ Util.drag(testRobot, new Point((int) loc.x + 3, (int) loc.y + 3), new Point((int) loc.x + 40, (int) loc.y + 40), - InputEvent.BUTTON1_MASK); + InputEvent.BUTTON1_DOWN_MASK); Util.waitForIdle(testRobot); testRobot.delay(200); + background.dispose(); } private static void constructTestUI() { + background = new JFrame("Background"); + background.setBounds(100, 100, 100, 100); + background.setUndecorated(true); + background.setVisible(true); + final JFrame frame = new JFrame("Test frame"); textArea = new JTextArea("Drag Me!"); try { diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/DropTargetingTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DropTargetingTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/DropTargetingTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DropTargetingTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,304 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.swing.JButton; +import javax.swing.JFrame; +import java.awt.AWTEvent; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Panel; +import java.awt.Point; +import java.awt.Robot; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.DragGestureListener; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceAdapter; +import java.awt.dnd.DragSourceListener; +import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetAdapter; +import java.awt.dnd.DropTargetContext; +import java.awt.dnd.DropTargetDragEvent; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; +import java.awt.event.AWTEventListener; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; + +/* + @test + @bug 4426794 4435403 + @summary tests that drag notifications are targeted to the drop target + whose operable part is currently intersected by cursor's hotspot + @key headful + @run main DropTargetingTest +*/ + +public class DropTargetingTest implements AWTEventListener { + + volatile JFrame sourceFrame; + volatile JFrame targetFrame1; + volatile JFrame targetFrame2; + volatile JButton obscurer; + + volatile DragSource dragSource; + volatile Transferable transferable; + volatile DragSourceListener dragSourceListener; + volatile DragGestureListener dragGestureListener; + volatile Point srcPoint; + volatile Point dstPoint; + volatile Dimension d; + + static class TestDropTargetListener extends DropTargetAdapter { + private boolean dropRecognized = false; + public void drop(DropTargetDropEvent dtde) { + dropRecognized = true; + dtde.rejectDrop(); + synchronized (SYNC_LOCK) { + SYNC_LOCK.notifyAll(); + } + } + public void reset() { + dropRecognized = false; + } + public boolean dropRecognized() { + return dropRecognized; + } + } + volatile TestDropTargetListener dropTargetListener; + + static final Object SYNC_LOCK = new Object(); + static final int FRAME_ACTIVATION_TIMEOUT = 2000; + static final int DROP_COMPLETION_TIMEOUT = 5000; + static final int MOUSE_RELEASE_TIMEOUT = 1000; + + Component clickedComponent = null; + + public static void main(String[] args) throws Exception { + DropTargetingTest test = new DropTargetingTest(); + EventQueue.invokeAndWait(test::init); + try { + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (test.sourceFrame != null) { + test.sourceFrame.dispose(); + } + if (test.targetFrame1 != null) { + test.targetFrame1.dispose(); + } + if (test.targetFrame2 != null) { + test.targetFrame2.dispose(); + } + }); + } + } + + public void init() { + sourceFrame = new JFrame(); + targetFrame1 = new JFrame(); + targetFrame2 = new JFrame(); + obscurer = new JButton("Obscurer"); + + dragSource = DragSource.getDefaultDragSource(); + transferable = new StringSelection("TEXT"); + dragSourceListener = new DragSourceAdapter() {}; + dragGestureListener = new DragGestureListener() { + public void dragGestureRecognized(DragGestureEvent dge) { + dge.startDrag(null, transferable, dragSourceListener); + } + }; + dropTargetListener = new TestDropTargetListener(); + + sourceFrame.setTitle("DropTargetingTest Source frame"); + sourceFrame.setBounds(100, 100, 100, 100); + sourceFrame.getToolkit().addAWTEventListener(this, AWTEvent.MOUSE_EVENT_MASK); + dragSource.createDefaultDragGestureRecognizer(sourceFrame, DnDConstants.ACTION_COPY, + dragGestureListener); + targetFrame1.setTitle("Target frame 1"); + targetFrame1.setBounds(200, 100, 100, 100); + targetFrame1.getGlassPane().setVisible(true); + targetFrame1.getGlassPane().setDropTarget( + new DropTarget(targetFrame1.getGlassPane(), dropTargetListener)); + targetFrame2.setTitle("Target frame 2"); + targetFrame2.setBounds(300, 100, 100, 100); + targetFrame2.setDropTarget(new DropTarget(targetFrame1, dropTargetListener)); + targetFrame2.getContentPane().add(obscurer); + + sourceFrame.setVisible(true); + targetFrame1.setVisible(true); + targetFrame2.setVisible(true); + } + + public static int sign(int n) { + return n < 0 ? -1 : n == 0 ? 0 : 1; + } + + public void start() throws Exception { + Robot robot = new Robot(); + robot.delay(FRAME_ACTIVATION_TIMEOUT); + + if (!test(robot, targetFrame1)) { + throw new RuntimeException("Failed to recognize drop on a glass pane"); + } + + if (!test(robot, targetFrame2)) { + throw new RuntimeException("Failed to recognize drop on a composite component"); + } + } + + public void reset() { + clickedComponent = null; + } + + public void eventDispatched(AWTEvent e) { + if (e.getID() == MouseEvent.MOUSE_RELEASED) { + clickedComponent = (Component)e.getSource(); + synchronized (SYNC_LOCK) { + SYNC_LOCK.notifyAll(); + } + } + } + + boolean pointInComponent(Robot robot, Point p, Component comp) + throws InterruptedException { + robot.waitForIdle(); + reset(); + robot.mouseMove(p.x, p.y); + robot.mousePress(InputEvent.BUTTON1_MASK); + synchronized (SYNC_LOCK) { + robot.mouseRelease(InputEvent.BUTTON1_MASK); + SYNC_LOCK.wait(MOUSE_RELEASE_TIMEOUT); + } + + Component c = clickedComponent; + + while (c != null && c != comp) { + c = c.getParent(); + } + + return c == comp; + } + + boolean test(Robot robot, JFrame targetFrame) throws Exception { + EventQueue.invokeAndWait(() -> { + srcPoint = sourceFrame.getLocationOnScreen(); + d = sourceFrame.getSize(); + }); + srcPoint.translate(d.width / 2, d.height / 2); + + if (!pointInComponent(robot, srcPoint, sourceFrame)) { + System.err.println("WARNING: Couldn't locate source frame."); + return true; + } + EventQueue.invokeAndWait(() -> { + dstPoint = targetFrame.getLocationOnScreen(); + d = targetFrame.getSize(); + }); + dstPoint.translate(d.width / 2, d.height / 2); + + if (!pointInComponent(robot, dstPoint, targetFrame)) { + System.err.println("WARNING: Couldn't locate target frame: " + targetFrame); + return true; + } + + dropTargetListener.reset(); + robot.mouseMove(srcPoint.x, srcPoint.y); + robot.keyPress(KeyEvent.VK_CONTROL); + robot.mousePress(InputEvent.BUTTON1_MASK); + for (;!srcPoint.equals(dstPoint); + srcPoint.translate(sign(dstPoint.x - srcPoint.x), + sign(dstPoint.y - srcPoint.y))) { + robot.mouseMove(srcPoint.x, srcPoint.y); + robot.delay(10); + } + synchronized (SYNC_LOCK) { + robot.mouseRelease(InputEvent.BUTTON1_MASK); + robot.keyRelease(KeyEvent.VK_CONTROL); + SYNC_LOCK.wait(DROP_COMPLETION_TIMEOUT); + } + + return dropTargetListener.dropRecognized(); + } +} + +class DropTargetPanel extends Panel implements DropTargetListener { + + final Dimension preferredDimension = new Dimension(200, 100); + boolean testPassed = true; + + public DropTargetPanel() { + setDropTarget(new DropTarget(this, this)); + } + + public boolean getStatus() { + return testPassed; + } + + public Dimension getPreferredSize() { + return preferredDimension; + } + + public void dragEnter(DropTargetDragEvent dtde) {} + + public void dragExit(DropTargetEvent dte) { + testPassed = false; + } + + public void dragOver(DropTargetDragEvent dtde) {} + + public void dropActionChanged(DropTargetDragEvent dtde) {} + + public void drop(DropTargetDropEvent dtde) { + DropTargetContext dtc = dtde.getDropTargetContext(); + + if ((dtde.getSourceActions() & DnDConstants.ACTION_COPY) != 0) { + dtde.acceptDrop(DnDConstants.ACTION_COPY); + } else { + dtde.rejectDrop(); + } + + DataFlavor[] dfs = dtde.getCurrentDataFlavors(); + Component comp = null; + + if (dfs != null && dfs.length >= 1) { + Transferable transfer = dtde.getTransferable(); + + try { + comp = (Component)transfer.getTransferData(dfs[0]); + } catch (Throwable e) { + e.printStackTrace(); + dtc.dropComplete(false); + } + } + dtc.dropComplete(true); + + add(comp); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/DroppingVMHangTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DroppingVMHangTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/DroppingVMHangTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/DroppingVMHangTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,367 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Button; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.GridLayout; +import java.awt.Panel; +import java.awt.Point; +import java.awt.Robot; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.DragGestureListener; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceDragEvent; +import java.awt.dnd.DragSourceDropEvent; +import java.awt.dnd.DragSourceEvent; +import java.awt.dnd.DragSourceListener; +import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetContext; +import java.awt.dnd.DropTargetDragEvent; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; + +/* + @test + @bug 4338893 + @summary tests that dnd between two different VMs doesn't cause hang + on the dropping side. + @key headful + @run main/timeout=120 DroppingVMHangTest +*/ + +public class DroppingVMHangTest { + + public static final int CODE_NOT_RETURNED = -1; + public static final int CODE_OK = 0; + public static final int CODE_FAILURE = 1; + public static final int CODE_HANG_FAILURE = 2; + public static final int CODE_OTHER_FAILURE = 3; + public static final int CODE_TIMEOUT = 4; + + public static final int FRAME_ACTIVATION_TIMEOUT = 2000; + + private int returnCode = CODE_NOT_RETURNED; + + volatile Frame frame; + volatile Point p; + volatile Dimension d; + Robot robot = null; + + public static void main(String[] args) throws Exception { + DroppingVMHangTest test = new DroppingVMHangTest(); + if (args.length > 0) { + test.run(args); + } else { + EventQueue.invokeAndWait(test::init); + try { + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (test.frame != null) { + test.frame.dispose(); + } + }); + } + } + } + + public void run(String[] args) { + try { + frame = new Frame(); + frame.setTitle("DroppingVMHangTest DropTarget frame"); + frame.setLocation(300, 400); + frame.add(new DropTargetPanel()); + frame.pack(); + frame.setVisible(true); + + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + + if (args.length != 2) { + throw new RuntimeException("Incorrect number of arguments for child:" + + args.length); + } + + int x = Integer.parseInt(args[0], 10); + int y = Integer.parseInt(args[1], 10); + + Point sourcePoint = new Point(x, y); + Point targetPoint = frame.getLocationOnScreen(); + Dimension d = frame.getSize(); + targetPoint.translate(d.width / 2, d.height / 2); + + robot = new Robot(); + robot.mouseMove(x, y); + robot.keyPress(KeyEvent.VK_CONTROL); + robot.mousePress(InputEvent.BUTTON1_MASK); + while (!sourcePoint.equals(targetPoint)) { + robot.mouseMove(sourcePoint.x, sourcePoint.y); + Thread.sleep(10); + int dx = sign(targetPoint.x - sourcePoint.x); + int dy = sign(targetPoint.y - sourcePoint.y); + sourcePoint.translate(dx, dy); + } + robot.mouseRelease(InputEvent.BUTTON1_MASK); + robot.keyRelease(KeyEvent.VK_CONTROL); + + Thread.sleep(5000); + System.exit(DroppingVMHangTest.CODE_TIMEOUT); + } catch (Throwable e) { + e.printStackTrace(); + System.exit(DroppingVMHangTest.CODE_OTHER_FAILURE); + } + } + + static int sign(int n) { + return n > 0 ? 1 : n < 0 ? -1 : 0; + } + + public void init() { + frame = new Frame(); + frame.setTitle("DragSource frame"); + frame.setLocation(10, 200); + frame.add(new DragSourcePanel()); + + frame.pack(); + frame.setVisible(true); + } + + public void start() throws Exception { + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + + EventQueue.invokeAndWait(() -> { + p = frame.getLocationOnScreen(); + d = frame.getSize(); + }); + + p.translate(d.width / 2, d.height / 2); + + String javaPath = System.getProperty("java.home", ""); + String command = javaPath + File.separator + "bin" + + File.separator + "java -cp " + System.getProperty("test.classes", ".") + + " DroppingVMHangTest" + " " + p.x + " " + p.y; + Process process = Runtime.getRuntime().exec(command); + returnCode = process.waitFor(); + + InputStream errorStream = process.getErrorStream(); + int count = errorStream.available(); + if (count > 0) { + byte[] b = new byte[count]; + errorStream.read(b); + System.err.println("========= Child VM System.err ========"); + System.err.print(new String(b)); + System.err.println("======================================"); + } + + switch (returnCode) { + case CODE_NOT_RETURNED: + System.err.println("Child VM: failed to start"); + break; + case CODE_OK: + System.err.println("Child VM: normal termination"); + break; + case CODE_FAILURE: + System.err.println("Child VM: abnormal termination"); + break; + case CODE_HANG_FAILURE: + System.err.println("Child VM: hang on drop"); + break; + case CODE_OTHER_FAILURE: + System.err.println("Child VM: other failure"); + break; + case CODE_TIMEOUT: + System.err.println("Child VM: failed to simulate drag-and-drop operation with Robot"); + break; + } + if (returnCode != CODE_OK && returnCode != CODE_TIMEOUT) { + throw new RuntimeException("The test failed."); + } + } +} + +class DragSourceButton extends Button implements Serializable, + Transferable, + DragGestureListener, + DragSourceListener { + private transient final DataFlavor dataflavor = + new DataFlavor(DragSourceButton.class, "DragSourceButton"); + + public DragSourceButton() { + this("DragSourceButton"); + } + + public DragSourceButton(String str) { + super(str); + + DragSource ds = DragSource.getDefaultDragSource(); + ds.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY, + this); + } + + public void dragGestureRecognized(DragGestureEvent dge) { + dge.startDrag(null, this, this); + } + + public void dragEnter(DragSourceDragEvent dsde) {} + + public void dragExit(DragSourceEvent dse) {} + + public void dragOver(DragSourceDragEvent dsde) {} + + public void dragDropEnd(DragSourceDropEvent dsde) {} + + public void dropActionChanged(DragSourceDragEvent dsde) {} + + public Object getTransferData(DataFlavor flavor) + throws UnsupportedFlavorException, IOException { + + if (!isDataFlavorSupported(flavor)) { + throw new UnsupportedFlavorException(flavor); + } + + Object retObj = null; + + ByteArrayOutputStream baoStream = new ByteArrayOutputStream(); + ObjectOutputStream ooStream = new ObjectOutputStream(baoStream); + ooStream.writeObject(this); + + ByteArrayInputStream baiStream = new ByteArrayInputStream(baoStream.toByteArray()); + ObjectInputStream ois = new ObjectInputStream(baiStream); + try { + retObj = ois.readObject(); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new RuntimeException(e.toString()); + } + + return retObj; + } + + public DataFlavor[] getTransferDataFlavors() { + return new DataFlavor[] { dataflavor }; + } + + public boolean isDataFlavorSupported(DataFlavor dflavor) { + return dataflavor.equals(dflavor); + } +} + +class DragSourcePanel extends Panel { + + final Dimension preferredDimension = new Dimension(200, 200); + + public DragSourcePanel() { + setLayout(new GridLayout(1, 1)); + add(new DragSourceButton()); + } + + public Dimension getPreferredSize() { + return preferredDimension; + } +} + +class DropTargetPanel extends Panel implements DropTargetListener, + Runnable { + + final Dimension preferredDimension = new Dimension(200, 200); + + public DropTargetPanel() { + setDropTarget(new DropTarget(this, this)); + } + + public Dimension getPreferredSize() { + return preferredDimension; + } + + public void dragEnter(DropTargetDragEvent dtde) { + dtde.acceptDrag(DnDConstants.ACTION_COPY); + } + + public void dragExit(DropTargetEvent dte) {} + + public void dragOver(DropTargetDragEvent dtde) { + dtde.acceptDrag(DnDConstants.ACTION_COPY); + } + + public void drop(DropTargetDropEvent dtde) { + DropTargetContext dtc = dtde.getDropTargetContext(); + + if ((dtde.getSourceActions() & DnDConstants.ACTION_COPY) != 0) { + dtde.acceptDrop(DnDConstants.ACTION_COPY); + } else { + dtde.rejectDrop(); + System.exit(DroppingVMHangTest.CODE_OTHER_FAILURE); + } + + DataFlavor[] dfs = dtde.getCurrentDataFlavors(); + Component comp = null; + + if (dfs != null && dfs.length >= 1) { + Transferable transfer = dtde.getTransferable(); + + try { + comp = (Component)transfer.getTransferData(dfs[0]); + comp.getClass(); + } catch (Throwable e) { + e.printStackTrace(); + dtc.dropComplete(false); + System.exit(DroppingVMHangTest.CODE_OTHER_FAILURE); + } + } + dtc.dropComplete(true); + + Thread thread = new Thread(this); + thread.start(); + + add(comp); + + System.exit(DroppingVMHangTest.CODE_OK); + } + + public void dropActionChanged(DropTargetDragEvent dtde) {} + + public void run() { + try { + Thread.sleep(60000); + } catch (InterruptedException e) { + } + Runtime.getRuntime().halt(DroppingVMHangTest.CODE_HANG_FAILURE); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/HonorTargetActionTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/HonorTargetActionTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/HonorTargetActionTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/HonorTargetActionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Point; +import java.awt.Robot; +import java.awt.datatransfer.StringSelection; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.DragGestureListener; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceAdapter; +import java.awt.dnd.DragSourceDragEvent; +import java.awt.dnd.DragSourceListener; +import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetAdapter; +import java.awt.dnd.DropTargetDragEvent; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.event.InputEvent; + +/* + @test + @bug 4869264 + @summary tests that DragSourceDragEvent.getDropAction() accords to its new spec + (does not depend on the user drop action) + @key headful + @run main/othervm HonorTargetActionTest +*/ + +public class HonorTargetActionTest extends Frame { + + private static final int FRAME_ACTIVATION_TIMEOUT = 3000; + + private boolean dragOverCalled; + private int dropAction; + + volatile Frame frame; + volatile Point startPoint; + volatile Point endPoint; + + public static void main(String[] args) throws Exception { + HonorTargetActionTest test = new HonorTargetActionTest(); + EventQueue.invokeAndWait(test::init); + try { + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (test.frame != null) { + test.frame.dispose(); + } + }); + } + } + + public void init() { + DragSourceListener dragSourceListener = new DragSourceAdapter() { + public void dragOver(DragSourceDragEvent dsde) { + dragOverCalled = true; + dropAction = dsde.getDropAction(); + } + }; + + DragGestureListener dragGestureListener = new DragGestureListener() { + public void dragGestureRecognized(DragGestureEvent dge) { + dge.startDrag(null, new StringSelection("OOKK"), dragSourceListener); + } + }; + + new DragSource().createDefaultDragGestureRecognizer(frame, + DnDConstants.ACTION_COPY_OR_MOVE, dragGestureListener); + + + DropTargetAdapter dropTargetListener = new DropTargetAdapter() { + public void dragEnter(DropTargetDragEvent dtde) { + dtde.acceptDrag(DnDConstants.ACTION_COPY); + } + + public void dragOver(DropTargetDragEvent dtde) { + dtde.acceptDrag(DnDConstants.ACTION_COPY); + } + + public void drop(DropTargetDropEvent dtde) { + dtde.acceptDrop(DnDConstants.ACTION_COPY); + } + }; + + new DropTarget(frame, dropTargetListener); + + dragOverCalled = false; + dropAction = 0; + frame = new Frame("Drag Test Frame"); + + setTitle("HonorTargetActionTest"); + setSize (200,200); + setLayout (new BorderLayout()); + setVisible(true); + validate(); + + frame.setBounds(100, 100, 200, 200); + frame.setVisible(true); + } + + + public void start() throws Exception { + Robot robot = new Robot(); + robot.waitForIdle(); + + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + + EventQueue.invokeAndWait(() -> { + startPoint = frame.getLocationOnScreen(); + }); + endPoint = new Point(startPoint); + robot.waitForIdle(); + + startPoint.translate(50, 50); + endPoint.translate(150, 150); + + robot.mouseMove(startPoint.x, startPoint.y); + robot.mousePress(InputEvent.BUTTON1_MASK); + for (Point p = new Point(startPoint); !p.equals(endPoint); + p.translate(sign(endPoint.x - p.x), + sign(endPoint.y - p.y))) { + robot.mouseMove(p.x, p.y); + try { + Thread.sleep(50); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + robot.mouseRelease(InputEvent.BUTTON1_MASK); + + boolean failed = dragOverCalled && dropAction != DnDConstants.ACTION_COPY; + + if (failed) { + throw new RuntimeException("test failed: dropAction=" + dropAction); + } else { + System.err.println("test passed"); + } + + } + + + public static int sign(int n) { + return n < 0 ? -1 : n == 0 ? 0 : 1; + } + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/InterJVMLinkTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/InterJVMLinkTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/InterJVMLinkTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/InterJVMLinkTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,273 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Button; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.GridLayout; +import java.awt.Panel; +import java.awt.Point; +import java.awt.Robot; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.DragGestureListener; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceAdapter; +import java.awt.dnd.DragSourceDropEvent; +import java.awt.dnd.DragSourceListener; +import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetDragEvent; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; +import java.awt.event.InputEvent; +import java.io.File; +import java.io.InputStream; +import java.io.Serializable; + +/* + @test + @bug 4492640 + @summary tests that inter-JVM dnd works properly for ACTION_LINK + @key headful + @run main InterJVMLinkTest +*/ + +public class InterJVMLinkTest { + + public static final int CODE_NOT_RETURNED = -1; + public static final int CODE_OK = 0; + public static final int CODE_FAILURE = 1; + public static final int FRAME_ACTIVATION_TIMEOUT = 2000; + public static final int DROP_TIMEOUT = 60000; + + private int returnCode = CODE_NOT_RETURNED; + + volatile Frame frame; + volatile DropTargetPanel panel; + volatile Robot robot = null; + volatile Point p; + volatile Dimension d; + + public static void main(String[] args) throws Exception { + InterJVMLinkTest test = new InterJVMLinkTest(); + if (args.length > 0) { + test.run(args); + } else { + EventQueue.invokeAndWait(test::init); + try { + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (test.frame != null) { + test.frame.dispose(); + } + }); + } + } + } + + public void run(String[] args) { + try { + if (args.length != 4) { + throw new RuntimeException("Incorrect command line arguments."); + } + + int x = Integer.parseInt(args[0]); + int y = Integer.parseInt(args[1]); + int w = Integer.parseInt(args[2]); + int h = Integer.parseInt(args[3]); + + DragSourcePanel panel = new DragSourcePanel(); + frame = new Frame(); + + frame.setTitle("DragSource frame"); + frame.setLocation(300, 200); + frame.add(panel); + frame.pack(); + frame.setVisible(true); + + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + + Point sourcePoint = panel.getLocationOnScreen(); + Dimension d = panel.getSize(); + sourcePoint.translate(d.width / 2, d.height / 2); + + Point targetPoint = new Point(x + w / 2, y + h / 2); + + robot = new Robot(); + robot.mouseMove(sourcePoint.x, sourcePoint.y); + robot.mousePress(InputEvent.BUTTON1_MASK); + for (; !sourcePoint.equals(targetPoint); + sourcePoint.translate(sign(targetPoint.x - sourcePoint.x), + sign(targetPoint.y - sourcePoint.y))) { + robot.mouseMove(sourcePoint.x, sourcePoint.y); + Thread.sleep(50); + } + robot.mouseRelease(InputEvent.BUTTON1_MASK); + + Thread.sleep(DROP_TIMEOUT); + + System.exit(InterJVMLinkTest.CODE_OK); + } catch (Throwable e) { + e.printStackTrace(); + System.exit(InterJVMLinkTest.CODE_FAILURE); + } + } + + public static int sign(int n) { + return n < 0 ? -1 : n == 0 ? 0 : 1; + } + + public void init() { + panel = new DropTargetPanel(); + + frame = new Frame(); + frame.setTitle("InterJVMLinkTest DropTarget frame"); + frame.setLocation(10, 200); + frame.add(panel); + + frame.pack(); + frame.setVisible(true); + } + + public void start() throws Exception { + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + + EventQueue.invokeAndWait(() -> { + p = panel.getLocationOnScreen(); + d = panel.getSize(); + }); + + String javaPath = System.getProperty("java.home", ""); + String command = javaPath + File.separator + "bin" + + File.separator + "java -cp " + System.getProperty("test.classes", ".") + + " InterJVMLinkTest " + + p.x + " " + p.y + " " + d.width + " " + d.height; + + Process process = Runtime.getRuntime().exec(command); + returnCode = process.waitFor(); + + InputStream errorStream = process.getErrorStream(); + int count = errorStream.available(); + if (count > 0) { + byte[] b = new byte[count]; + errorStream.read(b); + System.err.println("========= Child VM System.err ========"); + System.err.print(new String(b)); + System.err.println("======================================"); + } + + switch (returnCode) { + case CODE_NOT_RETURNED: + System.err.println("Child VM: failed to start"); + break; + case CODE_OK: + System.err.println("Child VM: normal termination"); + break; + case CODE_FAILURE: + System.err.println("Child VM: abnormal termination"); + break; + } + if (panel == null || (panel.isEntered() && !panel.isDropped())) { + throw new RuntimeException("The test failed."); + } + } +} + +class DragSourceButton extends Button implements Serializable, + DragGestureListener { + final Transferable transferable = new StringSelection("TEXT"); + final DragSourceListener dragSourceListener = new DragSourceAdapter() { + public void dragDropEnd(DragSourceDropEvent dsde) { + System.exit(InterJVMLinkTest.CODE_OK); + } + }; + + public DragSourceButton() { + super("DragSourceButton"); + + DragSource ds = DragSource.getDefaultDragSource(); + ds.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_LINK, + this); + } + + public void dragGestureRecognized(DragGestureEvent dge) { + dge.startDrag(null, transferable, dragSourceListener); + } +} + +class DragSourcePanel extends Panel { + + final Dimension preferredDimension = new Dimension(200, 200); + + public DragSourcePanel() { + setLayout(new GridLayout(1, 1)); + add(new DragSourceButton()); + } + + public Dimension getPreferredSize() { + return preferredDimension; + } +} + +class DropTargetPanel extends Panel implements DropTargetListener { + + final Dimension preferredDimension = new Dimension(200, 200); + boolean entered = false; + boolean dropped = false; + + public DropTargetPanel() { + setDropTarget(new DropTarget(this, DnDConstants.ACTION_LINK, this)); + } + + public Dimension getPreferredSize() { + return preferredDimension; + } + + public void dragEnter(DropTargetDragEvent dtde) { + entered = true; + } + + public void dragExit(DropTargetEvent dte) {} + + public void dragOver(DropTargetDragEvent dtde) {} + + public void drop(DropTargetDropEvent dtde) { + dtde.rejectDrop(); + dropped = true; + } + + public void dropActionChanged(DropTargetDragEvent dtde) {} + + public boolean isEntered() { + return entered; + } + + public boolean isDropped() { + return dropped; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/IntraJVMGetDropSuccessTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/IntraJVMGetDropSuccessTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/IntraJVMGetDropSuccessTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/IntraJVMGetDropSuccessTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,283 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.AWTEvent; +import java.awt.Canvas; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.GridLayout; +import java.awt.Point; +import java.awt.Robot; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.DragGestureListener; +import java.awt.dnd.DragGestureRecognizer; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceAdapter; +import java.awt.dnd.DragSourceDropEvent; +import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetAdapter; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetListener; +import java.awt.event.AWTEventListener; +import java.awt.event.InputEvent; +import java.awt.event.MouseEvent; + +/* + @test + @bug 4658741 + @summary verifies that getDropSuccess() returns correct value for intra-JVM DnD + @key headful + @run main IntraJVMGetDropSuccessTest +*/ + +public class IntraJVMGetDropSuccessTest implements AWTEventListener { + + static final Object SYNC_LOCK = new Object(); + static final int FRAME_ACTIVATION_TIMEOUT = 3000; + static final int MOUSE_RELEASE_TIMEOUT = 1000; + + static class DragSourceDropListener extends DragSourceAdapter { + private boolean finished = false; + private boolean dropSuccess = false; + + public void reset() { + finished = false; + dropSuccess = false; + } + + public boolean isDropFinished() { + return finished; + } + + public boolean getDropSuccess() { + return dropSuccess; + } + + public void dragDropEnd(DragSourceDropEvent dsde) { + finished = true; + dropSuccess = dsde.getDropSuccess(); + synchronized (SYNC_LOCK) { + SYNC_LOCK.notifyAll(); + } + } + } + + static class ChildCanvas extends Canvas { + private final Dimension preferredDimension = new Dimension(100, 200); + + public Dimension getPreferredSize() { + return preferredDimension; + } + } + + volatile Frame frame; + volatile Canvas canvas1; + volatile Canvas canvas2; + volatile Canvas canvas3; + volatile Point p; + volatile Dimension d; + volatile Component c; + + volatile DragSourceDropListener dragSourceListener; + volatile DragSource dragSource; + volatile Transferable transferable; + volatile DragGestureListener dragGestureListener; + volatile DragGestureRecognizer dragGestureRecognizer; + volatile DropTargetListener dropTargetListener; + volatile DropTarget dropTarget; + + Component clickedComponent = null; + + public static void main(String[] args) throws Exception { + IntraJVMGetDropSuccessTest test = new IntraJVMGetDropSuccessTest(); + EventQueue.invokeAndWait(test::init); + try { + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (test.frame != null) { + test.frame.dispose(); + } + }); + } + } + + public void init() { + frame = new Frame(); + canvas1 = new ChildCanvas(); + canvas2 = new ChildCanvas(); + canvas3 = new ChildCanvas(); + + dragSourceListener = new DragSourceDropListener(); + dragSource = DragSource.getDefaultDragSource(); + transferable = new StringSelection("TEXT"); + dragGestureListener = new DragGestureListener() { + public void dragGestureRecognized(DragGestureEvent dge) { + dge.startDrag(null, transferable, dragSourceListener); + } + }; + dragGestureRecognizer = + dragSource.createDefaultDragGestureRecognizer(canvas2, DnDConstants.ACTION_COPY, + dragGestureListener); + dropTargetListener = new DropTargetAdapter() { + public void drop(DropTargetDropEvent dtde) { + dtde.acceptDrop(DnDConstants.ACTION_COPY); + dtde.dropComplete(true); + } + }; + dropTarget = new DropTarget(canvas3, dropTargetListener); + + + canvas1.setBackground(Color.red); + canvas2.setBackground(Color.yellow); + canvas3.setBackground(Color.green); + + frame.setTitle("IntraJVMGetDropSuccessTest"); + frame.setLocation(100, 100); + frame.setLayout(new GridLayout(1, 3)); + frame.getToolkit().addAWTEventListener(this, AWTEvent.MOUSE_EVENT_MASK); + frame.add(canvas1); + frame.add(canvas2); + frame.add(canvas3); + frame.pack(); + + frame.setVisible(true); + } + + public static int sign(int n) { + return n < 0 ? -1 : n == 0 ? 0 : 1; + } + + public void start() throws Exception { + Robot robot = new Robot(); + + robot.delay(FRAME_ACTIVATION_TIMEOUT); + + final Point srcPoint = getCenterLocationOnScreen(canvas2); + + if (!pointInComponent(robot, srcPoint, canvas2)) { + System.err.println("WARNING: Couldn't locate " + canvas2); + return; + } + + final Point dstPoint1 = getCenterLocationOnScreen(canvas1); + + if (!pointInComponent(robot, dstPoint1, canvas1)) { + System.err.println("WARNING: Couldn't locate " + canvas1); + return; + } + + final Point dstPoint2 = getCenterLocationOnScreen(canvas3); + if (!pointInComponent(robot, dstPoint2, canvas3)) { + System.err.println("WARNING: Couldn't locate " + canvas3); + return; + } + + robot.waitForIdle(); + test(robot, srcPoint, dstPoint1, false); + test(robot, srcPoint, dstPoint2, true); + test(robot, srcPoint, dstPoint1, false); + } + + public Point getCenterLocationOnScreen(Component c) throws Exception { + EventQueue.invokeAndWait(() -> { + p = c.getLocationOnScreen(); + d = c.getSize(); + }); + p.translate(d.width / 2, d.height / 2); + return p; + } + + public void test(Robot robot, Point src, Point dst, boolean success) + throws InterruptedException { + + dragSourceListener.reset(); + robot.mouseMove(src.x, src.y); + robot.mousePress(InputEvent.BUTTON1_MASK); + + for (Point p = new Point(src); !p.equals(dst); + p.translate(sign(dst.x - p.x), + sign(dst.y - p.y))) { + robot.mouseMove(p.x, p.y); + robot.delay(50); + } + + synchronized (SYNC_LOCK) { + robot.mouseRelease(InputEvent.BUTTON1_MASK); + SYNC_LOCK.wait(); + } + + if (!dragSourceListener.isDropFinished()) { + throw new RuntimeException("Drop not finished"); + } + + if (dragSourceListener.getDropSuccess() != success) { + throw new RuntimeException("getDropSuccess() returned wrong value:" + + dragSourceListener.getDropSuccess()); + } + } + + public void reset() throws Exception { + EventQueue.invokeAndWait(() -> { + clickedComponent = null; + }); + + } + + public void eventDispatched(AWTEvent e) { + if (e.getID() == MouseEvent.MOUSE_RELEASED) { + clickedComponent = (Component)e.getSource(); + synchronized (SYNC_LOCK) { + SYNC_LOCK.notifyAll(); + } + } + } + + boolean pointInComponent(Robot robot, Point p, Component comp) + throws Exception { + robot.waitForIdle(); + reset(); + robot.mouseMove(p.x, p.y); + robot.mousePress(InputEvent.BUTTON1_MASK); + synchronized (SYNC_LOCK) { + robot.mouseRelease(InputEvent.BUTTON1_MASK); + SYNC_LOCK.wait(MOUSE_RELEASE_TIMEOUT); + } + + EventQueue.invokeAndWait(() -> { + c = clickedComponent; + + while (c != null && c != comp) { + c = c.getParent(); + } + }); + + return c == comp; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/LinkAcceptanceTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/LinkAcceptanceTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/LinkAcceptanceTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/LinkAcceptanceTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,382 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.GridLayout; +import java.awt.Label; +import java.awt.List; +import java.awt.Panel; +import java.awt.Point; +import java.awt.Robot; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.DragGestureListener; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceDragEvent; +import java.awt.dnd.DragSourceDropEvent; +import java.awt.dnd.DragSourceEvent; +import java.awt.dnd.DragSourceListener; +import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetContext; +import java.awt.dnd.DropTargetDragEvent; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.io.File; +import java.io.InputStream; +import java.io.Serializable; +import java.net.URL; + +/* + @test + @bug 4416788 + @summary Tests that URL can be recognized by a java drop target + @requires (os.family == "windows") + @key headful + @run main LinkAcceptanceTest +*/ + +public class LinkAcceptanceTest { + + public static final int CODE_NOT_RETURNED = -1; + public static final int CODE_OK = 0; + public static final int CODE_FAILURE = 1; + public static final int FRAME_ACTIVATION_TIMEOUT = 2000; + public static final int DROP_TIMEOUT = 12000; + public static final int DROP_COMPLETION_TIMEOUT = 4000; + + private int returnCode = CODE_NOT_RETURNED; + + volatile Frame frame; + volatile Robot robot; + volatile Panel panel; + volatile Point p; + volatile Dimension d; + + public static void main(String[] args) throws Exception { + LinkAcceptanceTest test = new LinkAcceptanceTest(); + if (args.length > 0) { + test.run(args); + } else { + EventQueue.invokeAndWait(test::init); + try { + test.start(); + } finally { + EventQueue.invokeAndWait(() -> { + if (test.frame != null) { + test.frame.dispose(); + } + }); + } + } + } + + public void run(String[] args) { + try { + if (args.length != 4) { + throw new RuntimeException("Incorrect command line arguments."); + } + + int x = Integer.parseInt(args[0]); + int y = Integer.parseInt(args[1]); + int w = Integer.parseInt(args[2]); + int h = Integer.parseInt(args[3]); + + TransferableURL t = new TransferableURL(); + panel = new DragSourcePanel(t); + + frame = new Frame(); + frame.setTitle("LinkAcceptanceTest DragSource frame"); + frame.setLocation(300, 200); + frame.add(panel); + frame.pack(); + frame.setVisible(true); + + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + + Point sourcePoint = panel.getLocationOnScreen(); + Dimension d = panel.getSize(); + sourcePoint.translate(d.width / 2, d.height / 2); + + Point targetPoint = new Point(x + w / 2, y + h / 2); + + robot = new Robot(); + robot.mouseMove(sourcePoint.x, sourcePoint.y); + robot.keyPress(KeyEvent.VK_CONTROL); + robot.mousePress(InputEvent.BUTTON1_MASK); + for (; !sourcePoint.equals(targetPoint); + sourcePoint.translate(sign(targetPoint.x - sourcePoint.x), + sign(targetPoint.y - sourcePoint.y))) { + robot.mouseMove(sourcePoint.x, sourcePoint.y); + Thread.sleep(10); + } + robot.mouseRelease(InputEvent.BUTTON1_MASK); + robot.keyRelease(KeyEvent.VK_CONTROL); + + synchronized (t) { + t.wait(DROP_TIMEOUT); + } + + Thread.sleep(DROP_COMPLETION_TIMEOUT); + + } catch (Throwable e) { + e.printStackTrace(); + System.exit(LinkAcceptanceTest.CODE_FAILURE); + } + + System.exit(LinkAcceptanceTest.CODE_OK); + } + + public static int sign(int n) { + return n < 0 ? -1 : n == 0 ? 0 : 1; + } + + public void init() { + panel = new DropTargetPanel(); + + frame = new Frame(); + frame.setTitle("DropTarget frame"); + frame.setLocation(10, 200); + frame.add(panel); + + frame.pack(); + frame.setVisible(true); + } + + public void start() { + try { + Thread.sleep(FRAME_ACTIVATION_TIMEOUT); + + EventQueue.invokeAndWait(() -> { + p = panel.getLocationOnScreen(); + d = panel.getSize(); + }); + + String javaPath = System.getProperty("java.home", ""); + String command = javaPath + File.separator + "bin" + + File.separator + "java -cp " + System.getProperty("test.classes", ".") + + " LinkAcceptanceTest " + + p.x + " " + p.y + " " + d.width + " " + d.height; + Process process = Runtime.getRuntime().exec(command); + returnCode = process.waitFor(); + InputStream errorStream = process.getErrorStream(); + int count = errorStream.available(); + if (count > 0) { + byte[] b = new byte[count]; + errorStream.read(b); + System.err.println("========= Child VM System.err ========"); + System.err.print(new String(b)); + System.err.println("======================================"); + } + + } catch (Throwable e) { + e.printStackTrace(); + } + switch (returnCode) { + case CODE_NOT_RETURNED: + System.err.println("Child VM: failed to start"); + break; + case CODE_OK: + System.err.println("Child VM: normal termination"); + break; + case CODE_FAILURE: + System.err.println("Child VM: abnormal termination"); + break; + } + if (returnCode != CODE_OK) { + throw new RuntimeException("The test failed."); + } + } +} + +class TransferableURL implements Transferable { + + public static String URL_STRING = "http://java.sun.com"; + public static final int NUM_DATA_FLAVORS = 3; + static DataFlavor[] supportedFlavors = new DataFlavor[NUM_DATA_FLAVORS]; + + static String[] flavorList = { "application/x-java-url;class=java.net.URL", + "text/uri-list;class=java.lang.String", + "text/plain;class=java.lang.String" }; + static { + try { + for (int i = 0; i < NUM_DATA_FLAVORS; i++) { + supportedFlavors[i] = new DataFlavor(flavorList[i]); + } + } catch (ClassNotFoundException e) { + throw new RuntimeException("Failed to construct the flavor"); + } + } + + public DataFlavor[] getTransferDataFlavors() { + return supportedFlavors; + } + + public boolean isDataFlavorSupported(DataFlavor flavor) { + + for (int i = 0; i < NUM_DATA_FLAVORS; i++) { + if (flavor.equals(supportedFlavors[i])) { + return true; + } + } + return false; + } + + public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { + + if (!isDataFlavorSupported(flavor)) { + throw new UnsupportedFlavorException(flavor); + } + + return new String(URL_STRING); + } +} + +class DragSourceLabel extends Label implements Serializable, + DragGestureListener, + DragSourceListener { + + final Transferable transferable; + + public DragSourceLabel(Transferable t) { + super(TransferableURL.URL_STRING); + + this.transferable = t; + DragSource ds = DragSource.getDefaultDragSource(); + ds.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_LINK, + this); + } + + public void dragGestureRecognized(DragGestureEvent dge) { + dge.startDrag(null, transferable, this); + } + + public void dragEnter(DragSourceDragEvent dsde) {} + + public void dragExit(DragSourceEvent dse) {} + + public void dragOver(DragSourceDragEvent dsde) {} + + public void dragDropEnd(DragSourceDropEvent dsde) {} + + public void dropActionChanged(DragSourceDragEvent dsde) {} +} + + +class DragSourcePanel extends Panel { + + final Dimension preferredDimension = new Dimension(200, 200); + + public DragSourcePanel(Transferable t) { + setLayout(new GridLayout(1, 1)); + add(new DragSourceLabel(t)); + } + + public Dimension getPreferredSize() { + return preferredDimension; + } +} + +class DropTargetPanel extends Panel implements DropTargetListener { + + final Dimension preferredDimension = new Dimension(200, 200); + + public DropTargetPanel() { + setBackground(Color.green); + setDropTarget(new DropTarget(this, this)); + setLayout(new GridLayout(1, 1)); + } + + public Dimension getPreferredSize() { + return preferredDimension; + } + + public void dragEnter(DropTargetDragEvent dtde) { + dtde.acceptDrag(DnDConstants.ACTION_LINK); + } + + public void dragExit(DropTargetEvent dte) {} + + public void dragOver(DropTargetDragEvent dtde) { + dtde.acceptDrag(DnDConstants.ACTION_LINK); + } + + public void drop(DropTargetDropEvent dtde) { + DropTargetContext dtc = dtde.getDropTargetContext(); + + if ((dtde.getSourceActions() & DnDConstants.ACTION_LINK) != 0) { + dtde.acceptDrop(DnDConstants.ACTION_LINK); + } else { + dtde.rejectDrop(); + return; + } + + removeAll(); + final List list = new List(); + add(list); + + Transferable t = dtde.getTransferable(); + DataFlavor[] dfs = t.getTransferDataFlavors(); + + for (int i = 0; i < dfs.length; i++) { + + DataFlavor flavor = dfs[i]; + String transferText = null; + URL transferURL = null; + + if (flavor.getRepresentationClass().equals(URL.class)) { + try { + transferURL = (URL)t.getTransferData(flavor); + } catch (Exception e) { + throw new RuntimeException("The test failed: unable to recognize " + + flavor.getMimeType()); + } + list.add(transferURL + ":" + flavor.getMimeType()); + } + + if (flavor.getRepresentationClass().equals(String.class)) { + try { + transferText = (String)t.getTransferData(flavor); + } catch (Exception e) { + throw new RuntimeException("The test failed: unable to recognize " + + flavor.getMimeType()); + } + list.add(transferText + ":" + flavor.getMimeType()); + } + } + + dtc.dropComplete(true); + validate(); + } + + public void dropActionChanged(DropTargetDragEvent dtde) {} + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/ZeroFormatTransferableTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/ZeroFormatTransferableTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/dnd/ZeroFormatTransferableTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/dnd/ZeroFormatTransferableTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4388802 + @summary tests that getting clipboard data doesn't crash when there are no + formats on the clipboard + @key headful + @run main ZeroFormatTransferableTest +*/ + +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + + +public class ZeroFormatTransferableTest { + public static void main(String[] args) throws InterruptedException, IOException { + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + clipboard.setContents(new ZeroFormatTransferable(), null); + + String javaPath = System.getProperty("java.home", ""); + + Process process = new ProcessBuilder( + javaPath + File.separator + "bin" + File.separator + "java", + "-cp", + System.getProperty("test.classes", "."), + "ZeroFormatTransferableTest").start(); + process.waitFor(); + + InputStream errorStream = process.getErrorStream(); + int count = errorStream.available(); + if (count > 0) { + byte[] b = new byte[count]; + errorStream.read(b); + System.err.println("========= Child VM System.err ========"); + System.err.print(new String(b)); + System.err.println("======================================"); + } + } +} + +class ZeroFormatTransferable implements Transferable { + public DataFlavor[] getTransferDataFlavors() { + return new DataFlavor[] {}; + } + + public boolean isDataFlavorSupported(DataFlavor df) { + return false; + } + + public Object getTransferData(DataFlavor df) + throws UnsupportedFlavorException { + throw new UnsupportedFlavorException(df); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/ComponentEvent/ComponentResizedTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ComponentResizedTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/ComponentEvent/ComponentResizedTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ComponentResizedTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4267393 + @summary Ensures minimal amount of paints + @key headful + @run main ComponentResizedTest +*/ + +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.event.ComponentEvent; +import java.lang.reflect.InvocationTargetException; + +public class ComponentResizedTest extends Frame { + volatile int paintCount = 0; + + public static void main(String[] args) throws InterruptedException, + InvocationTargetException { + ComponentResizedTest componentResizedTest = new ComponentResizedTest(); + EventQueue.invokeAndWait(componentResizedTest::init); + componentResizedTest.start(); + if (componentResizedTest != null) EventQueue.invokeAndWait(() + -> componentResizedTest.dispose()); + } + + public void paint(Graphics g) { + System.out.println("Paint called"); + ++paintCount; + } + + public void init() { + setTitle("ComponentResizedTest"); + setSize(100, 100); + setLocationRelativeTo(null); + setVisible(true); + } + + public void start () throws InterruptedException { + Thread.sleep(1000); + + paintCount = 0; + dispatchEvent(new ComponentEvent(this, ComponentEvent.COMPONENT_RESIZED)); + + Thread.sleep(1000); + + if (paintCount > 0) { + throw new RuntimeException("ComponentResizedTest failed. " + + "Paint called."); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/ComponentEvent/ObjectSourceTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ObjectSourceTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/ComponentEvent/ObjectSourceTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ObjectSourceTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4420658 + @summary No ClassCastException should be thrown when getComponent() + is called on an event with a non-Component source. + The result should be null. + @key headful + @run main ObjectSourceTest +*/ + +import java.awt.Component; +import java.awt.Frame; +import java.awt.event.ComponentEvent; + + +public class ObjectSourceTest { + static Frame frame; + + public static void main(String[] args) { + frame = new Frame("ObjectSourceTest"); + + ComponentEvent ce = new ComponentEvent(frame, ComponentEvent.COMPONENT_SHOWN); + Object obj = new Object(); + ce.setSource(obj); + + Component comp = ce.getComponent(); + if (comp != null) { + throw new RuntimeException("ObjectSourceTest failed. comp != null"); + } + + if (frame != null) { + frame.dispose(); + } + } + } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/ComponentEvent/ResizeDeniedTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ResizeDeniedTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/ComponentEvent/ResizeDeniedTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/ComponentEvent/ResizeDeniedTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4523758 + @requires (os.family == "windows") + @summary Checks denied setBounds doesn't generate ComponentEvent + @key headful + @run main ResizeDeniedTest +*/ + +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; +import java.lang.reflect.InvocationTargetException; + +public class ResizeDeniedTest implements ComponentListener { + static int runs = 0; + static Frame frame; + + public static void main(String[] args) throws InterruptedException, + InvocationTargetException { + + ResizeDeniedTest resizeDeniedTest = new ResizeDeniedTest(); + EventQueue.invokeAndWait(() -> { + frame = new Frame("ResizeDeniedTest"); + frame.addComponentListener(resizeDeniedTest); + frame.setSize(1, 1); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + + synchronized(resizeDeniedTest) { + resizeDeniedTest.wait(2000); + } + + if (frame != null) { + EventQueue.invokeAndWait(() -> frame.dispose()); + } + + if (runs > 10) { + System.out.println("Infinite loop"); + throw new RuntimeException("Infinite loop"); + } + } + + public void componentHidden(ComponentEvent e) {} + + public void componentMoved(ComponentEvent e) {} + + public void componentResized(ComponentEvent e) { + frame.setSize(1, 1); + System.out.println("Size " + frame.getSize()); + ++runs; + if (runs > 10) { + System.out.println("Infinite loop"); + synchronized(this) { + this.notify(); + } + throw new RuntimeException("Infinite loop"); + } + } + + public void componentShown(ComponentEvent e) {} +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/OppositeSerialization.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/OppositeSerialization.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/OppositeSerialization.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/OppositeSerialization.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4715486 + @summary Tests that FocusEvent.opposite is not serialized + @key headful + @run main OppositeSerialization +*/ + +import java.awt.Button; +import java.awt.EventQueue; +import java.awt.FlowLayout; +import java.awt.Frame; +import java.awt.event.FocusEvent; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.lang.reflect.InvocationTargetException; + +import static java.lang.Integer.valueOf; + +/** + * "This is an AUTOMATIC test", + * "however, that's what it does:", + * "1. It tests that FocusEvent.opposite field is written", + * "to serialized stream as null regardless of whether it", + * "is actually null or not. For this purpose, we serialize", + * "a FocusEvent with really huge opposite, and then check", + * "if serialized object is huge or not.", + * "2. It tests that FocusEvent.opposite deserializes as", + * "null, even if it was serialized in the previous version", + * "of JDK. For this purpose, file old.ser is included into", + * "test. It is FocusEvent serialized with 1.4, with non-null", + * "opposite. We check that after deserialization opposite", + * "field is null" + */ +public class OppositeSerialization { + static Button b1; + static Frame b2; + + public static void main(String[] args) throws InterruptedException, + InvocationTargetException { + EventQueue.invokeAndWait(() -> { + b1 = new Button("OppositeSerialization - Source"); + b2 = new Frame("OppositeSerialization - Opposite"); + b2.setLayout(new FlowLayout()); + + for (int i = 0; i < 10000; i++) { + String s = (valueOf(i)).toString(); + b2.add(new Button("Button" + s)); + } + }); + + FocusEvent evt1 = new FocusEvent(b1, FocusEvent.FOCUS_GAINED, false, b2); + + /* + * Here we test that opposite component isn't serialized. + * We created a really huge opposite component for a focus + * event evt1 and now we'll see if the size of serialized data + * is big. + */ + try { + FileOutputStream fos = new FileOutputStream("new.ser"); + ObjectOutputStream oos = new ObjectOutputStream(fos); + oos.writeObject(evt1); + oos.flush(); + } catch (Exception e1) { + System.out.println("Sorry! Couldn't write the stream"); + System.out.println("The test failed, but the reason is " + + "unrelated to the subject"); + throw new RuntimeException("The test couldn't write serialized data"); + } + + File file = new File("new.ser"); + if (file.length() > 50000) { + System.out.println("The test failed: serialized " + + "FocusEvent too huge"); + System.err.println("Serialized FocusEvent is too huge."); + System.err.println("Probably opposite field is " + + "serialized incorrectly."); + throw new RuntimeException("Serialized FocusEvent is too huge"); + } + + /* + * Here we test that opposite is not deserialized even if it is present + * in the stream. old.ser is created with JDK1.4 using the following + * source code: + * + * import java.awt.event.*; + * import java.io.*; + * import java.awt.*; + * + * public class OldFocusSerializer { + * + * public static void main(String[] args) { + * + * Button b1 = new Button("Source"); + * Button b2 = new Button("Opposite"); + * + * FocusEvent evt1 = new FocusEvent(b1, + * FocusEvent.FOCUS_GAINED, + * false, + * b2); + * + * try { + * FileOutputStream fos = new FileOutputStream("old.ser"); + * ObjectOutputStream oos = new ObjectOutputStream(fos); + * oos.writeObject(evt1); + * oos.flush(); + * } catch (IOException e) { + * System.out.println("Sorry! Couldn't write the stream"); + * } + * } + * } + */ + FocusEvent evt2; + String testPath = System.getProperty("test.src", "."); + try { + FileInputStream fis = new FileInputStream(testPath + + File.separator + "old.ser"); + ObjectInputStream ois = new ObjectInputStream(fis); + evt2 = (FocusEvent)ois.readObject(); + } catch (Exception e2) { + System.out.println("The test failed as it couldn't read the stream"); + throw new RuntimeException("The test couldn't read serialized data"); + } + + if (evt2.getOppositeComponent() != null) { + System.out.println("The test failed: opposite component " + + "deserialized to non-null value"); + System.err.println("FocusEvent stored in old.ser should have " + + "null opposite field."); + throw new RuntimeException("Non-null opposite component " + + "after deserialization"); + } + + if (b2 != null) { + EventQueue.invokeAndWait(() -> b2.dispose()); + } + + System.out.println("The test passed"); + } +} Binary files /srv/release.debian.org/tmp/sACA1OZcqy/openjdk-11-11.0.22+7/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/old.ser and /srv/release.debian.org/tmp/sRMmE18hoM/openjdk-11-11.0.23+9/test/jdk/java/awt/event/FocusEvent/OppositeSerialization/old.ser differ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/HierarchyEvent/HierarchyEventOnWindowTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/HierarchyEventOnWindowTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/HierarchyEvent/HierarchyEventOnWindowTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/HierarchyEventOnWindowTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4460376 + @summary HierarchyEvents on Frame should be dispatched correctly + when on its child Window this event type enabled + @key headful + @run main HierarchyEventOnWindowTest +*/ + +import java.awt.AWTEvent; +import java.awt.Button; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Window; +import java.awt.event.HierarchyBoundsAdapter; +import java.lang.reflect.InvocationTargetException; + +public class HierarchyEventOnWindowTest { + static Frame frame; + + public static void main(String args[]) throws InterruptedException, + InvocationTargetException { + EventQueue.invokeAndWait(() -> { + frame = new Frame("HierarchyEventOnWindowTest"); + CustomWindow window = new CustomWindow(frame); + window.enableEvents(); + frame.add(new Button("")); + window.disableEvents(); + window.addHierarchyListener(e -> {}); + window.addHierarchyBoundsListener(new HierarchyBoundsAdapter(){}); + frame.add(new Button("")); + }); + + if (frame != null) { + EventQueue.invokeAndWait(() -> frame.dispose()); + } + } +} + +class CustomWindow extends Window { + public CustomWindow(Frame frame) { + super(frame); + } + public void enableEvents() { + enableEvents(AWTEvent.HIERARCHY_EVENT_MASK | + AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + } + public void disableEvents() { + disableEvents(AWTEvent.HIERARCHY_EVENT_MASK | + AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/HierarchyEvent/ObjectSourceTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/ObjectSourceTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/HierarchyEvent/ObjectSourceTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/ObjectSourceTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4420658 + @summary No ClassCastException should be thrown when getComponent() + is called on an event with a non-Component source. + The result should be null. + @run main ObjectSourceTest +*/ + +import java.awt.Component; +import java.awt.Panel; +import java.awt.event.HierarchyEvent; +import java.lang.reflect.InvocationTargetException; + + +public class ObjectSourceTest { + static Panel panel; + + public static void main(String args[]) throws InterruptedException, + InvocationTargetException { + panel = new Panel(); + + HierarchyEvent he = new HierarchyEvent(panel, HierarchyEvent.ANCESTOR_MOVED, + panel, panel); + Object obj = new Object(); + he.setSource(obj); + + Component comp = he.getComponent(); + if (comp != null) { + throw new RuntimeException("ObjectSourceTest failed. comp != null"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/HierarchyEvent/SpecTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/SpecTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/HierarchyEvent/SpecTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/HierarchyEvent/SpecTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,1248 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4222172 + @summary Verifies initial implementation of HierarchyEvent (programmatic) + @key headful + @run main SpecTest +*/ + +import java.awt.AWTEvent; +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Container; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Label; +import java.awt.Panel; +import java.awt.Window; +import java.awt.event.HierarchyBoundsListener; +import java.awt.event.HierarchyEvent; +import java.awt.event.HierarchyListener; +import java.lang.reflect.InvocationTargetException; + +import javax.swing.JLabel; +import javax.swing.JPanel; + +public class SpecTest extends Frame implements HierarchyListener, HierarchyBoundsListener { + static SpecTest f; + + public static void main(String args[]) throws InterruptedException, + InvocationTargetException { + EventQueue.invokeAndWait(() -> init()); + f.start(); + } + + class EELabel extends Label { + private long mask = 0; + public EELabel(String s) { + super(s); + } + + protected void processHierarchyEvent(HierarchyEvent e) { + super.processHierarchyEvent(e); + if ((mask & AWTEvent.HIERARCHY_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.HIERARCHY_CHANGED: + hierarchyChanged(e); + break; + default: + break; + } + } + } + + protected void processHierarchyBoundsEvent(HierarchyEvent e) { + super.processHierarchyBoundsEvent(e); + if ((mask & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.ANCESTOR_MOVED: + ancestorMoved(e); + break; + case HierarchyEvent.ANCESTOR_RESIZED: + ancestorResized(e); + break; + default: + break; + } + } + } + + public void pubEnableEvents(long eventsToEnable) { + mask |= eventsToEnable; + enableEvents(eventsToEnable); + } + + public void pubDisableEvents(long eventsToDisable) { + mask &= ~eventsToDisable; + disableEvents(eventsToDisable); + } + } + + class EEJLabel extends JLabel { + private long mask = 0; + public EEJLabel(String s) { + super(s); + } + protected void processHierarchyEvent(HierarchyEvent e) { + super.processHierarchyEvent(e); + if ((mask & AWTEvent.HIERARCHY_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.HIERARCHY_CHANGED: + hierarchyChanged(e); + break; + default: + break; + } + } + } + + protected void processHierarchyBoundsEvent(HierarchyEvent e) { + super.processHierarchyBoundsEvent(e); + if ((mask & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.ANCESTOR_MOVED: + ancestorMoved(e); + break; + case HierarchyEvent.ANCESTOR_RESIZED: + ancestorResized(e); + break; + default: + break; + } + } + } + + public void pubEnableEvents(long eventsToEnable) { + mask |= eventsToEnable; + enableEvents(eventsToEnable); + } + + public void pubDisableEvents(long eventsToDisable) { + mask &= ~eventsToDisable; + disableEvents(eventsToDisable); + } + } + + class EEPanel extends Panel { + private long mask = 0; + protected void processHierarchyEvent(HierarchyEvent e) { + super.processHierarchyEvent(e); + if ((mask & AWTEvent.HIERARCHY_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.HIERARCHY_CHANGED: + hierarchyChanged(e); + break; + default: + break; + } + } + } + + protected void processHierarchyBoundsEvent(HierarchyEvent e) { + super.processHierarchyBoundsEvent(e); + if ((mask & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.ANCESTOR_MOVED: + ancestorMoved(e); + break; + case HierarchyEvent.ANCESTOR_RESIZED: + ancestorResized(e); + break; + default: + break; + } + } + } + + public void pubEnableEvents(long eventsToEnable) { + mask |= eventsToEnable; + enableEvents(eventsToEnable); + } + + public void pubDisableEvents(long eventsToDisable) { + mask &= ~eventsToDisable; + disableEvents(eventsToDisable); + } + } + + class EEJPanel extends JPanel { + private long mask = 0; + protected void processHierarchyEvent(HierarchyEvent e) { + super.processHierarchyEvent(e); + if ((mask & AWTEvent.HIERARCHY_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.HIERARCHY_CHANGED: + hierarchyChanged(e); + break; + default: + break; + } + } + } + + protected void processHierarchyBoundsEvent(HierarchyEvent e) { + super.processHierarchyBoundsEvent(e); + if ((mask & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0) { + switch (e.getID()) { + case HierarchyEvent.ANCESTOR_MOVED: + ancestorMoved(e); + break; + case HierarchyEvent.ANCESTOR_RESIZED: + ancestorResized(e); + break; + default: + break; + } + } + } + + public void pubEnableEvents(long eventsToEnable) { + mask |= eventsToEnable; + enableEvents(eventsToEnable); + } + + public void pubDisableEvents(long eventsToDisable) { + mask &= ~eventsToDisable; + disableEvents(eventsToDisable); + } + } + + int parentChanged, displayabilityChanged, showingChanged, ancestorMoved, + ancestorResized; + private static final int OBJ_ARRAY_SIZE = 2; + Component[] source = new Component[OBJ_ARRAY_SIZE], + changed = new Component[OBJ_ARRAY_SIZE]; + Container[] changedParent = new Container[OBJ_ARRAY_SIZE]; + + boolean assertParent = false, assertDisplayability = false, + assertShowing = false, assertMoved = false, assertResized = false; + + private void flushEventQueue() throws InterruptedException, InvocationTargetException { + EventQueue.invokeAndWait(() -> {}); + } + + private void testAdd(Component child, Container parent, int count) + throws InterruptedException, InvocationTargetException { + assertParent = true; + parentChanged = count; + parent.add(child); + flushEventQueue(); + if (parentChanged != 0) { + throw new RuntimeException("hierarchyChanged(PARENT_CHANGED) invoked "+ + parentChanged+" too few times"); + } + assertParent = false; + } + + private void testRemove(Component child, Container parent, int count) + throws InterruptedException, InvocationTargetException { + assertParent = true; + parentChanged = count; + parent.remove(child); + flushEventQueue(); + if (parentChanged != 0) { + throw new RuntimeException("hierarchyChanged(PARENT_CHANGED) invoked "+ + parentChanged+" too few times"); + } + assertParent = false; + } + + private void testSetLocation(Component changed, int x, int y, int count) + throws InterruptedException, InvocationTargetException { + assertMoved = true; + ancestorMoved = count; + changed.setLocation(x, y); + flushEventQueue(); + if (ancestorMoved != 0) { + throw new RuntimeException("ancestorMoved invoked "+ancestorMoved+ + " too few times"); + } + assertMoved = false; + } + + private void testSetSize(Component changed, int w, int h, int count) + throws InterruptedException, InvocationTargetException { + assertResized = true; + ancestorResized = count; + changed.setSize(w, h); + flushEventQueue(); + if (ancestorResized != 0) { + throw new RuntimeException("ancestorResized invoked "+ancestorResized+ + " too few times"); + } + assertResized = false; + } + + private void testPack(Window topLevel, int displayabilityCount) + throws InterruptedException, InvocationTargetException { + assertDisplayability = true; + assertShowing = true; + displayabilityChanged = displayabilityCount; + showingChanged = 0; + topLevel.pack(); + flushEventQueue(); + if (displayabilityChanged != 0) { + throw new RuntimeException("hierarchyChanged(DISPLAYABILITY_CHANGED) "+ + "invoked "+displayabilityChanged+ + " too few times"); + } + if (showingChanged != 0) { + throw new RuntimeException("hierarchyChanged(SHOWING_CHANGED) "+ + "invoked, but should not have been"); + } + assertDisplayability = false; + assertShowing = false; + } + + private void testShow(Window topLevel, int displayabilityCount, + int showingCount) + throws InterruptedException, InvocationTargetException { + assertDisplayability = true; + assertShowing = true; + displayabilityChanged = displayabilityCount; + showingChanged = showingCount; + topLevel.show(); + flushEventQueue(); + if (displayabilityChanged != 0) { + throw new RuntimeException("hierarchyChanged(DISPLAYABILITY_CHANGED) "+ + "invoked "+displayabilityChanged+ + " too few times"); + } + if (showingChanged != 0) { + throw new RuntimeException("hierarchyChanged(SHOWING_CHANGED) "+ + "invoked "+showingChanged+" too few times"); + } + assertDisplayability = false; + assertShowing = false; + } + + private void testHide(Window topLevel, int showingCount) + throws InterruptedException, InvocationTargetException { + assertDisplayability = true; + assertShowing = true; + displayabilityChanged = 0; + showingChanged = showingCount; + topLevel.hide(); + flushEventQueue(); + if (displayabilityChanged != 0) { + throw new RuntimeException("hierarchyChanged(DISPLAYABILITY_CHANGED) "+ + "invoked, but should not have been"); + } + if (showingChanged != 0) { + throw new RuntimeException("hierarchyChanged(SHOWING_CHANGED) "+ + "invoked "+showingChanged+" too few times"); + } + assertDisplayability = false; + assertShowing = false; + } + + private void testDispose(Window topLevel, int displayabilityCount, + int showingCount) + throws InterruptedException, InvocationTargetException { + assertDisplayability = true; + assertShowing = true; + displayabilityChanged = displayabilityCount; + showingChanged = showingCount; + topLevel.dispose(); + flushEventQueue(); + if (displayabilityChanged != 0) { + throw new RuntimeException("hierarchyChanged(DISPLAYABILITY_CHANGED) "+ + "invoked "+displayabilityChanged+ + " too few times"); + } + if (showingChanged != 0) { + throw new RuntimeException("hierarchyChanged(SHOWING_CHANGED) "+ + "invoked "+showingChanged+" too few times"); + } + assertDisplayability = false; + assertShowing = false; + } + + private void assertObjectsImpl(HierarchyEvent e) { + int match = -1; + + for (int i = 0; i < OBJ_ARRAY_SIZE; i++) { + if (e.getComponent() == source[i]) { + match = i; + break; + } + } + + if (match == -1) { + String str = "\n\nsource incorrect, was "+e.getComponent()+"\n\n"; + for (int i = 0; i < OBJ_ARRAY_SIZE; i++) { + str += "available source: "+source[i]+"\n\n"; + } + str += "event: "+e+"\n"; + throw new RuntimeException(str); + } + + if (e.getChanged() != changed[match]) { + if (e.getID() == HierarchyEvent.HIERARCHY_CHANGED && + (e.getChangeFlags() & HierarchyEvent.DISPLAYABILITY_CHANGED) != 0) { + System.err.println("warning (known bug): changed for "+ + "DISPLAYABILITY_CHANGED event incorrect"); + } else { + throw new RuntimeException("\n\nchanged incorrect, was "+ + e.getChanged()+ + ", should be "+changed[match]+"\n\n"+ + "event: "+e+"\n"); + } + } + + if (e.getChangedParent() != changedParent[match]) { + if (e.getID() == HierarchyEvent.HIERARCHY_CHANGED && + (e.getChangeFlags() & HierarchyEvent.DISPLAYABILITY_CHANGED) != 0) { + System.err.println("warning (known bug): changedParent for "+ + "DISPLAYABILITY_CHANGED event incorrect"); + } else { + throw new RuntimeException("changedParent incorrect, was "+ + e.getChangedParent()+ + ", should be "+changedParent[match]+"\n\n"+ + "event: "+e+"\n"); + } + } + } + + private void setObjects(int index, Component source, Component changed, + Container changedParent) { + this.source[index] = source; + this.changed[index] = changed; + this.changedParent[index] = changedParent; + } + + private void resetObjects() { + for (int i = 0; i < OBJ_ARRAY_SIZE; i++) { + setObjects(i, null, null, null); + } + } + + public void hierarchyChanged(HierarchyEvent e) { + if (assertParent && + (e.getChangeFlags() & HierarchyEvent.PARENT_CHANGED) != 0) { + assertObjectsImpl(e); + parentChanged--; + } + if (assertDisplayability && + (e.getChangeFlags() & HierarchyEvent.DISPLAYABILITY_CHANGED) != 0){ + assertObjectsImpl(e); + displayabilityChanged--; + } + if (assertShowing && + (e.getChangeFlags() & HierarchyEvent.SHOWING_CHANGED) != 0) { + assertObjectsImpl(e); + showingChanged--; + } + } + + public void ancestorMoved(HierarchyEvent e) { + if (!assertMoved) + return; + + assertObjectsImpl(e); + ancestorMoved--; + } + + public void ancestorResized(HierarchyEvent e) { + if (!assertResized) + return; + + assertObjectsImpl(e); + ancestorResized--; + } + + public static void init() { + f = new SpecTest(); + f.setTitle("SpecTest"); + f.setLayout(new BorderLayout()); + } + + private void test1(Component source, Component changed, + Container changedParent, Window topLevel, + int hierarchyCount, int hierarchyBoundsCount) + throws InterruptedException, InvocationTargetException { + changed.setBounds(0, 0, 100, 100); + topLevel.dispose(); + resetObjects(); + + setObjects(0, source, changed, changedParent); + + testRemove(changed, changedParent, hierarchyCount); + testAdd(changed, changedParent, hierarchyCount); + testSetLocation(changed, 200, 250, hierarchyBoundsCount); + testSetSize(changed, 50, 50, hierarchyBoundsCount); + + setObjects(0, source, topLevel, null); + + testPack(topLevel, hierarchyCount); + testDispose(topLevel, hierarchyCount, 0); + testPack(topLevel, hierarchyCount); + testShow(topLevel, 0, hierarchyCount); + testDispose(topLevel, hierarchyCount, hierarchyCount); + testShow(topLevel, hierarchyCount, hierarchyCount); + testHide(topLevel, hierarchyCount); + testDispose(topLevel, hierarchyCount, 0); + + resetObjects(); + } + + private void test2(Component source1, Container parent1, + Component source2, Container parent2, + Window topLevel) + throws InterruptedException, InvocationTargetException { + topLevel.setBounds(0, 0, 100, 100); + topLevel.dispose(); + resetObjects(); + + setObjects(0, source1, source1, parent1); + testRemove(source1, parent1, 1); + testAdd(source1, parent1, 1); + + setObjects(0, source2, source2, parent2); + testRemove(source2, parent2, 1); + testAdd(source2, parent2, 1); + + setObjects(0, source1, topLevel, null); + setObjects(1, source2, topLevel, null); + + testSetLocation(topLevel, 200, 250, 2); + testSetSize(topLevel, 50, 50, 2); + + testPack(topLevel, 2); + testDispose(topLevel, 2, 0); + testPack(topLevel, 2); + testShow(topLevel, 0, 2); + testDispose(topLevel, 2, 2); + testShow(topLevel, 2, 2); + testHide(topLevel, 2); + testDispose(topLevel, 2, 0); + + resetObjects(); + } + + public void start() throws InterruptedException, InvocationTargetException { + /* + f + | + ----------------------------------------- + | | | | | | + l1 l2 p1 p2 p5 p6 + | | | | + ----- ----- | | + | | | | | | + l3 l4 l5 l6 p3 p4 + | | + ----- ----- + | | | | + l7 l8 l9 l10 + */ + + // listener-only tests + + { + Label l1 = new Label("Label 1"); + JLabel l2 = new JLabel("Label 2"); + Panel p1 = new Panel(); + JPanel p2 = new JPanel(); + Panel p5 = new Panel(); + JPanel p6 = new JPanel(); + + Label l3 = new Label("Label 3"); + JLabel l4 = new JLabel("Label 4"); + Label l5 = new Label("Label 5"); + JLabel l6 = new JLabel("Label 6"); + JPanel p3 = new JPanel(); + Panel p4 = new Panel(); + + Label l7 = new Label("Label 7"); + JLabel l8 = new JLabel("Label 8"); + JLabel l9 = new JLabel("Label 9"); + Label l10 = new Label("Label 10"); + + f.add(l1); + f.add(l2); + f.add(p1); + f.add(p2); + f.add(p5); + f.add(p6); + + p1.add(l3); + p1.add(l4); + + p2.add(l5); + p2.add(l6); + + p5.add(p3); + + p6.add(p4); + + p3.add(l7); + p3.add(l8); + + p4.add(l9); + p4.add(l10); + + + + // test1 + + l1.addHierarchyListener(this); + l1.addHierarchyBoundsListener(this); + test1(l1, l1, f, f, 1, 0); + l1.addHierarchyListener(this); + l1.addHierarchyBoundsListener(this); + test1(l1, l1, f, f, 2, 0); + l1.removeHierarchyListener(this); + l1.removeHierarchyBoundsListener(this); + l1.removeHierarchyListener(this); + l1.removeHierarchyBoundsListener(this); + + l2.addHierarchyListener(this); + l2.addHierarchyBoundsListener(this); + test1(l2, l2, f, f, 1, 0); + l2.addHierarchyListener(this); + l2.addHierarchyBoundsListener(this); + test1(l2, l2, f, f, 2, 0); + l2.removeHierarchyListener(this); + l2.removeHierarchyBoundsListener(this); + l2.removeHierarchyListener(this); + l2.removeHierarchyBoundsListener(this); + + p1.addHierarchyListener(this); + p1.addHierarchyBoundsListener(this); + test1(p1, p1, f, f, 1, 0); + p1.addHierarchyListener(this); + p1.addHierarchyBoundsListener(this); + test1(p1, p1, f, f, 2, 0); + p1.removeHierarchyListener(this); + p1.removeHierarchyBoundsListener(this); + p1.removeHierarchyListener(this); + p1.removeHierarchyBoundsListener(this); + + p2.addHierarchyListener(this); + p2.addHierarchyBoundsListener(this); + test1(p2, p2, f, f, 1, 0); + p2.addHierarchyListener(this); + p2.addHierarchyBoundsListener(this); + test1(p2, p2, f, f, 2, 0); + p2.removeHierarchyListener(this); + p2.removeHierarchyBoundsListener(this); + p2.removeHierarchyListener(this); + p2.removeHierarchyBoundsListener(this); + + p5.addHierarchyListener(this); + p5.addHierarchyBoundsListener(this); + test1(p5, p5, f, f, 1, 0); + p5.addHierarchyListener(this); + p5.addHierarchyBoundsListener(this); + test1(p5, p5, f, f, 2, 0); + p5.removeHierarchyListener(this); + p5.removeHierarchyBoundsListener(this); + p5.removeHierarchyListener(this); + p5.removeHierarchyBoundsListener(this); + + p6.addHierarchyListener(this); + p6.addHierarchyBoundsListener(this); + test1(p6, p6, f, f, 1, 0); + p6.addHierarchyListener(this); + p6.addHierarchyBoundsListener(this); + test1(p6, p6, f, f, 2, 0); + p6.removeHierarchyListener(this); + p6.removeHierarchyBoundsListener(this); + p6.removeHierarchyListener(this); + p6.removeHierarchyBoundsListener(this); + + l3.addHierarchyListener(this); + l3.addHierarchyBoundsListener(this); + test1(l3, l3, p1, f, 1, 0); + test1(l3, p1, f, f, 1, 1); + l3.addHierarchyListener(this); + l3.addHierarchyBoundsListener(this); + test1(l3, l3, p1, f, 2, 0); + test1(l3, p1, f, f, 2, 2); + l3.removeHierarchyListener(this); + l3.removeHierarchyBoundsListener(this); + l3.removeHierarchyListener(this); + l3.removeHierarchyBoundsListener(this); + + l4.addHierarchyListener(this); + l4.addHierarchyBoundsListener(this); + test1(l4, l4, p1, f, 1, 0); + test1(l4, p1, f, f, 1, 1); + l4.addHierarchyListener(this); + l4.addHierarchyBoundsListener(this); + test1(l4, l4, p1, f, 2, 0); + test1(l4, p1, f, f, 2, 2); + l4.removeHierarchyListener(this); + l4.removeHierarchyBoundsListener(this); + l4.removeHierarchyListener(this); + l4.removeHierarchyBoundsListener(this); + + l5.addHierarchyListener(this); + l5.addHierarchyBoundsListener(this); + test1(l5, l5, p2, f, 1, 0); + test1(l5, p2, f, f, 1, 1); + l5.addHierarchyListener(this); + l5.addHierarchyBoundsListener(this); + test1(l5, l5, p2, f, 2, 0); + test1(l5, p2, f, f, 2, 2); + l5.removeHierarchyListener(this); + l5.removeHierarchyBoundsListener(this); + l5.removeHierarchyListener(this); + l5.removeHierarchyBoundsListener(this); + + l6.addHierarchyListener(this); + l6.addHierarchyBoundsListener(this); + test1(l6, l6, p2, f, 1, 0); + test1(l6, p2, f, f, 1, 1); + l6.addHierarchyListener(this); + l6.addHierarchyBoundsListener(this); + test1(l6, l6, p2, f, 2, 0); + test1(l6, p2, f, f, 2, 2); + l6.removeHierarchyListener(this); + l6.removeHierarchyBoundsListener(this); + l6.removeHierarchyListener(this); + l6.removeHierarchyBoundsListener(this); + + p3.addHierarchyListener(this); + p3.addHierarchyBoundsListener(this); + test1(p3, p3, p5, f, 1, 0); + test1(p3, p5, f, f, 1, 1); + p3.addHierarchyListener(this); + p3.addHierarchyBoundsListener(this); + test1(p3, p3, p5, f, 2, 0); + test1(p3, p5, f, f, 2, 2); + p3.removeHierarchyListener(this); + p3.removeHierarchyBoundsListener(this); + p3.removeHierarchyListener(this); + p3.removeHierarchyBoundsListener(this); + + p4.addHierarchyListener(this); + p4.addHierarchyBoundsListener(this); + test1(p4, p4, p6, f, 1, 0); + test1(p4, p6, f, f, 1, 1); + p4.addHierarchyListener(this); + p4.addHierarchyBoundsListener(this); + test1(p4, p4, p6, f, 2, 0); + test1(p4, p6, f, f, 2, 2); + p4.removeHierarchyListener(this); + p4.removeHierarchyBoundsListener(this); + p4.removeHierarchyListener(this); + p4.removeHierarchyBoundsListener(this); + + l7.addHierarchyListener(this); + l7.addHierarchyBoundsListener(this); + test1(l7, l7, p3, f, 1, 0); + test1(l7, p3, p5, f, 1, 1); + test1(l7, p5, f, f, 1, 1); + l7.addHierarchyListener(this); + l7.addHierarchyBoundsListener(this); + test1(l7, l7, p3, f, 2, 0); + test1(l7, p3, p5, f, 2, 2); + test1(l7, p5, f, f, 2, 2); + l7.removeHierarchyListener(this); + l7.removeHierarchyBoundsListener(this); + l7.removeHierarchyListener(this); + l7.removeHierarchyBoundsListener(this); + + l8.addHierarchyListener(this); + l8.addHierarchyBoundsListener(this); + test1(l8, l8, p3, f, 1, 0); + test1(l8, p3, p5, f, 1, 1); + test1(l8, p5, f, f, 1, 1); + l8.addHierarchyListener(this); + l8.addHierarchyBoundsListener(this); + test1(l8, l8, p3, f, 2, 0); + test1(l8, p3, p5, f, 2, 2); + test1(l8, p5, f, f, 2, 2); + l8.removeHierarchyListener(this); + l8.removeHierarchyBoundsListener(this); + l8.removeHierarchyListener(this); + l8.removeHierarchyBoundsListener(this); + + l9.addHierarchyListener(this); + l9.addHierarchyBoundsListener(this); + test1(l9, l9, p4, f, 1, 0); + test1(l9, p4, p6, f, 1, 1); + test1(l9, p6, f, f, 1, 1); + l9.addHierarchyListener(this); + l9.addHierarchyBoundsListener(this); + test1(l9, l9, p4, f, 2, 0); + test1(l9, p4, p6, f, 2, 2); + test1(l9, p6, f, f, 2, 2); + l9.removeHierarchyListener(this); + l9.removeHierarchyBoundsListener(this); + l9.removeHierarchyListener(this); + l9.removeHierarchyBoundsListener(this); + + l10.addHierarchyListener(this); + l10.addHierarchyBoundsListener(this); + test1(l10, l10, p4, f, 1, 0); + test1(l10, p4, p6, f, 1, 1); + test1(l10, p6, f, f, 1, 1); + l10.addHierarchyListener(this); + l10.addHierarchyBoundsListener(this); + test1(l10, l10, p4, f, 2, 0); + test1(l10, p4, p6, f, 2, 2); + test1(l10, p6, f, f, 2, 2); + l10.removeHierarchyListener(this); + l10.removeHierarchyBoundsListener(this); + l10.removeHierarchyListener(this); + l10.removeHierarchyBoundsListener(this); + + + + // test2 + + l1.addHierarchyListener(this); + l10.addHierarchyListener(this); + l1.addHierarchyBoundsListener(this); + l10.addHierarchyBoundsListener(this); + test2(l1, f, l10, p4, f); + l1.removeHierarchyListener(this); + l10.removeHierarchyListener(this); + l1.removeHierarchyBoundsListener(this); + l10.removeHierarchyBoundsListener(this); + + l2.addHierarchyListener(this); + l9.addHierarchyListener(this); + l2.addHierarchyBoundsListener(this); + l9.addHierarchyBoundsListener(this); + test2(l2, f, l9, p4, f); + l2.removeHierarchyListener(this); + l9.removeHierarchyListener(this); + l2.removeHierarchyBoundsListener(this); + l9.removeHierarchyBoundsListener(this); + + l3.addHierarchyListener(this); + l8.addHierarchyListener(this); + l3.addHierarchyBoundsListener(this); + l8.addHierarchyBoundsListener(this); + test2(l3, p1, l8, p3, f); + l3.removeHierarchyListener(this); + l8.removeHierarchyListener(this); + l3.removeHierarchyBoundsListener(this); + l8.removeHierarchyBoundsListener(this); + + l4.addHierarchyListener(this); + l7.addHierarchyListener(this); + l4.addHierarchyBoundsListener(this); + l7.addHierarchyBoundsListener(this); + test2(l4, p1, l7, p3, f); + l4.removeHierarchyListener(this); + l7.removeHierarchyListener(this); + l4.removeHierarchyBoundsListener(this); + l7.removeHierarchyBoundsListener(this); + + l5.addHierarchyListener(this); + l6.addHierarchyListener(this); + l5.addHierarchyBoundsListener(this); + l6.addHierarchyBoundsListener(this); + test2(l5, p2, l6, p2, f); + l5.removeHierarchyListener(this); + l6.removeHierarchyListener(this); + l5.removeHierarchyBoundsListener(this); + l6.removeHierarchyBoundsListener(this); + + p1.addHierarchyListener(this); + p4.addHierarchyListener(this); + p1.addHierarchyBoundsListener(this); + p4.addHierarchyBoundsListener(this); + test2(p1, f, p4, p6, f); + p1.removeHierarchyListener(this); + p4.removeHierarchyListener(this); + p1.removeHierarchyBoundsListener(this); + p4.removeHierarchyBoundsListener(this); + + p2.addHierarchyListener(this); + p3.addHierarchyListener(this); + p2.addHierarchyBoundsListener(this); + p3.addHierarchyBoundsListener(this); + test2(p2, f, p3, p5, f); + p2.removeHierarchyListener(this); + p3.removeHierarchyListener(this); + p2.removeHierarchyBoundsListener(this); + p3.removeHierarchyBoundsListener(this); + + p5.addHierarchyListener(this); + p6.addHierarchyListener(this); + p5.addHierarchyBoundsListener(this); + p6.addHierarchyBoundsListener(this); + test2(p5, f, p6, f, f); + p5.removeHierarchyListener(this); + p6.removeHierarchyListener(this); + p5.removeHierarchyBoundsListener(this); + p6.removeHierarchyBoundsListener(this); + } + + EventQueue.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + f.removeAll(); + } + }); + + // mixed listener/eventEnabled and eventEnabled-only tests + + { + EELabel l1 = new EELabel("Label 1"); + EEJLabel l2 = new EEJLabel("Label 2"); + EEPanel p1 = new EEPanel(); + EEJPanel p2 = new EEJPanel(); + EEPanel p5 = new EEPanel(); + EEJPanel p6 = new EEJPanel(); + + EELabel l3 = new EELabel("Label 3"); + EEJLabel l4 = new EEJLabel("Label 4"); + EELabel l5 = new EELabel("Label 5"); + EEJLabel l6 = new EEJLabel("Label 6"); + EEJPanel p3 = new EEJPanel(); + EEPanel p4 = new EEPanel(); + + EELabel l7 = new EELabel("Label 7"); + EEJLabel l8 = new EEJLabel("Label 8"); + EEJLabel l9 = new EEJLabel("Label 9"); + EELabel l10 = new EELabel("Label 10"); + + f.add(l1); + f.add(l2); + f.add(p1); + f.add(p2); + f.add(p5); + f.add(p6); + + p1.add(l3); + p1.add(l4); + + p2.add(l5); + p2.add(l6); + + p5.add(p3); + + p6.add(p4); + + p3.add(l7); + p3.add(l8); + + p4.add(l9); + p4.add(l10); + + + + // test3 + + l1.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l1.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l1, l1, f, f, 1, 0); + l1.addHierarchyListener(this); + l1.addHierarchyBoundsListener(this); + test1(l1, l1, f, f, 2, 0); + l1.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l1.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l1.removeHierarchyListener(this); + l1.removeHierarchyBoundsListener(this); + + l2.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l2.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l2, l2, f, f, 1, 0); + l2.addHierarchyListener(this); + l2.addHierarchyBoundsListener(this); + test1(l2, l2, f, f, 2, 0); + l2.removeHierarchyListener(this); + l2.removeHierarchyBoundsListener(this); + l2.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l2.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + p1.addHierarchyListener(this); + p1.addHierarchyBoundsListener(this); + test1(p1, p1, f, f, 1, 0); + p1.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p1.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(p1, p1, f, f, 2, 0); + p1.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p1.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p1.removeHierarchyListener(this); + p1.removeHierarchyBoundsListener(this); + + p2.addHierarchyListener(this); + p2.addHierarchyBoundsListener(this); + test1(p2, p2, f, f, 1, 0); + p2.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p2.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(p2, p2, f, f, 2, 0); + p2.removeHierarchyListener(this); + p2.removeHierarchyBoundsListener(this); + p2.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p2.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + p5.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p5.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(p5, p5, f, f, 1, 0); + p5.addHierarchyListener(this); + p5.addHierarchyBoundsListener(this); + test1(p5, p5, f, f, 2, 0); + p5.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p5.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p5.removeHierarchyListener(this); + p5.removeHierarchyBoundsListener(this); + + p6.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p6.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(p6, p6, f, f, 1, 0); + p6.addHierarchyListener(this); + p6.addHierarchyBoundsListener(this); + test1(p6, p6, f, f, 2, 0); + p6.removeHierarchyListener(this); + p6.removeHierarchyBoundsListener(this); + p6.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p6.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l3.addHierarchyListener(this); + l3.addHierarchyBoundsListener(this); + test1(l3, l3, p1, f, 1, 0); + test1(l3, p1, f, f, 1, 1); + l3.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l3.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l3, l3, p1, f, 2, 0); + test1(l3, p1, f, f, 2, 2); + l3.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l3.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l3.removeHierarchyListener(this); + l3.removeHierarchyBoundsListener(this); + + l4.addHierarchyListener(this); + l4.addHierarchyBoundsListener(this); + test1(l4, l4, p1, f, 1, 0); + test1(l4, p1, f, f, 1, 1); + l4.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l4.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l4, l4, p1, f, 2, 0); + test1(l4, p1, f, f, 2, 2); + l4.removeHierarchyListener(this); + l4.removeHierarchyBoundsListener(this); + l4.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l4.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l5.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l5.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l5, l5, p2, f, 1, 0); + test1(l5, p2, f, f, 1, 1); + l5.addHierarchyListener(this); + l5.addHierarchyBoundsListener(this); + test1(l5, l5, p2, f, 2, 0); + test1(l5, p2, f, f, 2, 2); + l5.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l5.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l5.removeHierarchyListener(this); + l5.removeHierarchyBoundsListener(this); + + l6.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l6.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l6, l6, p2, f, 1, 0); + test1(l6, p2, f, f, 1, 1); + l6.addHierarchyListener(this); + l6.addHierarchyBoundsListener(this); + test1(l6, l6, p2, f, 2, 0); + test1(l6, p2, f, f, 2, 2); + l6.removeHierarchyListener(this); + l6.removeHierarchyBoundsListener(this); + l6.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l6.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + p3.addHierarchyListener(this); + p3.addHierarchyBoundsListener(this); + test1(p3, p3, p5, f, 1, 0); + test1(p3, p5, f, f, 1, 1); + p3.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p3.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(p3, p3, p5, f, 2, 0); + test1(p3, p5, f, f, 2, 2); + p3.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p3.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p3.removeHierarchyListener(this); + p3.removeHierarchyBoundsListener(this); + + p4.addHierarchyListener(this); + p4.addHierarchyBoundsListener(this); + test1(p4, p4, p6, f, 1, 0); + test1(p4, p6, f, f, 1, 1); + p4.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p4.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(p4, p4, p6, f, 2, 0); + test1(p4, p6, f, f, 2, 2); + p4.removeHierarchyListener(this); + p4.removeHierarchyBoundsListener(this); + p4.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p4.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l7.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l7.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l7, l7, p3, f, 1, 0); + test1(l7, p3, p5, f, 1, 1); + test1(l7, p5, f, f, 1, 1); + l7.addHierarchyListener(this); + l7.addHierarchyBoundsListener(this); + test1(l7, l7, p3, f, 2, 0); + test1(l7, p3, p5, f, 2, 2); + test1(l7, p5, f, f, 2, 2); + l7.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l7.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l7.removeHierarchyListener(this); + l7.removeHierarchyBoundsListener(this); + + l8.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l8.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l8, l8, p3, f, 1, 0); + test1(l8, p3, p5, f, 1, 1); + test1(l8, p5, f, f, 1, 1); + l8.addHierarchyListener(this); + l8.addHierarchyBoundsListener(this); + test1(l8, l8, p3, f, 2, 0); + test1(l8, p3, p5, f, 2, 2); + test1(l8, p5, f, f, 2, 2); + l8.removeHierarchyListener(this); + l8.removeHierarchyBoundsListener(this); + l8.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l8.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l9.addHierarchyListener(this); + l9.addHierarchyBoundsListener(this); + test1(l9, l9, p4, f, 1, 0); + test1(l9, p4, p6, f, 1, 1); + test1(l9, p6, f, f, 1, 1); + l9.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l9.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l9, l9, p4, f, 2, 0); + test1(l9, p4, p6, f, 2, 2); + test1(l9, p6, f, f, 2, 2); + l9.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l9.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l9.removeHierarchyListener(this); + l9.removeHierarchyBoundsListener(this); + + l10.addHierarchyListener(this); + l10.addHierarchyBoundsListener(this); + test1(l10, l10, p4, f, 1, 0); + test1(l10, p4, p6, f, 1, 1); + test1(l10, p6, f, f, 1, 1); + l10.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l10.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test1(l10, l10, p4, f, 2, 0); + test1(l10, p4, p6, f, 2, 2); + test1(l10, p6, f, f, 2, 2); + l10.removeHierarchyListener(this); + l10.removeHierarchyBoundsListener(this); + l10.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l10.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + + + // test4 + + l1.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l10.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l1.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l10.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(l1, f, l10, p4, f); + l1.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l10.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l1.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l10.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l2.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l9.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l2.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l9.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(l2, f, l9, p4, f); + l2.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l9.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l2.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l9.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l3.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l8.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l3.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l8.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(l3, p1, l8, p3, f); + l3.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l8.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l3.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l8.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l4.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l7.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l4.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l7.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(l4, p1, l7, p3, f); + l4.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l7.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l4.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l7.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + l5.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l6.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l5.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l6.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(l5, p2, l6, p2, f); + l5.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l6.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + l5.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + l6.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + p1.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p4.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p1.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p4.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(p1, f, p4, p6, f); + p1.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p4.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p1.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p4.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + p2.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p3.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p2.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p3.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(p2, f, p3, p5, f); + p2.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p3.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p2.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p3.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + + p5.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p6.pubEnableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p5.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p6.pubEnableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + test2(p5, f, p6, f, f); + p5.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p6.pubDisableEvents(AWTEvent.HIERARCHY_EVENT_MASK); + p5.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + p6.pubDisableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); + } + + System.out.println("passed"); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/InputEvent/MouseModsTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/InputEvent/MouseModsTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/InputEvent/MouseModsTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/InputEvent/MouseModsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,286 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4353201 + @summary Wrong modifiers on InputEvent + @key headful + @run main MouseModsTest +*/ + +import java.awt.AWTEvent; +import java.awt.AWTException; +import java.awt.Canvas; +import java.awt.Color; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.MouseInfo; +import java.awt.Panel; +import java.awt.Point; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; +import java.lang.reflect.InvocationTargetException; + +public class MouseModsTest { + static volatile int testCtrl = 0; + static volatile int testBtn = 0; + static volatile boolean passed = true; + + static final int BUTTONS = Math.min(3, MouseInfo.getNumberOfButtons()); + static final int KEYS = 2; + + static Frame frame; + static Panel panel; + static Canvas button1; + static Canvas button2; + + static volatile Point pt1; + static volatile Point pt2; + + public static void main(String args[]) throws AWTException, + InterruptedException, InvocationTargetException { + + EventQueue.invokeAndWait(() -> { + frame = new Frame("MouseModsTest"); + panel = new Panel(); + button1 = new TestCanvas(); + button2 = new TestCanvas(); + frame.setSize(300, 200); + panel.add(button1); + panel.add(button2); + frame.add(panel); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + + try { + Robot robot; + robot = new Robot(); + robot.setAutoWaitForIdle(true); + robot.setAutoDelay(50); + robot.delay(1000); + + EventQueue.invokeAndWait(() -> { + pt1 = button1.getLocationOnScreen(); + pt2 = button2.getLocationOnScreen(); + + pt1.x += button1.getSize().width / 2; + pt1.y += button1.getSize().height / 2; + + pt2.x += button2.getSize().width / 2; + pt2.y += button2.getSize().height / 2; + }); + + robot.mouseMove(pt2.x, pt2.y); + + //Keyboard to Mouse Test + for (int ctrl = 1; ctrl <= KEYS; ++ctrl) { + testCtrl = ctrl; + robot.keyPress(getKeycode(ctrl)); + robot.keyPress(KeyEvent.VK_A); + robot.keyRelease(KeyEvent.VK_A); + for (int btn = 2; btn <= BUTTONS; ++btn) { + testBtn = btn; + robot.mousePress(getMouseModifier(btn)); + robot.mouseMove(pt1.x, pt1.y); + robot.mouseMove(pt2.x, pt2.y); + robot.mouseRelease(getMouseModifier(btn)); + } + robot.keyRelease(getKeycode(ctrl)); + } + + //Mouse to Mouse Test + for (int btn1 = 1; btn1 <= BUTTONS; ++btn1) { + testBtn = btn1; + robot.mousePress(getMouseModifier(btn1)); + for (int btn = 1; btn <= BUTTONS; ++btn) { + if (btn == btn1) continue; + testBtn = btn; + robot.mousePress(getMouseModifier(btn)); + robot.mouseMove(pt1.x, pt1.y); + robot.mouseMove(pt2.x, pt2.y); + robot.mouseRelease(getMouseModifier(btn)); + } + testBtn = btn1; + robot.mouseRelease(getMouseModifier(btn1)); + } + testBtn = 0; + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + + if (!passed) { + throw new RuntimeException("Test Failed"); + } + } + + static int getKeycode(int ctrl) { + switch (ctrl) { + case 1: return KeyEvent.VK_SHIFT; + case 2: return KeyEvent.VK_CONTROL; + case 3: return KeyEvent.VK_ALT; + default: return 0; + } + } + + static int getKeyModifier(int ctrl) { + switch (ctrl) { + case 1: return InputEvent.SHIFT_MASK; + case 2: return InputEvent.CTRL_MASK; + case 3: return InputEvent.ALT_MASK; + default: return 0; + } + } + + static int getMouseModifier(int btn) { + switch (btn) { + case 1: return InputEvent.BUTTON1_MASK; + case 2: return InputEvent.BUTTON2_MASK; + case 3: return InputEvent.BUTTON3_MASK; + default: return 0; + } + } + + static final int allKeyMods = + InputEvent.SHIFT_MASK + | InputEvent.CTRL_MASK + | InputEvent.ALT_MASK; + + static final int allMouseMods = + InputEvent.BUTTON1_MASK + | InputEvent.BUTTON2_MASK + | InputEvent.BUTTON3_MASK; + + static void printInputEvent(InputEvent e) { + System.out.println(e); + if (e.isAltDown()) { + System.out.println("Alt is Down"); + } + if (e.isControlDown()) { + System.out.println("Ctrl is Down"); + } + if (e.isShiftDown()) { + System.out.println("Shift is Down"); + } + if (e.isMetaDown()) { + System.out.println("Meta is Down"); + } + } + + static class TestCanvas extends Canvas { + public TestCanvas() { + setSize(100, 100); + setBackground(Color.blue); + enableEvents(AWTEvent.MOUSE_EVENT_MASK + | AWTEvent.MOUSE_MOTION_EVENT_MASK + | AWTEvent.KEY_EVENT_MASK); + } + + protected void processMouseEvent(MouseEvent e) { + try { + if (testBtn == 0) { + return; + } + if (e.getID() == MouseEvent.MOUSE_ENTERED + || e.getID() == MouseEvent.MOUSE_EXITED) + { + if ((e.getModifiers() & getMouseModifier(testBtn)) != 0) { + System.out.println("Mouse modifiers on MOUSE_ENTERED, MOUSE_EXITED are set"); + } else { + printInputEvent(e); + System.out.println("Cur mods = " + (e.getModifiers() & allMouseMods) + " Wanted = " + + getMouseModifier(testBtn)); + passed = false; + throw new RuntimeException("Mouse modifiers on MOUSE_ENTERED, MOUSE_EXITED aren't set"); + } + } + if (e.getID() == MouseEvent.MOUSE_PRESSED + || e.getID() == MouseEvent.MOUSE_RELEASED) + { + if ((e.getModifiers() & getMouseModifier(testBtn)) != 0) { + System.out.println("Right Mouse modifiers on MOUSE_PRESSED, MOUSE_RELEASED"); + } else { + printInputEvent(e); + System.out.println("Cur mods = " + (e.getModifiers() & allMouseMods) + " Wanted = " + + getMouseModifier(testBtn)); + passed = false; + throw new RuntimeException("Wrong Mouse modifiers on MOUSE_PRESSED, MOUSE_RELEASED"); + } + } + } finally { + synchronized (frame) { + frame.notify(); + } + } + } + + protected void processMouseMotionEvent(MouseEvent e) { + try { + if (testBtn == 0) { + return; + } + if (e.getID() == MouseEvent.MOUSE_DRAGGED) { + if ((e.getModifiers() & getMouseModifier(testBtn)) != 0) { + System.out.println("Mouse modifiers on MOUSE_DRAGGED are set"); + } else { + printInputEvent(e); + System.out.println("Cur mods = " + (e.getModifiers() & allMouseMods) + " Wanted = " + + getMouseModifier(testBtn)); + passed = false; + throw new RuntimeException("Mouse modifiers on MOUSE_DRAGGED aren't set"); + } + } + } finally { + synchronized (frame) { + frame.notify(); + } + } + } + + protected void processKeyEvent(KeyEvent e) { + try { + if (e.getKeyCode() != KeyEvent.VK_A) { + return; + } + if ((e.getModifiers() & getKeyModifier(testCtrl)) != 0) { + System.out.println("Right Key modifiers on KeyEvent"); + } else { + printInputEvent(e); + passed = false; + throw new RuntimeException("Wrong Key modifiers on KeyEvent"); + } + } finally { + synchronized (frame) { + frame.notify(); + } + } + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/InvocationEvent/CatchingThrowableTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/InvocationEvent/CatchingThrowableTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/InvocationEvent/CatchingThrowableTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/InvocationEvent/CatchingThrowableTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4403712 + @summary Error thrown in InvokeAndWait runnable causes hang + @run main CatchingThrowableTest +*/ + +import java.awt.EventQueue; + +public class CatchingThrowableTest { + public static void main(String args[]) { + try { + EventQueue.invokeAndWait(() -> { + throw new RuntimeException("My Error"); + }); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } catch (java.lang.reflect.InvocationTargetException ex) { + ex.printStackTrace(); + } + + System.err.println("Test passed."); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/KeyEvent/AltGraphModifier.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/KeyEvent/AltGraphModifier.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/KeyEvent/AltGraphModifier.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/KeyEvent/AltGraphModifier.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4343344 + @summary Tests key modifiers when ALT_GRAPH key is pressed by Robot. + @key headful + @requires (os.family != "mac") + @run main AltGraphModifier +*/ + +import java.awt.AWTException; +import java.awt.Color; +import java.awt.EventQueue; +import java.awt.FlowLayout; +import java.awt.Frame; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.lang.reflect.InvocationTargetException; + + +public class AltGraphModifier { + static Frame frame; + + static final int[] modifierKeys = { + KeyEvent.VK_ALT_GRAPH + }; + + static final int[] inputMasks = { + InputEvent.ALT_GRAPH_DOWN_MASK + }; + + static boolean[] modifierPress = new boolean[modifierKeys.length]; + + static volatile boolean modKeys; + static int modKeyCount; + static volatile boolean failed = false; + + + public static void main (String args[]) throws + InterruptedException, InvocationTargetException, AWTException { + + EventQueue.invokeAndWait(() -> { + frame = new Frame("Modifier Robot Key BUG"); + frame.setLayout(new FlowLayout()); + frame.setSize(200, 200); + frame.addKeyListener(new KeyListener() { + @Override + public void keyTyped(KeyEvent e) { + } + + @Override + public void keyPressed(KeyEvent kp){ + System.out.println(kp); + if (modKeys == true) { + for (int i=0; i < modifierKeys.length; i++) { + if (modifierPress[i] == true) { + if ((kp.getModifiersEx() & inputMasks[i]) == inputMasks[i]) { + } else { + failed = true; + } + } + } + } + } + + @Override + public void keyReleased(KeyEvent kr){ + } + }); + frame.setBackground(Color.blue); + frame.setVisible(true); + }); + + try { + Robot robot = new Robot(); + + robot.delay(1000); + robot.mouseMove((int) (frame.getLocationOnScreen().getX() + + frame.getWidth() / 2), + (int) (frame.getLocationOnScreen().getY() + + frame.getHeight() / 2)); + robot.delay(1000); + robot.setAutoDelay(1000); + + //Imbed operations here + modKeys = true; + + for (modKeyCount = 0; modKeyCount < modifierKeys.length; modKeyCount++) { + //Press the Modifier Key + modifierPress[modKeyCount] = true; + robot.keyPress(modifierKeys[modKeyCount]); + + frame.requestFocus(); + robot.delay(1000); + + //Press the Modifier Key + modifierPress[modKeyCount] = false; + robot.keyRelease(modifierKeys[modKeyCount]); + robot.delay(1000); + } + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + + if (failed) { + throw new RuntimeException("FAIL MESSAGE ---- Modifier " + +" Mask is not set when the Key : " + +"AltGraph" + + " Key is pressed by Robot.\n"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/KeyEvent/KeyTyped/CancelKeyTyped.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/KeyEvent/KeyTyped/CancelKeyTyped.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/KeyEvent/KeyTyped/CancelKeyTyped.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/KeyEvent/KeyTyped/CancelKeyTyped.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4754155 + * @summary Tests that KeyTyped events are fired for the Cancel key + * and that no extraneous characters are entered as a result + * @key headful + * @run main CancelKeyTyped + */ + +import java.awt.AWTException; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Robot; +import java.awt.TextField; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.lang.reflect.InvocationTargetException; + + +public class CancelKeyTyped { + static volatile boolean cancelKeyTypedReceived = false; + static Frame frame; + static TextField tf; + static final String ORIGINAL = "0123456789"; + + public static void main(String[] args) throws AWTException, + InterruptedException, InvocationTargetException { + try { + Robot robot = new Robot(); + robot.setAutoWaitForIdle(true); + robot.setAutoDelay(100); + + EventQueue.invokeAndWait(CancelKeyTyped::init); + robot.waitForIdle(); + robot.delay(1000); + + // Press and release Cancel + robot.keyPress(KeyEvent.VK_CANCEL); + robot.keyRelease(KeyEvent.VK_CANCEL); + + if (cancelKeyTypedReceived) { + if (tf.getText().equals(ORIGINAL)) { + System.out.println("Test PASSED"); + } else { + System.out.println("Test FAILED: wrong string"); + throw new RuntimeException("The test failed: wrong string: " + + tf.getText()); + } + } + } finally { + EventQueue.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } + + public static void init() { + frame = new Frame("CancelKeyTyped"); + tf = new TextField(ORIGINAL, 20); + frame.add(tf); + frame.setSize(300, 100); + frame.setVisible(true); + frame.validate(); + + tf.requestFocusInWindow(); + + tf.addKeyListener(new KeyListener() { + @Override + public void keyTyped(KeyEvent evt) { + printKey(evt); + + int keychar = evt.getKeyChar(); + if (keychar == 24) { // Cancel character is 24 or \u0018 + cancelKeyTypedReceived = true; + } + } + + @Override + public void keyPressed(KeyEvent evt) { + printKey(evt); + } + + @Override + public void keyReleased(KeyEvent evt) { + printKey(evt); + } + + protected void printKey(KeyEvent evt) { + switch (evt.getID()) { + case KeyEvent.KEY_TYPED: + case KeyEvent.KEY_PRESSED: + case KeyEvent.KEY_RELEASED: + break; + default: + return; + } + + System.out.println("params= " + evt.paramString() + " \n" + + "KeyChar: " + evt.getKeyChar() + " = " + + (int) evt.getKeyChar() + + " KeyCode: " + evt.getKeyCode() + + " Modifiers: " + evt.getModifiersEx()); + + if (evt.isActionKey()) { + System.out.println("Action Key"); + } + + System.out.println("keyText= " + + evt.getKeyText(evt.getKeyCode()) + "\n"); + } + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2007, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.FlowLayout; +import java.awt.Frame; +import java.awt.List; +import java.awt.Point; +import java.awt.Robot; +import java.awt.TextArea; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; + +/* + * @test + * @key headful + * @bug 4454304 + * @summary On Solaris, TextArea triggers MouseEntered when the mouse is inside the component + * @run main MouseEnterExitTest + */ +public class MouseEnterExitTest { + + private static Frame frame; + + private volatile static boolean entered = false; + private volatile static boolean exited = false; + private volatile static boolean passed = true; + + private volatile static Point compAt; + private volatile static Dimension compSize; + + private static final MouseListener mouseListener = new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + System.out.println( + "MouseEntered component " + e.getSource().getClass().getName()); + if (entered) { + passed = false; + } + entered = true; + exited = false; + } + + @Override + public void mouseExited(MouseEvent e) { + System.out.println( + "MouseExited component " + e.getSource().getClass().getName()); + if (exited) { + passed = false; + } + entered = false; + exited = true; + } + }; + + private static void initializeGUI() { + frame = new Frame("MouseEnterExitTest"); + frame.setLayout(new FlowLayout()); + List list = new List(4); + for (int i = 0; i < 10; i++) { + list.add("item " + i); + } + list.addMouseListener(mouseListener); + frame.add(list); + + TextArea textArea = new TextArea("TextArea", 10, 20); + textArea.addMouseListener(mouseListener); + frame.add(textArea); + + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + public static void main(String[] args) throws Exception { + try { + Robot robot = new Robot(); + robot.setAutoDelay(100); + robot.setAutoWaitForIdle(true); + + EventQueue.invokeAndWait(MouseEnterExitTest::initializeGUI); + robot.waitForIdle(); + + EventQueue.invokeAndWait(() -> { + compAt = frame.getLocationOnScreen(); + compSize = frame.getSize(); + }); + compAt.y += compSize.getHeight() / 2; + int xr = compAt.x + compSize.width + 1; + for (int i = compAt.x - 5; (i < xr) && passed; i++) { + robot.mouseMove(i, compAt.y); + } + + if (!passed || entered || !exited) { + throw new RuntimeException( + "MouseEnterExitTest FAILED. MouseEntered/MouseExited " + + "not properly triggered. Please see the log"); + } + System.out.println("Test PASSED"); + } finally { + EventQueue.invokeAndWait(MouseEnterExitTest::disposeFrame); + } + } + + private static void disposeFrame() { + if (frame != null) { + frame.dispose(); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/event/MouseWheelEvent/WheelModifier/WheelModifier.java openjdk-11-11.0.23+9/test/jdk/java/awt/event/MouseWheelEvent/WheelModifier/WheelModifier.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/event/MouseWheelEvent/WheelModifier/WheelModifier.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/event/MouseWheelEvent/WheelModifier/WheelModifier.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,32 +21,55 @@ * questions. */ -/* - @test - @key headful - @bug 8041470 - @summary JButtons stay pressed after they have lost focus if you use the mouse wheel - @author Anton Nashatyrev - */ - -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; +import java.awt.AWTEvent; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Point; +import java.awt.Robot; +import java.awt.Toolkit; +import java.awt.event.AWTEventListener; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.SwingUtilities; + +/* + * @test + * @key headful + * @bug 8041470 + * @summary JButtons stay pressed after they have lost focus if you use the mouse wheel + */ public class WheelModifier { JFrame f; JButton fb; - CountDownLatch pressSema = new CountDownLatch(1); - CountDownLatch exitSema = new CountDownLatch(1); - CountDownLatch releaseSema = new CountDownLatch(1); + final CountDownLatch focusSema = new CountDownLatch(1); + final CountDownLatch pressSema = new CountDownLatch(1); + final CountDownLatch exitSema = new CountDownLatch(1); + final CountDownLatch releaseSema = new CountDownLatch(1); volatile CountDownLatch wheelSema; + private volatile Point sLoc; + private volatile Dimension bSize; + void createGui() { f = new JFrame("frame"); fb = new JButton("frame_button"); + + fb.addFocusListener(new FocusAdapter() { + @Override + public void focusGained(FocusEvent focusEvent) { + focusSema.countDown(); + } + }); + fb.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { @@ -57,7 +80,6 @@ @Override public void mouseEntered(MouseEvent e) { System.out.println("WheelModifier.mouseEntered: " + e); - } @Override @@ -94,41 +116,66 @@ } void run() throws Exception { + System.out.println("# Started"); + if (!focusSema.await(2, TimeUnit.SECONDS)) { + throw new RuntimeException("Didn't receive focus in time"); + } + Robot r = new Robot(); r.waitForIdle(); - System.out.println("# Started"); - Point sLoc = fb.getLocationOnScreen(); - Dimension bSize = fb.getSize(); + SwingUtilities.invokeAndWait(() -> { + sLoc = fb.getLocationOnScreen(); + bSize = fb.getSize(); + }); + r.mouseMove(sLoc.x + bSize.width / 2, sLoc.y + bSize.height / 2); - r.mousePress(MouseEvent.BUTTON1_MASK); - pressSema.await(); + r.mousePress(MouseEvent.BUTTON1_DOWN_MASK); + if (!pressSema.await(2, TimeUnit.SECONDS)) { + throw new RuntimeException("Mouse is not pressed"); + } System.out.println("# Pressed"); r.mouseMove(sLoc.x + bSize.width / 2, sLoc.y + bSize.height * 2); - exitSema.await(); + if (!exitSema.await(1, TimeUnit.SECONDS)) { + throw new RuntimeException("Mouse did not exit"); + } System.out.println("# Exited"); wheelSema = new CountDownLatch(1); r.mouseWheel(1); - wheelSema.await(); + if (!wheelSema.await(1, TimeUnit.SECONDS)) { + throw new RuntimeException("Mouse is not wheeled 1"); + } System.out.println("# Wheeled 1"); wheelSema = new CountDownLatch(1); r.mouseWheel(-1); - wheelSema.await(); + if (!wheelSema.await(1, TimeUnit.SECONDS)) { + throw new RuntimeException("Mouse is not wheeled 2"); + } System.out.println("# Wheeled 2"); - r.mouseRelease(MouseEvent.BUTTON1_MASK); - releaseSema.await(); + r.mouseRelease(MouseEvent.BUTTON1_DOWN_MASK); + if (!releaseSema.await(1, TimeUnit.SECONDS)) { + throw new RuntimeException("Mouse is not released"); + } System.out.println("# Released!"); } public static void main(String[] args) throws Exception { WheelModifier test = new WheelModifier(); - SwingUtilities.invokeAndWait(() -> test.createGui()); - test.run(); + try { + SwingUtilities.invokeAndWait(test::createGui); + test.run(); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (test.f != null) { + test.f.dispose(); + } + }); + } System.out.println("Done."); } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java openjdk-11-11.0.23+9/test/jdk/java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -40,7 +40,7 @@ public class MultiResolutionImageObserverTest { - private static final int TIMEOUT = 500; + private static final int TIMEOUT = 2000; public static void main(String[] args) throws Exception { @@ -70,7 +70,7 @@ long endTime = System.currentTimeMillis() + TIMEOUT; while (!observer.loaded && System.currentTimeMillis() < endTime) { - Thread.sleep(TIMEOUT / 10); + Thread.sleep(TIMEOUT / 100); } if (!observer.loaded) { @@ -101,7 +101,7 @@ private static class LoadImageObserver implements ImageObserver { private final int infoflags; - private boolean loaded; + private volatile boolean loaded; public LoadImageObserver(int flags) { this.infoflags = flags; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/awt/regtesthelpers/PassFailJFrame.java openjdk-11-11.0.23+9/test/jdk/java/awt/regtesthelpers/PassFailJFrame.java --- openjdk-11-11.0.22+7/test/jdk/java/awt/regtesthelpers/PassFailJFrame.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/awt/regtesthelpers/PassFailJFrame.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,30 +21,47 @@ * questions. */ +import java.awt.AWTException; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; +import java.awt.Image; import java.awt.Insets; import java.awt.Rectangle; +import java.awt.Robot; import java.awt.Toolkit; import java.awt.Window; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.awt.image.RenderedImage; +import java.io.File; +import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import javax.imageio.ImageIO; import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JComponent; import javax.swing.JDialog; +import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JLabel; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.Timer; - +import javax.swing.text.JTextComponent; +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.StyleSheet; import static javax.swing.SwingUtilities.invokeAndWait; import static javax.swing.SwingUtilities.isEventDispatchThread; @@ -68,8 +85,13 @@ private static volatile boolean failed; private static volatile boolean timeout; private static volatile String testFailedReason; + + private static final AtomicInteger imgCounter = new AtomicInteger(0); + private static JFrame frame; + private static Robot robot; + public enum Position {HORIZONTAL, VERTICAL, TOP_LEFT_CORNER} public PassFailJFrame(String instructions) throws InterruptedException, @@ -114,21 +136,69 @@ public PassFailJFrame(String title, String instructions, long testTimeOut, int rows, int columns) throws InterruptedException, InvocationTargetException { + this(title, instructions, testTimeOut, rows, columns, false); + } + + /** + * Constructs a JFrame with a given title & serves as test instructional + * frame where the user follows the specified test instruction in order + * to test the test case & mark the test pass or fail. If the expected + * result is seen then the user click on the 'Pass' button else click + * on the 'Fail' button and the reason for the failure should be + * specified in the JDialog JTextArea. + *

+ * The test instruction frame also provides a way for the tester to take + * a screenshot (full screen or individual frame) if this feature + * is enabled by passing {@code true} as {@code enableScreenCapture} + * parameter. + * + * @param title title of the Frame. + * @param instructions the instruction for the tester on how to test + * and what is expected (pass) and what is not + * expected (fail). + * @param testTimeOut test timeout where time is specified in minutes. + * @param rows number of visible rows of the JTextArea where the + * instruction is show. + * @param columns Number of columns of the instructional + * JTextArea + * @param enableScreenCapture if set to true, 'Capture Screen' button & its + * associated UIs are added to test instruction + * frame + * @throws InterruptedException exception thrown when thread is + * interrupted + * @throws InvocationTargetException if an exception is thrown while + * creating the test instruction frame on + * EDT + */ + public PassFailJFrame(String title, String instructions, long testTimeOut, + int rows, int columns, + boolean enableScreenCapture) throws InterruptedException, + InvocationTargetException { if (isEventDispatchThread()) { - createUI(title, instructions, testTimeOut, rows, columns); + createUI(title, instructions, testTimeOut, rows, columns, + enableScreenCapture); } else { invokeAndWait(() -> createUI(title, instructions, testTimeOut, - rows, columns)); + rows, columns, enableScreenCapture)); } } + private PassFailJFrame(Builder builder) throws InterruptedException, + InvocationTargetException { + this(builder.title, builder.instructions, builder.testTimeOut, + builder.rows, builder.columns, builder.screenCapture); + } + private static void createUI(String title, String instructions, - long testTimeOut, int rows, int columns) { + long testTimeOut, int rows, int columns, + boolean enableScreenCapture) { frame = new JFrame(title); frame.setLayout(new BorderLayout()); - JTextArea instructionsText = new JTextArea(instructions, rows, columns); - instructionsText.setEditable(false); - instructionsText.setLineWrap(true); + + JTextComponent text = instructions.startsWith("") + ? configureHTML(instructions, rows, columns) + : configurePlainText(instructions, rows, columns); + text.setEditable(false); long tTimeout = TimeUnit.MINUTES.toMillis(testTimeOut); @@ -149,7 +219,7 @@ }); timer.start(); frame.add(testTimeoutLabel, BorderLayout.NORTH); - frame.add(new JScrollPane(instructionsText), BorderLayout.CENTER); + frame.add(new JScrollPane(text), BorderLayout.CENTER); JButton btnPass = new JButton("Pass"); btnPass.addActionListener((e) -> { @@ -167,6 +237,10 @@ buttonsPanel.add(btnPass); buttonsPanel.add(btnFail); + if (enableScreenCapture) { + buttonsPanel.add(createCapturePanel()); + } + frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { @@ -184,6 +258,117 @@ windowList.add(frame); } + private static JTextComponent configurePlainText(String instructions, + int rows, int columns) { + JTextArea text = new JTextArea(instructions, rows, columns); + text.setLineWrap(true); + text.setWrapStyleWord(true); + return text; + } + + private static JTextComponent configureHTML(String instructions, + int rows, int columns) { + JEditorPane text = new JEditorPane("text/html", instructions); + text.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, + Boolean.TRUE); + // Set preferred size as if it were JTextArea + text.setPreferredSize(new JTextArea(rows, columns).getPreferredSize()); + + HTMLEditorKit kit = (HTMLEditorKit) text.getEditorKit(); + StyleSheet styles = kit.getStyleSheet(); + // Reduce the default margins + styles.addRule("ol, ul { margin-left-ltr: 20; margin-left-rtl: 20 }"); + // Make the size of code blocks the same as other text + styles.addRule("code { font-size: inherit }"); + + return text; + } + + private static JComponent createCapturePanel() { + JComboBox screenShortType = new JComboBox<>(CaptureType.values()); + + JButton capture = new JButton("ScreenShot"); + capture.addActionListener((e) -> + captureScreen((CaptureType) screenShortType.getSelectedItem())); + + JPanel panel = new JPanel(); + panel.add(screenShortType); + panel.add(capture); + return panel; + } + + private enum CaptureType { + FULL_SCREEN("Capture Full Screen"), + WINDOWS("Capture Individual Frame"); + + private final String type; + CaptureType(String type) { + this.type = type; + } + + @Override + public String toString() { + return type; + } + } + + private static Robot createRobot() { + if (robot == null) { + try { + robot = new Robot(); + } catch (AWTException e) { + String errorMsg = "Failed to create an instance of Robot."; + JOptionPane.showMessageDialog(frame, errorMsg, "Failed", + JOptionPane.ERROR_MESSAGE); + forceFail(errorMsg + e.getMessage()); + } + } + return robot; + } + + private static void captureScreen(Rectangle bounds) { + Robot robot = createRobot(); + + List imageList = robot.createMultiResolutionScreenCapture(bounds) + .getResolutionVariants(); + Image image = imageList.get(imageList.size() - 1); + + File file = new File("CaptureScreen_" + + imgCounter.incrementAndGet() + ".png"); + try { + ImageIO.write((RenderedImage) image, "png", file); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private static void captureScreen(CaptureType type) { + switch (type) { + case FULL_SCREEN: + Arrays.stream(GraphicsEnvironment.getLocalGraphicsEnvironment() + .getScreenDevices()) + .map(GraphicsDevice::getDefaultConfiguration) + .map(GraphicsConfiguration::getBounds) + .forEach(PassFailJFrame::captureScreen); + break; + + case WINDOWS: + windowList.stream() + .filter(Window::isShowing) + .map(Window::getBounds) + .forEach(PassFailJFrame::captureScreen); + break; + + default: + throw new IllegalStateException("Unexpected value of capture type"); + } + + JOptionPane.showMessageDialog(frame, + "Screen Captured Successfully", + "Screen Capture", + JOptionPane.INFORMATION_MESSAGE); + } + private static String convertMillisToTimeStr(long millis) { if (millis < 0) { return "00:00:00"; @@ -421,4 +606,72 @@ testFailedReason = FAILURE_REASON + reason; latch.countDown(); } + + public static class Builder { + private String title; + private String instructions; + private long testTimeOut; + private int rows; + private int columns; + private boolean screenCapture = false; + + public Builder title(String title) { + this.title = title; + return this; + } + + public Builder instructions(String instructions) { + this.instructions = instructions; + return this; + } + + public Builder testTimeOut(long testTimeOut) { + this.testTimeOut = testTimeOut; + return this; + } + + public Builder rows(int rows) { + this.rows = rows; + return this; + } + + public Builder columns(int columns) { + this.columns = columns; + return this; + } + + public Builder screenCapture() { + this.screenCapture = true; + return this; + } + + public PassFailJFrame build() throws InterruptedException, + InvocationTargetException { + validate(); + return new PassFailJFrame(this); + } + + private void validate() { + if (this.title == null) { + this.title = TITLE; + } + + if (this.instructions == null || this.instructions.length() == 0) { + throw new RuntimeException("Please provide the test " + + "instruction for this manual test"); + } + + if (this.testTimeOut == 0L) { + this.testTimeOut = TEST_TIMEOUT; + } + + if (this.rows == 0) { + this.rows = ROWS; + } + + if (this.columns == 0) { + this.columns = COLUMNS; + } + } + } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/io/File/createTempFile/SpecialTempFile.java openjdk-11-11.0.23+9/test/jdk/java/io/File/createTempFile/SpecialTempFile.java --- openjdk-11-11.0.22+7/test/jdk/java/io/File/createTempFile/SpecialTempFile.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/io/File/createTempFile/SpecialTempFile.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,7 +24,11 @@ /* * @test * @bug 8013827 8011950 8017212 8025128 + * @library /test/lib + * @modules java.base/jdk.internal.util * @summary Check whether File.createTempFile can handle special parameters + * @build jdk.test.lib.OSVersion jdk.test.lib.Platform + @run main SpecialTempFile * @author Dan Xu */ @@ -32,10 +36,11 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; -public class SpecialTempFile { +import jdk.test.lib.Platform; +import jdk.test.lib.OSVersion; +public class SpecialTempFile { private static void test(String name, String[] prefix, String[] suffix, boolean exceptionExpected) throws IOException { @@ -48,7 +53,7 @@ final String exceptionMsg = "Unable to create temporary file"; String[] dirs = { null, "." }; - Path testPath = Paths.get(System.getProperty("test.dir", ".")); + Path testPath = Path.of(System.getProperty("test.dir", ".")); for (int i = 0; i < prefix.length; i++) { boolean exceptionThrown = false; File f = null; @@ -99,12 +104,15 @@ test("SlashedName", slashPre, slashSuf, true); // Windows tests - if (!System.getProperty("os.name").startsWith("Windows")) + if (!Platform.isWindows()) return; // Test JDK-8013827 String[] resvPre = { "LPT1.package.zip", "com7.4.package.zip" }; String[] resvSuf = { ".temp", ".temp" }; - test("ReservedName", resvPre, resvSuf, true); + boolean exceptionExpected = + !(System.getProperty("os.name").endsWith("11") || + new OSVersion(10, 0).compareTo(OSVersion.current()) > 0); + test("ReservedName", resvPre, resvSuf, exceptionExpected); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/ModuleLayer/BasicLayerTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/BasicLayerTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/ModuleLayer/BasicLayerTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/BasicLayerTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,9 +23,10 @@ /** * @test - * @library /lib/testlibrary + * @library /test/lib * @modules java.base/jdk.internal.misc - * @build BasicLayerTest ModuleUtils + * @build BasicLayerTest + * jdk.test.lib.util.ModuleUtils * @compile layertest/Test.java * @run testng BasicLayerTest * @summary Basic tests for java.lang.ModuleLayer @@ -41,6 +42,8 @@ import java.util.Set; import java.util.stream.Collectors; +import jdk.test.lib.util.ModuleUtils; + import jdk.internal.misc.SharedSecrets; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/ModuleLayer/LayerAndLoadersTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/LayerAndLoadersTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/ModuleLayer/LayerAndLoadersTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/LayerAndLoadersTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,9 +23,11 @@ /** * @test - * @library /lib/testlibrary /test/lib + * @library /test/lib * @modules jdk.compiler - * @build LayerAndLoadersTest jdk.test.lib.compiler.CompilerUtils ModuleUtils + * @build LayerAndLoadersTest + * jdk.test.lib.compiler.CompilerUtils + * jdk.test.lib.util.ModuleUtils * @run testng LayerAndLoadersTest * @summary Tests for java.lang.ModuleLayer@defineModulesWithXXX methods */ @@ -54,6 +56,7 @@ import java.util.stream.Collectors; import jdk.test.lib.compiler.CompilerUtils; +import jdk.test.lib.util.ModuleUtils; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/ModuleLayer/LayerControllerTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/LayerControllerTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/ModuleLayer/LayerControllerTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/ModuleLayer/LayerControllerTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,8 +23,9 @@ /** * @test - * @library /lib/testlibrary - * @build LayerControllerTest ModuleUtils + * @library /test/lib + * @build LayerControllerTest + * jdk.test.lib.util.ModuleUtils * @run testng LayerControllerTest * @summary Basic tests for java.lang.ModuleLayer.Controller */ @@ -35,6 +36,8 @@ import java.util.List; import java.util.Set; +import jdk.test.lib.util.ModuleUtils; + import org.testng.annotations.Test; import static org.testng.Assert.*; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/StackWalker/StackWalkTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/StackWalker/StackWalkTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/StackWalker/StackWalkTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/StackWalker/StackWalkTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -60,6 +60,7 @@ "java.lang.reflect.Method", "com.sun.javatest.regtest.MainWrapper$MainThread", "com.sun.javatest.regtest.agent.MainWrapper$MainThread", + "com.sun.javatest.regtest.agent.MainWrapper$MainTask", "java.lang.Thread" )); static final List> streamPipelines = Arrays.asList( diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh openjdk-11-11.0.23+9/test/jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh --- openjdk-11-11.0.22+7/test/jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -64,7 +64,18 @@ # java Setup # - outputs boot class path to boot.dir -"$JAVA" ${TESTVMOPTS} -classpath "${TESTCLASSES}" Setup "${TESTCLASSES}" Agent +OS=`uname -s` +case ${OS} in + CYGWIN*) + CYGWIN="CYGWIN" + ;; + *) + CYGWIN="" + ;; +esac + +"$JAVA" ${TESTVMOPTS} -classpath "${TESTCLASSES}" Setup "${TESTCLASSES}" Agent "${CYGWIN}" + BOOTDIR=`cat ${TESTCLASSES}/boot.dir` echo "Created ${BOOTDIR}" diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/instrument/BootClassPath/Setup.java openjdk-11-11.0.23+9/test/jdk/java/lang/instrument/BootClassPath/Setup.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/instrument/BootClassPath/Setup.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/instrument/BootClassPath/Setup.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -45,6 +45,10 @@ } String workDir = args[0]; String premainClass = args[1]; + boolean isCygwin = false; + if (args.length==3 && args[2].equals("CYGWIN")) { + isCygwin = true; + } String manifestFile = workDir + fileSeparator + "MANIFEST.MF"; String bootClassPath = "boot" + suffix(); @@ -87,7 +91,12 @@ */ f = new File(workDir + fileSeparator + "boot.dir"); try (FileOutputStream out = new FileOutputStream(f)) { - out.write(bootDir.getBytes(defaultEncoding)); + if (osName.startsWith("Windows") && isCygwin) { + out.write(bootDir.getBytes("UTF-8")); + } + else { + out.write(bootDir.getBytes(defaultEncoding)); + } } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,10 +25,10 @@ * @test LFGarbageCollectedTest * @bug 8046703 * @key randomness + * @library /lib/testlibrary /java/lang/invoke/common * @ignore 8078602 * @summary Test verifies that lambda forms are garbage collected * @author kshefov - * @library /lib/testlibrary /java/lang/invoke/common * @build jdk.test.lib.TimeLimitedRunner * @build TestMethods * @build LambdaFormTestCase diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/management/ThreadMXBean/MaxDepthForThreadInfoTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/management/ThreadMXBean/MaxDepthForThreadInfoTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/management/ThreadMXBean/MaxDepthForThreadInfoTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/management/ThreadMXBean/MaxDepthForThreadInfoTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -47,7 +47,7 @@ ThreadInfo[] tinfos = tmxb.getThreadInfo(threadIds, true, true, 0); for (ThreadInfo ti : tinfos) { - if (ti.getStackTrace().length > 0) { + if (ti != null && ti.getStackTrace().length > 0) { ThreadDump.printThreadInfo(ti); throw new RuntimeException("more than requested " + "number of frames dumped"); @@ -56,7 +56,7 @@ tinfos = tmxb.getThreadInfo(threadIds, true, true, 3); for (ThreadInfo ti : tinfos) { - if (ti.getStackTrace().length > 3) { + if (ti != null && ti.getStackTrace().length > 3) { ThreadDump.printThreadInfo(ti); throw new RuntimeException("more than requested " + "number of frames dumped"); diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/module/AutomaticModulesTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/module/AutomaticModulesTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/module/AutomaticModulesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/module/AutomaticModulesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,9 +23,10 @@ /** * @test - * @library /lib/testlibrary /test/lib - * @build AutomaticModulesTest ModuleUtils + * @library /test/lib + * @build AutomaticModulesTest * jdk.test.lib.util.JarUtils + * jdk.test.lib.util.ModuleUtils * @run testng AutomaticModulesTest * @summary Basic tests for automatic modules */ @@ -50,6 +51,7 @@ import java.util.stream.Stream; import jdk.test.lib.util.JarUtils; +import jdk.test.lib.util.ModuleUtils; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/module/ConfigurationTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/module/ConfigurationTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/module/ConfigurationTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/module/ConfigurationTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,10 +23,11 @@ /** * @test - * @library /lib/testlibrary + * @library /test/lib * @modules java.base/jdk.internal.misc * java.base/jdk.internal.module - * @build ConfigurationTest ModuleUtils + * @build ConfigurationTest + * jdk.test.lib.util.ModuleUtils * @run testng ConfigurationTest * @summary Basic tests for java.lang.module.Configuration */ @@ -47,6 +48,8 @@ import java.util.Optional; import java.util.Set; +import jdk.test.lib.util.ModuleUtils; + import jdk.internal.misc.SharedSecrets; import jdk.internal.module.ModuleInfoWriter; import jdk.internal.module.ModuleTarget; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/lang/ref/ReachabilityFenceTest.java openjdk-11-11.0.23+9/test/jdk/java/lang/ref/ReachabilityFenceTest.java --- openjdk-11-11.0.22+7/test/jdk/java/lang/ref/ReachabilityFenceTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/lang/ref/ReachabilityFenceTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,11 +27,11 @@ * * @requires vm.opt.DeoptimizeALot != true * - * @run main/othervm -Xint -Dpremature=false ReachabilityFenceTest - * @run main/othervm -XX:TieredStopAtLevel=1 -Dpremature=true ReachabilityFenceTest - * @run main/othervm -XX:TieredStopAtLevel=2 -Dpremature=true ReachabilityFenceTest - * @run main/othervm -XX:TieredStopAtLevel=3 -Dpremature=true ReachabilityFenceTest - * @run main/othervm -XX:TieredStopAtLevel=4 -Dpremature=true ReachabilityFenceTest + * @run main/othervm -Xint -Dpremature=false ReachabilityFenceTest + * @run main/othervm -Xbatch -XX:TieredStopAtLevel=1 -Dpremature=true ReachabilityFenceTest + * @run main/othervm -Xbatch -XX:TieredStopAtLevel=2 -Dpremature=true ReachabilityFenceTest + * @run main/othervm -Xbatch -XX:TieredStopAtLevel=3 -Dpremature=true ReachabilityFenceTest + * @run main/othervm -Xbatch -XX:TieredStopAtLevel=4 -Dpremature=true ReachabilityFenceTest */ import java.lang.ref.Reference; @@ -54,7 +54,7 @@ * the object cannot be finalized. There is no sense running a positive test when premature finalization * is not expected. It is a job for negative test to verify that invariant. * - * The test methods should be appropriately compiled, therefore we do several iterations. + * The test methods should be appropriately compiled, therefore we do several iterations and run with -Xbatch. */ // Enough to OSR and compile diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,431 @@ +/* + * Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8054022 + * @summary Verify that expect 100-continue doesn't hang + * @library /test/lib + * @run junit/othervm HttpURLConnectionExpectContinueTest + * @run junit/othervm -Djava.net.preferIPv4Stack=true HttpURLConnectionExpectContinueTest + * @run junit/othervm -Djava.net.preferIPv6Addresses=true HttpURLConnectionExpectContinueTest + */ + +import jdk.test.lib.net.URIBuilder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.*; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.logging.Level; +import java.util.logging.Logger; + +import static org.junit.Assert.assertTrue; + +public class HttpURLConnectionExpectContinueTest { + + private static class Control { + volatile ServerSocket serverSocket = null; + volatile boolean stop = false; + volatile boolean respondWith100Continue = false; + volatile boolean write100ContinueTwice = false; + volatile String response = null; + } + + private static Thread serverThread = null; + private static volatile Control control; + static final Logger logger; + + static { + control = new Control(); + logger = Logger.getLogger("sun.net.www.protocol.http.HttpURLConnection"); + logger.setLevel(Level.ALL); + Logger.getLogger("").getHandlers()[0].setLevel(Level.ALL); + } + + @BeforeClass + public static void startServerSocket() throws Exception { + + control.serverSocket = new ServerSocket(); + control.serverSocket.setReuseAddress(true); + control.serverSocket.bind(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0)); + Runnable runnable = () -> { + while (!control.stop) { + try { + Socket socket = control.serverSocket.accept(); + InputStream inputStream = socket.getInputStream(); + InputStreamReader inputStreamReader = new InputStreamReader(inputStream); + + StringBuilder stringBuilder = new StringBuilder(); + + // Read initial request + byte b; + while (true) { + b = (byte) inputStreamReader.read(); + stringBuilder.append((char) b); + + if (stringBuilder.length() >= 4) { + char[] lastBytes = new char[4]; + stringBuilder.getChars( + stringBuilder.length() - 4, + stringBuilder.length(), lastBytes, 0); + if (Arrays.equals(lastBytes, new char[]{'\r', '\n', '\r', '\n'})) { + break; + } + } + } + + OutputStream outputStream = socket.getOutputStream(); + + String header = stringBuilder.toString(); + String contentLengthString = "Content-Length:"; + + // send 100 continue responses if set by test + if (control.respondWith100Continue) { + outputStream.write("HTTP/1.1 100 Continue\r\n\r\n".getBytes()); + outputStream.flush(); + if (control.write100ContinueTwice) { + outputStream.write("HTTP/1.1 100 Continue\r\n\r\n".getBytes()); + outputStream.flush(); + } + } + + // expect main request to be received + int idx = header.indexOf(contentLengthString); + + if (idx >= 0) { + String substr = header.substring(idx + contentLengthString.length()); + idx = substr.indexOf('\r'); + substr = substr.substring(0, idx); + int contentLength = Integer.parseInt(substr.trim()); + + StringBuilder contentLengthBuilder = new StringBuilder(); + for (int i = 0; i < contentLength; i++) { + b = (byte) inputStreamReader.read(); + contentLengthBuilder.append((char) b); + } + + } else { + StringBuilder contentLengthBuilder = new StringBuilder(); + while (true) { + b = (byte) inputStreamReader.read(); + contentLengthBuilder.append((char) b); + + if (contentLengthBuilder.length() >= 2) { + char[] lastBytes = new char[2]; + contentLengthBuilder.getChars( + contentLengthBuilder.length() - 2, + contentLengthBuilder.length(), lastBytes, 0); + if (Arrays.equals(lastBytes, new char[]{'\r', '\n'})) { + String lengthInHex = + contentLengthBuilder.substring(0, contentLengthBuilder.length() - 2); + + int contentLength = Integer.parseInt(lengthInHex, 16); + char[] body = new char[contentLength]; + inputStreamReader.read(body); + break; + // normally we have to parse more data, + // but for simplicity we expect no more chunks... + } + } + } + } + + // send response + outputStream.write(control.response.getBytes()); + outputStream.flush(); + } catch (SocketException e) { + // ignore + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }; + serverThread = new Thread(runnable); + serverThread.start(); + } + + @AfterClass + public static void stopServerSocket() throws Exception { + control.stop = true; + control.serverSocket.close(); + serverThread.join(); + } + + @Test + public void testNonChunkedRequestAndNoExpect100ContinueResponse() throws Exception { + String body = "testNonChunkedRequestAndNoExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = false; + control.write100ContinueTwice = false; + + HttpURLConnection connection = createConnection(); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testNonChunkedRequestWithExpect100ContinueResponse() throws Exception { + String body = "testNonChunkedRequestWithExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = true; + control.write100ContinueTwice = false; + + HttpURLConnection connection = createConnection(); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testNonChunkedRequestWithDoubleExpect100ContinueResponse() throws Exception { + String body = "testNonChunkedRequestWithDoubleExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = true; + control.write100ContinueTwice = true; + + HttpURLConnection connection = createConnection(); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testChunkedRequestAndNoExpect100ContinueResponse() throws Exception { + String body = "testChunkedRequestAndNoExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = false; + control.write100ContinueTwice = false; + + HttpURLConnection connection = createConnection(); + connection.setChunkedStreamingMode(body.length() / 2); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testChunkedRequestWithExpect100ContinueResponse() throws Exception { + String body = "testChunkedRequestWithExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = true; + control.write100ContinueTwice = false; + + HttpURLConnection connection = createConnection(); + connection.setChunkedStreamingMode(body.length() / 2); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testChunkedRequestWithDoubleExpect100ContinueResponse() throws Exception { + String body = "testChunkedRequestWithDoubleExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = true; + control.write100ContinueTwice = true; + + HttpURLConnection connection = createConnection(); + connection.setChunkedStreamingMode(body.length() / 2); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testFixedLengthRequestAndNoExpect100ContinueResponse() throws Exception { + String body = "testFixedLengthRequestAndNoExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = false; + control.write100ContinueTwice = false; + + HttpURLConnection connection = createConnection(); + connection.setFixedLengthStreamingMode(body.length()); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testFixedLengthRequestWithExpect100ContinueResponse() throws Exception { + String body = "testFixedLengthRequestWithExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = true; + control.write100ContinueTwice = false; + + HttpURLConnection connection = createConnection(); + connection.setFixedLengthStreamingMode(body.getBytes().length); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + @Test + public void testFixedLengthRequestWithDoubleExpect100ContinueResponse() throws Exception { + String body = "testFixedLengthRequestWithDoubleExpect100ContinueResponse"; + control.response = "HTTP/1.1 200 OK\r\n" + + "Connection: close\r\n" + + "Content-Length: " + body.length() + "\r\n" + + "\r\n" + + body + "\r\n"; + control.respondWith100Continue = true; + control.write100ContinueTwice = true; + + HttpURLConnection connection = createConnection(); + connection.setFixedLengthStreamingMode(body.getBytes().length); + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(body.getBytes()); + outputStream.close(); + + int responseCode = connection.getResponseCode(); + String responseBody = new String(connection.getInputStream().readAllBytes(), StandardCharsets.UTF_8).strip(); + System.err.println("response body: " + responseBody); + assertTrue(String.format("Expected 200 response, instead received %s", responseCode), + responseCode == 200); + assertTrue(String.format("Expected response %s, instead received %s", body, responseBody), + body.equals(responseBody)); + } + + // Creates a connection with all the common settings used in each test + private HttpURLConnection createConnection() throws Exception { + URL url = URIBuilder.newBuilder() + .scheme("http") + .loopback() + .port(control.serverSocket.getLocalPort()) + .toURL(); + + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setDoOutput(true); + connection.setReadTimeout(5000); + connection.setUseCaches(false); + connection.setInstanceFollowRedirects(false); + connection.setRequestMethod("POST"); + connection.setRequestProperty("Connection", "Close"); + connection.setRequestProperty("Expect", "100-Continue"); + + return connection; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -33,12 +33,12 @@ /* * @test * @bug 8169415 - * @library /lib/testlibrary/ + * @library /test/lib * @modules java.logging * java.base/sun.net.www * java.base/sun.net.www.protocol.http * jdk.httpserver/sun.net.httpserver - * @build jdk.testlibrary.SimpleSSLContext HTTPTest HTTPTestServer HTTPTestClient HTTPSetAuthenticatorTest + * @build jdk.test.lib.net.SimpleSSLContext HTTPTest HTTPTestServer HTTPTestClient HTTPSetAuthenticatorTest * @summary A simple HTTP test that starts an echo server supporting the given * authentication scheme, then starts a regular HTTP client to invoke it. * The client first does a GET request on "/", then follows on diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -39,16 +39,16 @@ import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /* * @test * @bug 8169415 - * @library /lib/testlibrary/ + * @library /test/lib * @modules java.logging * java.base/sun.net.www * jdk.httpserver/sun.net.httpserver - * @build jdk.testlibrary.SimpleSSLContext HTTPTest HTTPTestServer HTTPTestClient + * @build jdk.test.lib.net.SimpleSSLContext HTTPTest HTTPTestServer HTTPTestClient * @summary A simple HTTP test that starts an echo server supporting Digest * authentication, then starts a regular HTTP client to invoke it. * The client first does a GET request on "/", then follows on diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/URLPermission/URLTest.java openjdk-11-11.0.23+9/test/jdk/java/net/URLPermission/URLTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/URLPermission/URLTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/URLPermission/URLTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,8 +26,8 @@ * @test * @bug 8010464 * @modules jdk.httpserver - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm URLTest * @summary check URLPermission with Http(s)URLConnection */ @@ -38,7 +38,7 @@ import java.util.concurrent.*; import com.sun.net.httpserver.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; public class URLTest { diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ALPNProxyFailureTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ALPNProxyFailureTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ALPNProxyFailureTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ALPNProxyFailureTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,8 +27,8 @@ * when a 'Connection reset by peer' exception is raised * during the handshake. * @bug 8217094 - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters DigestEchoServer + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters DigestEchoServer * ALPNFailureTest ALPNProxyFailureTest * @modules java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -43,7 +43,7 @@ */ import javax.net.ServerSocketFactory; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import java.net.InetAddress; import java.net.ProxySelector; import java.net.ServerSocket; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractNoBody.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractNoBody.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractNoBody.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractNoBody.java 2024-04-08 05:38:38.000000000 +0000 @@ -35,7 +35,7 @@ import com.sun.net.httpserver.HttpsServer; import java.net.http.HttpClient; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractThrowingPublishers.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingPublishers.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractThrowingPublishers.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingPublishers.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,7 +24,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.SkipException; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,8 +29,8 @@ * Concrete tests that extend this abstract class will need to include * the following jtreg tags: * - * @library /test/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises * * @modules java.base/sun.net.www.http @@ -40,7 +40,7 @@ * @run testng/othervm -Djdk.internal.httpclient.debug=true */ -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.SkipException; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,7 +24,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.SkipException; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AsFileDownloadTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AsFileDownloadTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AsFileDownloadTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AsFileDownloadTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,9 +31,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @build jdk.test.lib.Platform * @build jdk.test.lib.util.FileUtils * @run testng/othervm AsFileDownloadTest @@ -67,7 +67,7 @@ import java.util.Locale; import java.util.Map; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import jdk.test.lib.util.FileUtils; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AsFileDownloadTest.policy openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AsFileDownloadTest.policy --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AsFileDownloadTest.policy 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AsFileDownloadTest.policy 2024-04-08 05:38:38.000000000 +0000 @@ -21,10 +21,10 @@ // questions. // -// for JTwork/classes/0/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.class -grant codeBase "file:${test.classes}/../../../../lib/testlibrary/-" { +// for JTwork/classes/0/test/lib/jdk/test/lib/net/SimpleSSLContext.class +grant codeBase "file:${test.classes}/../../../../test/lib/-" { permission java.util.PropertyPermission "test.src.path", "read"; - permission java.io.FilePermission "${test.src}/../../../lib/testlibrary/jdk/testlibrary/testkeys", "read"; + permission java.io.FilePermission "${test.src}/../../../../lib/jdk/test/lib/net/testkeys", "read"; }; // for JTwork//classes/0/java/net/httpclient/http2/server/* diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AuthFilterCacheTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AuthFilterCacheTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/AuthFilterCacheTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/AuthFilterCacheTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -46,8 +46,8 @@ * @test * @bug 8232853 * @summary AuthenticationFilter.Cache::remove may throw ConcurrentModificationException - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters DigestEchoServer + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters DigestEchoServer * @modules java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame * java.net.http/jdk.internal.net.http.hpack @@ -71,7 +71,7 @@ static { try { - context = new jdk.testlibrary.SimpleSSLContext().get(); + context = new jdk.test.lib.net.SimpleSSLContext().get(); SSLContext.setDefault(context); } catch (Exception x) { throw new ExceptionInInitializerError(x); diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/BasicRedirectTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/BasicRedirectTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/BasicRedirectTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/BasicRedirectTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,9 +30,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=trace,headers,requests * BasicRedirectTest @@ -53,7 +53,7 @@ import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CancelledResponse.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CancelledResponse.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CancelledResponse.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CancelledResponse.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,7 +26,7 @@ import java.net.http.HttpHeaders; import java.net.http.HttpRequest; import java.net.http.HttpResponse; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import javax.net.ServerSocketFactory; import javax.net.ssl.SSLContext; @@ -55,9 +55,9 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary + * @library /test/lib * @modules java.net.http/jdk.internal.net.http.common - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer ReferenceTracker * @run main/othervm CancelledResponse * @run main/othervm CancelledResponse SSL diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ConcurrentResponses.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ConcurrentResponses.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ConcurrentResponses.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ConcurrentResponses.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,9 +32,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=headers,errors,channel * ConcurrentResponses @@ -67,7 +67,7 @@ import java.net.http.HttpResponse.BodyHandlers; import java.net.http.HttpResponse.BodySubscriber; import java.net.http.HttpResponse.BodySubscribers; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CookieHeaderTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CookieHeaderTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CookieHeaderTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CookieHeaderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,9 +31,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.tls.acknowledgeCloseNotify=true * -Djdk.httpclient.HttpClient.log=trace,headers,requests @@ -43,7 +43,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CustomRequestPublisher.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CustomRequestPublisher.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CustomRequestPublisher.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CustomRequestPublisher.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,9 +30,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm CustomRequestPublisher */ @@ -62,7 +62,7 @@ import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CustomResponseSubscriber.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CustomResponseSubscriber.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/CustomResponseSubscriber.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/CustomResponseSubscriber.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @summary Tests response body subscribers's onComplete is not invoked before onSubscribe - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -57,7 +57,7 @@ import java.net.http.HttpResponse.BodySubscriber; import java.net.http.HttpResponse.BodySubscribers; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DependentActionsTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DependentActionsTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DependentActionsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DependentActionsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @summary Verify that dependent synchronous actions added before the CF * completes are executed either asynchronously in an executor when the * CF later completes, or in the user thread that joins. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters DependentActionsTest + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters DependentActionsTest * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -43,7 +43,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeTest; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DependentPromiseActionsTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DependentPromiseActionsTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DependentPromiseActionsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DependentPromiseActionsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @summary Verify that dependent synchronous actions added before the promise CF * completes are executed either asynchronously in an executor when the * CF later completes, or in the user thread that joins. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters DependentPromiseActionsTest + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters DependentPromiseActionsTest * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -40,7 +40,7 @@ import java.io.BufferedReader; import java.io.InputStreamReader; import java.lang.StackWalker.StackFrame; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeTest; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DigestEchoClient.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DigestEchoClient.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DigestEchoClient.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DigestEchoClient.java 2024-04-08 05:38:38.000000000 +0000 @@ -51,7 +51,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import sun.net.NetProperties; import sun.net.www.HeaderParser; import static java.lang.System.out; @@ -62,8 +62,8 @@ * @summary this test verifies that a client may provides authorization * headers directly when connecting with a server. * @bug 8087112 - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters DigestEchoServer + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters DigestEchoServer * ReferenceTracker DigestEchoClient * @modules java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DigestEchoClientSSL.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DigestEchoClientSSL.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/DigestEchoClientSSL.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/DigestEchoClientSSL.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @bug 8087112 * @summary this test verifies that a client may provides authorization * headers directly when connecting with a server over SSL. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext DigestEchoServer + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext DigestEchoServer * DigestEchoClient ReferenceTracker DigestEchoClientSSL * @modules java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/EchoHandler.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EchoHandler.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/EchoHandler.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EchoHandler.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Random; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import static java.net.http.HttpRequest.*; import static java.net.http.HttpResponse.*; import java.util.logging.ConsoleHandler; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/EncodedCharsInURI.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EncodedCharsInURI.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/EncodedCharsInURI.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EncodedCharsInURI.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @bug 8199683 * @summary Tests that escaped characters in URI are correctly * handled (not re-escaped and not unescaped) - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters EncodedCharsInURI + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters EncodedCharsInURI * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -42,7 +42,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterClass; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/EscapedOctetsInURI.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EscapedOctetsInURI.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/EscapedOctetsInURI.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/EscapedOctetsInURI.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,9 +31,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=reqeusts,headers * EscapedOctetsInURI @@ -58,7 +58,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ExpectContinue.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ExpectContinue.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ExpectContinue.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ExpectContinue.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @summary Basic test for Expect 100-Continue ( HTTP/1.1 only ) * @modules java.net.http * jdk.httpserver - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm ExpectContinue */ @@ -49,7 +49,7 @@ import java.net.http.HttpResponse.BodyHandlers; import java.util.List; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/FlowAdapterPublisherTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/FlowAdapterPublisherTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/FlowAdapterPublisherTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/FlowAdapterPublisherTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -43,7 +43,7 @@ import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; @@ -67,9 +67,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm FlowAdapterPublisherTest */ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/FlowAdapterSubscriberTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/FlowAdapterSubscriberTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/FlowAdapterSubscriberTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/FlowAdapterSubscriberTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,7 +48,7 @@ import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import java.net.http.HttpResponse.BodySubscribers; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; @@ -68,9 +68,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm -Djdk.internal.httpclient.debug=true FlowAdapterSubscriberTest */ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ForbiddenHeadTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ForbiddenHeadTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ForbiddenHeadTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ForbiddenHeadTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -34,9 +34,9 @@ * java.base/sun.net.www.http * java.base/sun.net.www * java.base/sun.net - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build HttpServerAdapters DigestEchoServer Http2TestServer ForbiddenHeadTest - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.http.auth.tunneling.disabledSchemes * -Djdk.httpclient.HttpClient.log=headers,requests @@ -47,7 +47,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.SkipException; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HeadTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HeadTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HeadTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HeadTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,9 +31,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=trace,headers,requests * HeadTest @@ -42,7 +42,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpClientBuilderTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpClientBuilderTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpClientBuilderTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpClientBuilderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -48,7 +48,7 @@ import java.net.http.HttpClient; import java.net.http.HttpClient.Redirect; import java.net.http.HttpClient.Version; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.Test; import static java.time.Duration.*; import static org.testng.Assert.*; @@ -56,8 +56,8 @@ /* * @test * @summary HttpClient[.Builder] API and behaviour checks - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run testng HttpClientBuilderTest */ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpEchoHandler.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpEchoHandler.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpEchoHandler.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpEchoHandler.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,7 +32,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Random; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import static java.net.http.HttpRequest.*; import static java.net.http.HttpResponse.*; import java.util.logging.ConsoleHandler; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpVersionsTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpVersionsTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpVersionsTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpVersionsTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,9 +30,9 @@ * java.net.http/jdk.internal.net.http.frame * java.net.http/jdk.internal.net.http.hpack * java.logging - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @build jdk.test.lib.Platform * @run testng/othervm HttpVersionsTest */ @@ -48,7 +48,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpsTunnelTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpsTunnelTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/HttpsTunnelTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/HttpsTunnelTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,7 +23,7 @@ import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import javax.net.ssl.SSLContext; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -50,8 +50,8 @@ * a new h2 connection to the new host. It also verifies that * the stack sends the appropriate "host" header to the proxy. * @bug 8196967 8222527 - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters DigestEchoServer HttpsTunnelTest + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters DigestEchoServer HttpsTunnelTest * @modules java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame * java.net.http/jdk.internal.net.http.hpack diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ImmutableFlowItems.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ImmutableFlowItems.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ImmutableFlowItems.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ImmutableFlowItems.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests response body subscribers's onNext's Lists are unmodifiable, * and that the buffers are read-only - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -57,7 +57,7 @@ import java.net.http.HttpResponse.BodySubscriber; import java.net.http.HttpResponse.BodySubscribers; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @summary Tests an asynchronous BodySubscriber that completes * immediately with an InputStream which issues bad * requests - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext ReferenceTracker + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext ReferenceTracker * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -38,7 +38,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterClass; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/InvalidSSLContextTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidSSLContextTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/InvalidSSLContextTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidSSLContextTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Test to ensure the HTTP client throws an appropriate SSL exception * when SSL context is not valid. - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm -Djdk.internal.httpclient.debug=true InvalidSSLContextTest */ @@ -48,7 +48,7 @@ import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.Assert; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,8 +27,8 @@ * @summary Tests an asynchronous BodySubscriber that completes * immediately with a Publisher> whose * subscriber issues bad requests - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext ReferenceTracker + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext ReferenceTracker * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -39,7 +39,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/LightWeightHttpServer.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/LightWeightHttpServer.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/LightWeightHttpServer.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/LightWeightHttpServer.java 2024-04-08 05:38:38.000000000 +0000 @@ -22,8 +22,8 @@ */ /** - * library /lib/testlibrary/ / - * build jdk.testlibrary.SimpleSSLContext ProxyServer + * library /test/lib / + * build jdk.test.lib.net.SimpleSSLContext ProxyServer * compile ../../../com/sun/net/httpserver/LogFilter.java * compile ../../../com/sun/net/httpserver/EchoHandler.java * compile ../../../com/sun/net/httpserver/FileServerHandler.java @@ -50,7 +50,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; public class LightWeightHttpServer { diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/LineBodyHandlerTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/LineBodyHandlerTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/LineBodyHandlerTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/LineBodyHandlerTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -52,7 +52,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; @@ -77,9 +77,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer LineBodyHandlerTest HttpServerAdapters - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm LineBodyHandlerTest */ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ManyRequests.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequests.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ManyRequests.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequests.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,8 +27,8 @@ * @modules java.net.http * java.logging * jdk.httpserver - * @library /lib/testlibrary/ / - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @compile ../../../com/sun/net/httpserver/LogFilter.java * @compile ../../../com/sun/net/httpserver/EchoHandler.java * @compile ../../../com/sun/net/httpserver/FileServerHandler.java @@ -63,7 +63,7 @@ import java.util.logging.Level; import java.util.concurrent.CompletableFuture; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; public class ManyRequests { diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ManyRequests2.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequests2.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ManyRequests2.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequests2.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,8 +27,8 @@ * @modules java.net.http * java.logging * jdk.httpserver - * @library /lib/testlibrary/ / - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @compile ../../../com/sun/net/httpserver/LogFilter.java * @compile ../../../com/sun/net/httpserver/EchoHandler.java * @compile ../../../com/sun/net/httpserver/FileServerHandler.java @@ -36,8 +36,11 @@ * @run main/othervm/timeout=40 -Dtest.XFixed=true ManyRequests2 * @run main/othervm/timeout=40 -Dtest.XFixed=true -Dtest.insertDelay=true ManyRequests2 * @run main/othervm/timeout=40 -Dtest.XFixed=true -Dtest.chunkSize=64 ManyRequests2 - * @run main/othervm/timeout=40 -Djdk.internal.httpclient.debug=true -Dtest.XFixed=true -Dtest.insertDelay=true -Dtest.chunkSize=64 ManyRequests2 - * @summary Send a large number of requests asynchronously. The server echoes back using known content length. + * @run main/othervm/timeout=40 -Djdk.internal.httpclient.debug=true + * -Dtest.XFixed=true -Dtest.insertDelay=true + * -Dtest.chunkSize=64 ManyRequests2 + * @summary Send a large number of requests asynchronously. + * The server echoes back using known content length. */ // * @run main/othervm/timeout=40 -Djdk.httpclient.HttpClient.log=ssl ManyRequests diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ManyRequestsLegacy.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequestsLegacy.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ManyRequestsLegacy.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ManyRequestsLegacy.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,16 +26,19 @@ * @modules java.net.http * java.logging * jdk.httpserver - * @library /lib/testlibrary/ / - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @compile ../../../com/sun/net/httpserver/LogFilter.java * @compile ../../../com/sun/net/httpserver/EchoHandler.java * @compile ../../../com/sun/net/httpserver/FileServerHandler.java * @run main/othervm/timeout=40 ManyRequestsLegacy * @run main/othervm/timeout=40 -Dtest.insertDelay=true ManyRequestsLegacy * @run main/othervm/timeout=40 -Dtest.chunkSize=64 ManyRequestsLegacy - * @run main/othervm/timeout=40 -Dtest.insertDelay=true -Dtest.chunkSize=64 ManyRequestsLegacy - * @summary Send a large number of requests asynchronously using the legacy URL.openConnection(), to help sanitize results of the test ManyRequest.java. + * @run main/othervm/timeout=40 -Dtest.insertDelay=true + * -Dtest.chunkSize=64 ManyRequestsLegacy + * @summary Send a large number of requests asynchronously using the legacy + * URL.openConnection(), to help sanitize results of the test + * ManyRequest.java. */ import javax.net.ssl.HttpsURLConnection; @@ -70,7 +73,7 @@ import java.util.Random; import java.util.logging.Logger; import java.util.logging.Level; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; public class ManyRequestsLegacy { diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/MappingResponseSubscriber.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/MappingResponseSubscriber.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/MappingResponseSubscriber.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/MappingResponseSubscriber.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @summary Tests mapped response subscriber - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -62,7 +62,7 @@ import java.net.http.HttpResponse.BodySubscriber; import java.util.function.Function; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/MaxStreams.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/MaxStreams.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/MaxStreams.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/MaxStreams.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,9 +32,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm -ea -esa MaxStreams */ @@ -60,7 +60,7 @@ import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandler; import java.net.http.HttpResponse.BodyHandlers; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/NoBodyPartOne.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NoBodyPartOne.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/NoBodyPartOne.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NoBodyPartOne.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @bug 8161157 * @summary Test response body handlers/subscribers when there is no body - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/NoBodyPartTwo.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NoBodyPartTwo.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/NoBodyPartTwo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NoBodyPartTwo.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @bug 8161157 * @summary Test response body handlers/subscribers when there is no body - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/NonAsciiCharsInURI.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NonAsciiCharsInURI.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/NonAsciiCharsInURI.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/NonAsciiCharsInURI.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,9 +32,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @compile -encoding utf-8 NonAsciiCharsInURI.java * @run testng/othervm * -Djdk.httpclient.HttpClient.log=reqeusts,headers @@ -58,7 +58,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,8 +28,8 @@ * it verifies that the client honor the jdk.http.auth.*.disabledSchemes * net properties. * @bug 8087112 - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext DigestEchoServer DigestEchoClient + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext DigestEchoServer DigestEchoClient * ReferenceTracker ProxyAuthDisabledSchemes * @modules java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemesSSL.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemesSSL.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemesSSL.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemesSSL.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,8 +28,8 @@ * headers directly when connecting with a server over SSL, and * it verifies that the client honor the jdk.http.auth.*.disabledSchemes * net properties. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext DigestEchoServer DigestEchoClient + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext DigestEchoServer DigestEchoClient * ReferenceTracker ProxyAuthDisabledSchemesSSL * @modules java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxySelectorTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxySelectorTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxySelectorTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxySelectorTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -35,9 +35,9 @@ * java.base/sun.net.www.http * java.base/sun.net.www * java.base/sun.net - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build HttpServerAdapters DigestEchoServer Http2TestServer ProxySelectorTest - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.http.auth.tunneling.disabledSchemes * -Djdk.httpclient.HttpClient.log=headers,requests @@ -48,7 +48,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.SkipException; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxyTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ProxyTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ProxyTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -56,7 +56,7 @@ import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /** * @test @@ -67,8 +67,8 @@ * an SSL Tunnel connection when the client is HTTP/2 and the server * and proxy are HTTP/1.1 * @modules java.net.http - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext ProxyTest + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext ProxyTest * @run main/othervm ProxyTest * @author danielfuchs */ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RedirectMethodChange.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RedirectMethodChange.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RedirectMethodChange.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RedirectMethodChange.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,9 +29,9 @@ * java.net.http/jdk.internal.net.http.frame * java.net.http/jdk.internal.net.http.hpack * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm RedirectMethodChange */ @@ -50,7 +50,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RedirectWithCookie.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RedirectWithCookie.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RedirectWithCookie.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RedirectWithCookie.java 2024-04-08 05:38:38.000000000 +0000 @@ -30,9 +30,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=trace,headers,requests * RedirectWithCookie @@ -55,7 +55,7 @@ import java.net.http.HttpResponse.BodyHandlers; import java.util.List; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RequestBodyTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RequestBodyTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RequestBodyTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RequestBodyTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,11 +27,11 @@ * @modules java.net.http * java.logging * jdk.httpserver - * @library /lib/testlibrary/ /test/lib + * @library /test/lib * @compile ../../../com/sun/net/httpserver/LogFilter.java * @compile ../../../com/sun/net/httpserver/EchoHandler.java * @compile ../../../com/sun/net/httpserver/FileServerHandler.java - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @build LightWeightHttpServer * @build jdk.test.lib.Platform * @build jdk.test.lib.util.FileUtils diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RequestBodyTest.policy openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RequestBodyTest.policy --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RequestBodyTest.policy 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RequestBodyTest.policy 2024-04-08 05:38:38.000000000 +0000 @@ -27,10 +27,10 @@ permission java.io.FilePermission "RequestBodyTest.tmp", "read,delete"; }; -// for JTwork/classes/0/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.class -grant codeBase "file:${test.classes}/../../../../lib/testlibrary/-" { +// for JTwork/classes/0/test/lib/jdk/test/lib/net/SimpleSSLContext.class +grant codeBase "file:${test.classes}/../../../../test/lib/-" { permission java.util.PropertyPermission "test.src.path", "read"; - permission java.io.FilePermission "${test.src}/../../../lib/testlibrary/jdk/testlibrary/testkeys", "read"; + permission java.io.FilePermission "${test.src}/../../../../lib/jdk/test/lib/net/testkeys", "read"; }; grant codeBase "file:${test.classes}/*" { diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/Response204V2Test.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/Response204V2Test.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/Response204V2Test.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/Response204V2Test.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8238270 - * @library /lib/testlibrary/ http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib/ http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker Response204V2Test * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common @@ -58,7 +58,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.SkipException; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ResponseBodyBeforeError.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ResponseBodyBeforeError.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ResponseBodyBeforeError.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ResponseBodyBeforeError.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests that all response body is delivered to the BodySubscriber * before an abortive error terminates the flow - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm ResponseBodyBeforeError */ @@ -52,7 +52,7 @@ import java.util.concurrent.CompletionStage; import java.util.concurrent.ExecutionException; import java.util.concurrent.Flow; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ResponsePublisher.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ResponsePublisher.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ResponsePublisher.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ResponsePublisher.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @bug 8201186 * @summary Tests an asynchronous BodySubscriber that completes * immediately with a Publisher> - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -40,7 +40,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RetryWithCookie.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RetryWithCookie.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/RetryWithCookie.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/RetryWithCookie.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,9 +31,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext ReferenceTracker + * @build jdk.test.lib.net.SimpleSSLContext ReferenceTracker * @run testng/othervm * -Djdk.httpclient.HttpClient.log=trace,headers,requests * RetryWithCookie @@ -42,7 +42,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ServerCloseTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ServerCloseTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ServerCloseTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ServerCloseTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests that our client deals correctly with servers that * close the connection right after sending the last byte. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters EncodedCharsInURI + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters EncodedCharsInURI * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -35,7 +35,7 @@ */ //* -Djdk.internal.httpclient.debug=true -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterClass; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBody.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBody.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBody.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBody.java 2024-04-08 05:38:38.000000000 +0000 @@ -44,7 +44,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import java.util.stream.Stream; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.SkipException; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBodyGet.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyGet.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBodyGet.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyGet.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @bug 8216498 * @summary Tests Exception detail message when too few response bytes are * received before a socket exception or eof. - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext ShortResponseBody ShortResponseBodyGet + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext ShortResponseBody ShortResponseBodyGet * @run testng/othervm * -Djdk.httpclient.HttpClient.log=headers,errors,channel * ShortResponseBodyGet diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBodyPost.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyPost.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBodyPost.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyPost.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,8 +26,8 @@ * @bug 8216498 * @summary Tests Exception detail message when too few response bytes are * received before a socket exception or eof. - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext ShortResponseBody ShortResponseBodyPost + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext ShortResponseBody ShortResponseBodyPost * @run testng/othervm * -Djdk.httpclient.HttpClient.log=headers,errors,channel * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBodyPostWithRetry.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyPostWithRetry.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ShortResponseBodyPostWithRetry.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ShortResponseBodyPostWithRetry.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @summary Run of ShortResponseBodyPost with -Djdk.httpclient.enableAllMethodRetry - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build ShortResponseBody ShortResponseBodyPost * @run testng/othervm * -Djdk.httpclient.HttpClient.log=headers,errors,channel diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SmokeTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SmokeTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SmokeTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SmokeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,8 +27,8 @@ * @modules java.net.http * java.logging * jdk.httpserver - * @library /lib/testlibrary/ / - * @build jdk.testlibrary.SimpleSSLContext ProxyServer + * @library /test/lib / + * @build jdk.test.lib.net.SimpleSSLContext ProxyServer * @compile ../../../com/sun/net/httpserver/LogFilter.java * @compile ../../../com/sun/net/httpserver/FileServerHandler.java * @run main/othervm @@ -90,7 +90,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Random; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import static java.nio.file.StandardOpenOption.TRUNCATE_EXISTING; import static java.nio.file.StandardOpenOption.WRITE; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SpecialHeadersTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SpecialHeadersTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SpecialHeadersTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SpecialHeadersTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,9 +32,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer HttpServerAdapters SpecialHeadersTest - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=requests,headers,errors * SpecialHeadersTest @@ -46,7 +46,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponse.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponse.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponse.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponse.java 2024-04-08 05:38:38.000000000 +0000 @@ -40,7 +40,7 @@ import java.net.http.HttpResponse; import java.util.stream.Stream; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import static java.lang.System.out; import static java.lang.String.format; import static java.nio.charset.StandardCharsets.ISO_8859_1; @@ -49,8 +49,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseAsync.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseAsync.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseAsync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseAsync.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer SplitResponse * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseKeepAlive.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseKeepAlive.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseKeepAlive.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseKeepAlive.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer SplitResponse * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseKeepAliveAsync.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseKeepAliveAsync.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseKeepAliveAsync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseKeepAliveAsync.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer SplitResponse * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSL.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSL.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSL.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSL.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer SplitResponse * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSLAsync.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLAsync.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSLAsync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLAsync.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer SplitResponse * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSLKeepAlive.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLKeepAlive.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSLKeepAlive.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLKeepAlive.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer SplitResponse * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSLKeepAliveAsync.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLKeepAliveAsync.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/SplitResponseSSLKeepAliveAsync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/SplitResponseSSLKeepAliveAsync.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,8 @@ /** * @test * @bug 8087112 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @build MockServer SplitResponse * @run main/othervm * -Djdk.internal.httpclient.debug=true diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/StreamingBody.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/StreamingBody.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/StreamingBody.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/StreamingBody.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,9 +31,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=trace,headers,requests * StreamingBody @@ -53,7 +53,7 @@ import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import javax.net.ssl.SSLContext; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersCustomAfterCancel * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersCustomBeforeCancel * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersIOAfterCancel * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersIOBeforeCancel * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersInNextRequest * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersInRequest * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersInSubscribe * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersSanity.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersSanity.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPublishersSanity.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPublishersSanity.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when request publishers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPublishers ThrowingPublishersSanity * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when push promise handlers and their * response body handlers and subscribers throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises ThrowingPushPromisesAsInputStreamCustom * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when push promise handlers and their * response body handlers and subscribers throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises ThrowingPushPromisesAsInputStreamIO * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when push promise handlers and their * response body handlers and subscribers throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises ThrowingPushPromisesAsLinesCustom * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when push promise handlers and their * response body handlers and subscribers throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises ThrowingPushPromisesAsLinesIO * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when push promise handlers and their * response body handlers and subscribers throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises ThrowingPushPromisesAsStringCustom * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when push promise handlers and their * response body handlers and subscribers throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises ThrowingPushPromisesAsStringIO * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when push promise handlers and their * response body handlers and subscribers throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker AbstractThrowingPushPromises ThrowingPushPromisesSanity * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when response body handlers and subscribers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker ThrowingSubscribersAsInputStream AbstractThrowingSubscribers * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when response body handlers and subscribers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker ThrowingSubscribersAsInputStreamAsync AbstractThrowingSubscribers * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when response body handlers and subscribers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker ThrowingSubscribersAsLines AbstractThrowingSubscribers * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when response body handlers and subscribers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker ThrowingSubscribersAsLinesAsync AbstractThrowingSubscribers * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when response body handlers and subscribers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker ThrowingSubscribersAsString AbstractThrowingSubscribers * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when response body handlers and subscribers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker ThrowingSubscribersAsStringAsync AbstractThrowingSubscribers * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,8 +25,8 @@ * @test * @summary Tests what happens when response body handlers and subscribers * throw unexpected exceptions. - * @library /lib/testlibrary http2/server - * @build jdk.testlibrary.SimpleSSLContext HttpServerAdapters + * @library /test/lib http2/server + * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters * ReferenceTracker ThrowingSubscribersSanity AbstractThrowingSubscribers * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/TimeoutBasic.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/TimeoutBasic.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/TimeoutBasic.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/TimeoutBasic.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import java.net.http.HttpTimeoutException; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import javax.net.ServerSocketFactory; import javax.net.ssl.SSLContext; @@ -46,8 +46,8 @@ /** * @test - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @summary Basic tests for response timeouts * @run main/othervm TimeoutBasic */ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/UnauthorizedTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UnauthorizedTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/UnauthorizedTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UnauthorizedTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -35,9 +35,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary /test/lib http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.httpclient.HttpClient.log=headers * UnauthorizedTest @@ -46,7 +46,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/UnknownBodyLengthTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UnknownBodyLengthTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/UnknownBodyLengthTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UnknownBodyLengthTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -39,13 +39,13 @@ import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; /** * @test * @bug 8207966 - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @run main/othervm -Djdk.httpclient.enableAllMethodRetry * -Djdk.tls.acknowledgeCloseNotify=true UnknownBodyLengthTest plain false * @run main/othervm -Djdk.httpclient.enableAllMethodRetry diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/UserCookieTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UserCookieTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/UserCookieTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/UserCookieTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -32,9 +32,9 @@ * java.net.http/jdk.internal.net.http.hpack * java.logging * jdk.httpserver - * @library /lib/testlibrary http2/server + * @library /test/lib http2/server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm * -Djdk.tls.acknowledgeCloseNotify=true * -Djdk.httpclient.HttpClient.log=trace,headers,requests @@ -76,7 +76,7 @@ import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/dependent.policy openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/dependent.policy --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/dependent.policy 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/dependent.policy 2024-04-08 05:38:38.000000000 +0000 @@ -21,10 +21,10 @@ // questions. // -// for JTwork/classes/0/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.class -grant codeBase "file:${test.classes}/../../../../lib/testlibrary/-" { +// for JTwork/classes/0/test/lib/jdk/test/lib/net/SimpleSSLContext.class +grant codeBase "file:${test.classes}/../../../../test/lib/-" { permission java.util.PropertyPermission "test.src.path", "read"; - permission java.io.FilePermission "${test.src}/../../../lib/testlibrary/jdk/testlibrary/testkeys", "read"; + permission java.io.FilePermission "${test.src}/../../../../lib/jdk/test/lib/net/testkeys", "read"; }; // for JTwork//classes/0/java/net/httpclient/http2/server/* diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/BadHeadersTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/BadHeadersTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/BadHeadersTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/BadHeadersTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,9 +27,9 @@ * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame * java.net.http/jdk.internal.net.http.hpack - * @library /lib/testlibrary server + * @library /test/lib server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm -Djdk.internal.httpclient.debug=true BadHeadersTest */ @@ -38,7 +38,7 @@ import jdk.internal.net.http.frame.HeaderFrame; import jdk.internal.net.http.frame.HeadersFrame; import jdk.internal.net.http.frame.Http2Frame; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/BasicTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/BasicTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/BasicTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/BasicTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8087112 - * @library /lib/testlibrary server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -47,7 +47,7 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.Test; import static java.net.http.HttpClient.Version.HTTP_2; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ContinuationFrameTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ContinuationFrameTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ContinuationFrameTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ContinuationFrameTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,9 +28,9 @@ * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame * java.net.http/jdk.internal.net.http.hpack - * @library /lib/testlibrary server + * @library /test/lib server * @build Http2TestServer - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @run testng/othervm ContinuationFrameTest */ @@ -55,7 +55,7 @@ import jdk.internal.net.http.frame.HeaderFrame; import jdk.internal.net.http.frame.HeadersFrame; import jdk.internal.net.http.frame.Http2Frame; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ErrorTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ErrorTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ErrorTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ErrorTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8157105 - * @library /lib/testlibrary server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -46,7 +46,7 @@ import javax.net.ssl.SSLParameters; import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import static java.net.http.HttpClient.Version.HTTP_2; import org.testng.annotations.Test; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/FixedThreadPoolTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/FixedThreadPoolTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/FixedThreadPoolTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/FixedThreadPoolTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8087112 8177935 - * @library /lib/testlibrary server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -40,7 +40,7 @@ import javax.net.ssl.*; import java.nio.file.*; import java.util.concurrent.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import static java.net.http.HttpClient.Version.HTTP_2; import org.testng.annotations.Test; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ImplicitPushCancel.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ImplicitPushCancel.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ImplicitPushCancel.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ImplicitPushCancel.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,8 +23,8 @@ /* * @test - * @library /lib/testlibrary server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/NoBodyTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/NoBodyTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/NoBodyTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/NoBodyTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8087112 - * @library /lib/testlibrary/ server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame @@ -45,7 +45,7 @@ import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import java.util.concurrent.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.Test; import static java.net.http.HttpClient.Version.HTTP_2; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ProxyTest2.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ProxyTest2.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ProxyTest2.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ProxyTest2.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -52,7 +52,7 @@ import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import java.util.concurrent.*; /** @@ -61,12 +61,12 @@ * @summary Verifies that you can access an HTTP/2 server over HTTPS by * tunnelling through an HTTP/1.1 proxy. * @modules java.net.http - * @library /lib/testlibrary server + * @library /test/lib server * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame * java.net.http/jdk.internal.net.http.hpack - * @build jdk.testlibrary.SimpleSSLContext ProxyTest2 + * @build jdk.test.lib.net.SimpleSSLContext ProxyTest2 * @run main/othervm ProxyTest2 * @author danielfuchs */ diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/RedirectTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/RedirectTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/RedirectTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/RedirectTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8156514 - * @library /lib/testlibrary server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ServerPush.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ServerPush.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ServerPush.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ServerPush.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8087112 8159814 - * @library /lib/testlibrary server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ServerPushWithDiffTypes.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ServerPushWithDiffTypes.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/http2/ServerPushWithDiffTypes.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/http2/ServerPushWithDiffTypes.java 2024-04-08 05:38:38.000000000 +0000 @@ -23,8 +23,8 @@ /* * @test - * @library /lib/testlibrary server - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib server + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.net.www.http * java.net.http/jdk.internal.net.http.common * java.net.http/jdk.internal.net.http.frame diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/security/Driver.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/security/Driver.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/security/Driver.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/security/Driver.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,12 +24,11 @@ /* * @test * @bug 8087112 - * @library /lib/testlibrary/ * @library /test/lib * @modules java.net.http * java.logging * jdk.httpserver - * @build jdk.testlibrary.SimpleSSLContext jdk.test.lib.Utils + * @build jdk.test.lib.net.SimpleSSLContext jdk.test.lib.Utils * @compile ../../../../com/sun/net/httpserver/LogFilter.java * @compile ../../../../com/sun/net/httpserver/FileServerHandler.java * @compile ../ProxyServer.java diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/security/Security.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/security/Security.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/security/Security.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/security/Security.java 2024-04-08 05:38:38.000000000 +0000 @@ -27,8 +27,8 @@ * @modules java.net.http * java.logging * jdk.httpserver - * @library /lib/testlibrary/ - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @compile ../../../../com/sun/net/httpserver/LogFilter.java * @compile ../../../../com/sun/net/httpserver/FileServerHandler.java * @compile ../ProxyServer.java diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/websocket/HandshakeUrlEncodingTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/HandshakeUrlEncodingTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/websocket/HandshakeUrlEncodingTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/HandshakeUrlEncodingTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,9 +25,8 @@ * @test * @bug 8245245 * @summary Test for Websocket URI encoding during HandShake - * @library /lib/testlibrary * @library /test/lib - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.net.http * jdk.httpserver * @run testng/othervm -Djdk.internal.httpclient.debug=true HandshakeUrlEncodingTest @@ -39,7 +38,7 @@ import com.sun.net.httpserver.HttpsServer; import com.sun.net.httpserver.HttpExchange; import jdk.test.lib.net.URIBuilder; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/websocket/WSHandshakeExceptionTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/WSHandshakeExceptionTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/websocket/WSHandshakeExceptionTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/WSHandshakeExceptionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @summary Basic test for WebSocketHandshakeException - * @library /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.net.http * jdk.httpserver * @run testng/othervm -Djdk.internal.httpclient.debug=true WSHandshakeExceptionTest @@ -39,7 +39,7 @@ import java.net.http.HttpClient; import java.net.http.WebSocket; import java.net.http.WebSocketHandshakeException; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,9 +25,9 @@ * @test * @bug 8217429 8236859 * @summary WebSocket proxy tunneling tests - * @library /lib/testlibrary + * @library /test/lib * @compile SecureSupport.java DummySecureWebSocketServer.java ../ProxyServer.java - * @build jdk.testlibrary.SimpleSSLContext WebSocketProxyTest + * @build jdk.test.lib.net.SimpleSSLContext WebSocketProxyTest * @run testng/othervm * -Djdk.internal.httpclient.debug=true * -Djdk.internal.httpclient.websocket.debug=true @@ -59,7 +59,7 @@ import java.util.function.Supplier; import java.util.stream.Collectors; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/AbstractSSLTubeTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/AbstractSSLTubeTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/AbstractSSLTubeTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/AbstractSSLTubeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,22 +28,13 @@ import jdk.internal.net.http.common.Utils; import org.testng.annotations.Test; -import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.net.ssl.SSLParameters; -import javax.net.ssl.TrustManagerFactory; -import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; -import java.security.KeyManagementException; -import java.security.KeyStore; -import java.security.KeyStoreException; -import java.security.NoSuchAlgorithmException; -import java.security.UnrecoverableKeyException; -import java.security.cert.CertificateException; import java.util.List; import java.util.StringTokenizer; import java.util.concurrent.CompletableFuture; @@ -244,76 +235,4 @@ engine.setUseClientMode(client); return engine; } - - /** - * Creates a simple usable SSLContext for SSLSocketFactory or a HttpsServer - * using either a given keystore or a default one in the test tree. - * - * Using this class with a security manager requires the following - * permissions to be granted: - * - * permission "java.util.PropertyPermission" "test.src.path", "read"; - * permission java.io.FilePermission "${test.src}/../../../../lib/testlibrary/jdk/testlibrary/testkeys", - * "read"; The exact path above depends on the location of the test. - */ - protected static class SimpleSSLContext { - - private final SSLContext ssl; - - /** - * Loads default keystore from SimpleSSLContext source directory - */ - public SimpleSSLContext() throws IOException { - String paths = System.getProperty("test.src.path"); - StringTokenizer st = new StringTokenizer(paths, File.pathSeparator); - boolean securityExceptions = false; - SSLContext sslContext = null; - while (st.hasMoreTokens()) { - String path = st.nextToken(); - try { - File f = new File(path, "../../../../lib/testlibrary/jdk/testlibrary/testkeys"); - if (f.exists()) { - try (FileInputStream fis = new FileInputStream(f)) { - sslContext = init(fis); - break; - } - } - } catch (SecurityException e) { - // catch and ignore because permission only required - // for one entry on path (at most) - securityExceptions = true; - } - } - if (securityExceptions) { - System.err.println("SecurityExceptions thrown on loading testkeys"); - } - ssl = sslContext; - } - - private SSLContext init(InputStream i) throws IOException { - try { - char[] passphrase = "passphrase".toCharArray(); - KeyStore ks = KeyStore.getInstance("JKS"); - ks.load(i, passphrase); - - KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); - kmf.init(ks, passphrase); - - TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); - tmf.init(ks); - - SSLContext ssl = SSLContext.getInstance("TLS"); - ssl.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); - return ssl; - } catch (KeyManagementException | KeyStoreException | - UnrecoverableKeyException | CertificateException | - NoSuchAlgorithmException e) { - throw new RuntimeException(e.getMessage()); - } - } - - public SSLContext get() { - return ssl; - } - } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,6 @@ package jdk.internal.net.http; import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -33,12 +31,6 @@ import java.net.InetSocketAddress; import java.net.Socket; import java.nio.ByteBuffer; -import java.security.KeyManagementException; -import java.security.KeyStore; -import java.security.KeyStoreException; -import java.security.NoSuchAlgorithmException; -import java.security.UnrecoverableKeyException; -import java.security.cert.CertificateException; import java.util.List; import java.util.Random; import java.util.StringTokenizer; @@ -53,9 +45,7 @@ import java.util.concurrent.SubmissionPublisher; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; -import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.*; -import javax.net.ssl.TrustManagerFactory; import jdk.internal.net.http.common.Utils; import org.testng.annotations.Test; import jdk.internal.net.http.common.SSLFlowDelegate; @@ -490,80 +480,6 @@ } } - /** - * Creates a simple usable SSLContext for SSLSocketFactory - * or a HttpsServer using either a given keystore or a default - * one in the test tree. - *

- * Using this class with a security manager requires the following - * permissions to be granted: - *

- * permission "java.util.PropertyPermission" "test.src.path", "read"; - * permission java.io.FilePermission - * "${test.src}/../../../../lib/testlibrary/jdk/testlibrary/testkeys", "read"; - * The exact path above depends on the location of the test. - */ - static class SimpleSSLContext { - - private final SSLContext ssl; - - /** - * Loads default keystore from SimpleSSLContext source directory - */ - public SimpleSSLContext() throws IOException { - String paths = System.getProperty("test.src.path"); - StringTokenizer st = new StringTokenizer(paths, File.pathSeparator); - boolean securityExceptions = false; - SSLContext sslContext = null; - while (st.hasMoreTokens()) { - String path = st.nextToken(); - try { - File f = new File(path, "../../../../lib/testlibrary/jdk/testlibrary/testkeys"); - if (f.exists()) { - try (FileInputStream fis = new FileInputStream(f)) { - sslContext = init(fis); - break; - } - } - } catch (SecurityException e) { - // catch and ignore because permission only required - // for one entry on path (at most) - securityExceptions = true; - } - } - if (securityExceptions) { - System.out.println("SecurityExceptions thrown on loading testkeys"); - } - ssl = sslContext; - } - - private SSLContext init(InputStream i) throws IOException { - try { - char[] passphrase = "passphrase".toCharArray(); - KeyStore ks = KeyStore.getInstance("JKS"); - ks.load(i, passphrase); - - KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); - kmf.init(ks, passphrase); - - TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); - tmf.init(ks); - - SSLContext ssl = SSLContext.getInstance("TLS"); - ssl.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); - return ssl; - } catch (KeyManagementException | KeyStoreException | - UnrecoverableKeyException | CertificateException | - NoSuchAlgorithmException e) { - throw new RuntimeException(e.getMessage()); - } - } - - public SSLContext get() { - return ssl; - } - } - private static void sleep(int millis) { try { Thread.sleep(millis); diff -Nru openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/SimpleSSLContext.java openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/SimpleSSLContext.java --- openjdk-11-11.0.22+7/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/SimpleSSLContext.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/SimpleSSLContext.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package jdk.internal.net.http; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.security.KeyManagementException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableKeyException; +import java.security.cert.CertificateException; +import java.util.StringTokenizer; + +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManagerFactory; + +/** + * Creates a simple usable SSLContext for SSLSocketFactory + * or a HttpsServer using a default keystore in the test tree. + *

+ * Using this class with a security manager requires the following + * permissions to be granted: + *

+ * permission "java.util.PropertyPermission" "test.src.path", "read"; + * permission java.io.FilePermission "/path/to/test/lib/jdk/test/lib/testkeys", "read"; + * The exact path above depends on the location of the test. + */ +public class SimpleSSLContext { + + private final SSLContext ssl; + + /** + * Loads default keystore from SimpleSSLContext source directory + */ + public SimpleSSLContext() throws IOException { + String paths = System.getProperty("test.src.path"); + StringTokenizer st = new StringTokenizer(paths, File.pathSeparator); + boolean securityExceptions = false; + SSLContext sslContext = null; + while (st.hasMoreTokens()) { + String path = st.nextToken(); + try { + File f = new File(path, "../../../../../lib/jdk/test/lib/net/testkeys"); + if (f.exists()) { + try (FileInputStream fis = new FileInputStream(f)) { + sslContext = init(fis); + break; + } + } + } catch (SecurityException e) { + // catch and ignore because permission only required + // for one entry on path (at most) + securityExceptions = true; + } + } + if (securityExceptions) { + System.out.println("SecurityExceptions thrown on loading testkeys"); + } + ssl = sslContext; + } + + private SSLContext init(InputStream i) throws IOException { + try { + char[] passphrase = "passphrase".toCharArray(); + KeyStore ks = KeyStore.getInstance("PKCS12"); + ks.load(i, passphrase); + + KeyManagerFactory kmf = KeyManagerFactory.getInstance("PKIX"); + kmf.init(ks, passphrase); + + TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); + tmf.init(ks); + + SSLContext ssl = SSLContext.getInstance("TLS"); + ssl.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); + return ssl; + } catch (KeyManagementException | KeyStoreException | + UnrecoverableKeyException | CertificateException | + NoSuchAlgorithmException e) { + throw new RuntimeException(e.getMessage()); + } + } + + public SSLContext get() { + return ssl; + } +} \ No newline at end of file diff -Nru openjdk-11-11.0.22+7/test/jdk/java/nio/channels/DatagramChannel/Connect.java openjdk-11-11.0.23+9/test/jdk/java/nio/channels/DatagramChannel/Connect.java --- openjdk-11-11.0.22+7/test/jdk/java/nio/channels/DatagramChannel/Connect.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/nio/channels/DatagramChannel/Connect.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,6 +23,7 @@ /* @test * @bug 4313882 7183800 + * @run main/othervm Connect * @summary Test DatagramChannel's send and receive methods */ @@ -30,18 +31,28 @@ import java.net.*; import java.nio.*; import java.nio.channels.*; -import java.nio.charset.*; +import java.time.Instant; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; import java.util.stream.Stream; +import static java.nio.charset.StandardCharsets.US_ASCII; + public class Connect { - static PrintStream log = System.err; + static final PrintStream err = System.err; + static final String TIME_STAMP = Instant.now().toString(); + static final String MESSAGE = "Hello " + TIME_STAMP; + static final String OTHER = "Hey " + TIME_STAMP; + static final String RESPONSE = "Hi " + TIME_STAMP; + static final int MAX = Math.max(256, MESSAGE.getBytes(US_ASCII).length + 16); public static void main(String[] args) throws Exception { + assert MAX > MESSAGE.getBytes(US_ASCII).length; + assert MAX > OTHER.getBytes(US_ASCII).length; + assert MAX > RESPONSE.getBytes(US_ASCII).length; test(); } @@ -99,41 +110,62 @@ public void run() { try { - ByteBuffer bb = ByteBuffer.allocateDirect(256); - bb.put("hello".getBytes()); + byte[] bytes = MESSAGE.getBytes(US_ASCII); + ByteBuffer bb = ByteBuffer.allocateDirect(MAX); + bb.put(bytes); bb.flip(); - log.println("Initiator connecting to " + connectSocketAddress); + err.println("Initiator connecting to: " + connectSocketAddress); dc.connect(connectSocketAddress); + err.println("Initiator bound to: " + dc.getLocalAddress()); // Send a message - log.println("Initiator attempting to write to Responder at " + connectSocketAddress.toString()); + err.println("Initiator attempting to write to Responder at " + connectSocketAddress); dc.write(bb); // Try to send to some other address try { int port = dc.socket().getLocalPort(); InetAddress loopback = InetAddress.getLoopbackAddress(); - InetSocketAddress otherAddress = new InetSocketAddress(loopback, (port == 3333 ? 3332 : 3333)); - log.println("Testing if Initiator throws AlreadyConnectedException" + otherAddress.toString()); - dc.send(bb, otherAddress); + try (DatagramChannel other = DatagramChannel.open()) { + InetSocketAddress otherAddress = new InetSocketAddress(loopback, 0); + other.bind(otherAddress); + err.println("Testing if Initiator throws AlreadyConnectedException"); + otherAddress = (InetSocketAddress) other.getLocalAddress(); + assert port != otherAddress.getPort(); + assert !connectSocketAddress.equals(otherAddress); + err.printf("Initiator sending \"%s\" to other address %s%n", OTHER, otherAddress); + dc.send(ByteBuffer.wrap(OTHER.getBytes(US_ASCII)), otherAddress); + } throw new RuntimeException("Initiator allowed send to other address while already connected"); } catch (AlreadyConnectedException ace) { // Correct behavior + err.println("Initiator got expected " + ace); } - // Read a reply - bb.flip(); - log.println("Initiator waiting to read"); - dc.read(bb); - bb.flip(); - CharBuffer cb = StandardCharsets.US_ASCII. - newDecoder().decode(bb); - log.println("Initiator received from Responder at " + connectSocketAddress + ": " + cb); + // wait for response + while (true) { + // zero out buffer + bb.clear(); + bb.put(new byte[bb.remaining()]); + bb.flip(); + + // Read a reply + err.println("Initiator waiting to read"); + dc.read(bb); + bb.flip(); + CharBuffer cb = US_ASCII.newDecoder().decode(bb); + err.println("Initiator received from Responder at " + connectSocketAddress + ": " + cb); + if (!RESPONSE.equals(cb.toString())) { + err.println("Initiator received unexpected message: continue waiting"); + continue; + } + break; + } } catch (Exception ex) { - log.println("Initiator threw exception: " + ex); + err.println("Initiator threw exception: " + ex); throw new RuntimeException(ex); } finally { - log.println("Initiator finished"); + err.println("Initiator finished"); } } @@ -156,26 +188,37 @@ } public void run() { + ByteBuffer bb = ByteBuffer.allocateDirect(MAX); try { - // Listen for a message - ByteBuffer bb = ByteBuffer.allocateDirect(100); - log.println("Responder waiting to receive"); - SocketAddress sa = dc.receive(bb); - bb.flip(); - CharBuffer cb = StandardCharsets.US_ASCII. - newDecoder().decode(bb); - log.println("Responder received from Initiator at" + sa + ": " + cb); - - // Reply to sender - dc.connect(sa); - bb.flip(); - log.println("Responder attempting to write: " + dc.getRemoteAddress().toString()); - dc.write(bb); + while (true) { + // Listen for a message + err.println("Responder waiting to receive"); + SocketAddress sa = dc.receive(bb); + bb.flip(); + CharBuffer cb = US_ASCII. + newDecoder().decode(bb); + err.println("Responder received from Initiator at " + sa + ": " + cb); + if (!MESSAGE.equals(cb.toString())) { + err.println("Responder received unexpected message: continue waiting"); + bb.clear(); + continue; + } + + // Reply to sender + dc.connect(sa); + bb.clear(); + bb.put(RESPONSE.getBytes(US_ASCII)); + bb.flip(); + err.println("Responder attempting to write: " + dc.getRemoteAddress()); + dc.write(bb); + bb.flip(); + break; + } } catch (Exception ex) { - log.println("Responder threw exception: " + ex); + err.println("Responder threw exception: " + ex); throw new RuntimeException(ex); } finally { - log.println("Responder finished"); + err.println("Responder finished"); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/java/nio/channels/Selector/RacyDeregister.java openjdk-11-11.0.23+9/test/jdk/java/nio/channels/Selector/RacyDeregister.java --- openjdk-11-11.0.22+7/test/jdk/java/nio/channels/Selector/RacyDeregister.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/nio/channels/Selector/RacyDeregister.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,11 +41,6 @@ */ public class RacyDeregister { - // FIXME: NUM_OUTER_LOOP_ITERATIONS should be reverted to the hard-coded - // value 15 when JDK-8161083 is resolved as either a bug or a non-issue. - static final int NUM_OUTER_LOOP_ITERATIONS = - System.getProperty("os.name").startsWith("Windows") ? 150 : 15; - // 90% of 1200 second timeout as milliseconds static final int TIMEOUT_THRESHOLD_MILLIS = 1200*900; @@ -90,7 +85,7 @@ public void run() { try { - for (int k = 0; k < NUM_OUTER_LOOP_ITERATIONS; k++) { + for (int k = 0; k < 15; k++) { System.out.format("outer loop %3d at %7d ms%n", k, System.currentTimeMillis() - t0); System.out.flush(); diff -Nru openjdk-11-11.0.22+7/test/jdk/java/nio/file/FileStore/Basic.java openjdk-11-11.0.23+9/test/jdk/java/nio/file/FileStore/Basic.java --- openjdk-11-11.0.22+7/test/jdk/java/nio/file/FileStore/Basic.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/nio/file/FileStore/Basic.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,11 +57,12 @@ throw new RuntimeException("Assertion failed"); } - static void checkWithin1GB(long expected, long actual) { + static void checkWithin1GB(String space, long expected, long actual) { long diff = Math.abs(actual - expected); if (diff > G) { - String msg = String.format("|actual %d - expected %d| = %d (%f G)", - actual, expected, diff, (float)diff/G); + String msg = String.format("%s: |actual %d - expected %d| = %d (%f G)", + space, actual, expected, diff, + (float)diff/G); throw new RuntimeException(msg); } } @@ -110,24 +111,24 @@ * Test: Space atributes */ File f = file1.toFile(); - long total = f.getTotalSpace(); - long free = f.getFreeSpace(); - long usable = f.getUsableSpace(); // check values are "close" - checkWithin1GB(total, store1.getTotalSpace()); - checkWithin1GB(free, store1.getUnallocatedSpace()); - checkWithin1GB(usable, store1.getUsableSpace()); + checkWithin1GB("total", f.getTotalSpace(), store1.getTotalSpace()); + checkWithin1GB("free", f.getFreeSpace(), store1.getUnallocatedSpace()); + checkWithin1GB("usable", f.getUsableSpace(), store1.getUsableSpace()); // get values by name - checkWithin1GB(total, (Long)store1.getAttribute("totalSpace")); - checkWithin1GB(free, (Long)store1.getAttribute("unallocatedSpace")); - checkWithin1GB(usable, (Long)store1.getAttribute("usableSpace")); + checkWithin1GB("total", f.getTotalSpace(), + (Long)store1.getAttribute("totalSpace")); + checkWithin1GB("free", f.getFreeSpace(), + (Long)store1.getAttribute("unallocatedSpace")); + checkWithin1GB("usable", f.getUsableSpace(), + (Long)store1.getAttribute("usableSpace")); /** * Test: Enumerate all FileStores */ - if (FileUtils.areAllMountPointsAccessible()) { + if (FileUtils.areMountPointsAccessibleAndUnique()) { FileStore prev = null; for (FileStore store: FileSystems.getDefault().getFileStores()) { System.out.format("%s (name=%s type=%s)\n", store, store.name(), diff -Nru openjdk-11-11.0.22+7/test/jdk/java/nio/file/Files/CopyAndMove.java openjdk-11-11.0.23+9/test/jdk/java/nio/file/Files/CopyAndMove.java --- openjdk-11-11.0.22+7/test/jdk/java/nio/file/Files/CopyAndMove.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/nio/file/Files/CopyAndMove.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -892,7 +892,7 @@ if (supportsLinks) { source = createSourceFile(dir1); link = dir1.resolve("link"); - createSymbolicLink(link, source); + createSymbolicLink(link, source.getFileName()); target = getTargetFile(dir2); copyAndVerify(link, target); delete(link); diff -Nru openjdk-11-11.0.22+7/test/jdk/java/security/KeyStore/PKCS12/Utils.java openjdk-11-11.0.23+9/test/jdk/java/security/KeyStore/PKCS12/Utils.java --- openjdk-11-11.0.22+7/test/jdk/java/security/KeyStore/PKCS12/Utils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/security/KeyStore/PKCS12/Utils.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -59,11 +59,14 @@ public static OutputAnalyzer executeKeytoolCommand(String[] command, int exitCode) { - String[] keytoolCmd = new String[command.length + 1]; + String[] keytoolCmd = new String[command.length + 3]; OutputAnalyzer output = null; try { keytoolCmd[0] = JDKToolFinder.getJDKTool(KEYTOOL); - System.arraycopy(command, 0, keytoolCmd, 1, command.length); + // Ensure the keytool process is always ran under English locale + keytoolCmd[1] = "-J-Duser.language=en"; + keytoolCmd[2] = "-J-Duser.country=US"; + System.arraycopy(command, 0, keytoolCmd, 3, command.length); output = ProcessTools.executeCommand(keytoolCmd); output.shouldHaveExitValue(exitCode); out.println("Executed keytool command sucessfully:" diff -Nru openjdk-11-11.0.22+7/test/jdk/java/security/SecureRandom/NoSync.java openjdk-11-11.0.23+9/test/jdk/java/security/SecureRandom/NoSync.java --- openjdk-11-11.0.22+7/test/jdk/java/security/SecureRandom/NoSync.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/security/SecureRandom/NoSync.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,7 @@ /* * @test * @bug 7004967 - * @run main/othervm NoSync + * @run main/othervm -Djava.security.egd=file:/dev/urandom NoSync * @summary SecureRandom should be more explicit about threading */ public class NoSync { diff -Nru openjdk-11-11.0.22+7/test/jdk/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java openjdk-11-11.0.23+9/test/jdk/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java --- openjdk-11-11.0.22+7/test/jdk/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -118,6 +118,8 @@ PKIXBuilderParameters params = new PKIXBuilderParameters (Collections.singleton(anchor), sel); params.setRevocationEnabled(false); + // Set date to 2024-01-01 to satisfy cert constraints + params.setDate(new java.util.Date(1704067200000l)); ArrayList certs = new ArrayList<>(); certs.add(intCert); diff -Nru openjdk-11-11.0.22+7/test/jdk/java/util/Currency/ValidateISO4217.java openjdk-11-11.0.23+9/test/jdk/java/util/Currency/ValidateISO4217.java --- openjdk-11-11.0.22+7/test/jdk/java/util/Currency/ValidateISO4217.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/util/Currency/ValidateISO4217.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,7 +24,7 @@ * @test * @bug 4691089 4819436 4942982 5104960 6544471 6627549 7066203 7195759 * 8039317 8074350 8074351 8145952 8187946 8193552 8202026 8204269 - * 8208746 8209775 8264792 8274658 8283277 8296239 + * 8208746 8209775 8264792 8274658 8283277 8296239 8321480 * @summary Validate ISO 4217 data for Currency class. * @modules java.base/java.util:open * jdk.localedata @@ -100,7 +100,7 @@ /* Codes that are obsolete, do not have related country, extra currency */ static final String otherCodes = "ADP-AFA-ATS-AYM-AZM-BEF-BGL-BOV-BYB-BYR-CHE-CHW-CLF-COU-CUC-CYP-" - + "DEM-EEK-ESP-FIM-FRF-GHC-GRD-GWP-IEP-ITL-LTL-LUF-LVL-MGF-MRO-MTL-MXV-MZM-NLG-" + + "DEM-EEK-ESP-FIM-FRF-GHC-GRD-GWP-HRK-IEP-ITL-LTL-LUF-LVL-MGF-MRO-MTL-MXV-MZM-NLG-" + "PTE-ROL-RUR-SDD-SIT-SLL-SKK-SRG-STD-TMM-TPE-TRL-VEF-UYI-USN-USS-VEB-VED-" + "XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-XPT-XSU-XTS-XUA-XXX-" + "YUM-ZMK-ZWD-ZWN-ZWR"; diff -Nru openjdk-11-11.0.22+7/test/jdk/java/util/Currency/tablea1.txt openjdk-11-11.0.23+9/test/jdk/java/util/Currency/tablea1.txt --- openjdk-11-11.0.22+7/test/jdk/java/util/Currency/tablea1.txt 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/util/Currency/tablea1.txt 2024-04-08 05:38:38.000000000 +0000 @@ -1,12 +1,12 @@ # # -# Amendments up until ISO 4217 AMENDMENT NUMBER 175 -# (As of 31 March 2023) +# Amendments up until ISO 4217 AMENDMENT NUMBER 176 +# (As of 06 December 2023) # # Version FILEVERSION=3 -DATAVERSION=175 +DATAVERSION=176 # ISO 4217 currency data AF AFN 971 2 @@ -67,9 +67,9 @@ CK NZD 554 2 CR CRC 188 2 CI XOF 952 0 -HR HRK 191 2 2022-12-31-23-00-00 EUR 978 2 +HR EUR 978 2 CU CUP 192 2 -CW ANG 532 2 +CW ANG 532 2 2025-04-01-04-00-00 XCG 532 2 CY EUR 978 2 CZ CZK 203 2 DK DKK 208 2 @@ -233,7 +233,7 @@ SD SDG 938 2 SR SRD 968 2 SJ NOK 578 2 -SX ANG 532 2 +SX ANG 532 2 2025-04-01-04-00-00 XCG 532 2 SZ SZL 748 2 SE SEK 752 2 CH CHF 756 2 diff -Nru openjdk-11-11.0.22+7/test/jdk/java/util/TimeZone/TimeZoneData/VERSION openjdk-11-11.0.23+9/test/jdk/java/util/TimeZone/TimeZoneData/VERSION --- openjdk-11-11.0.22+7/test/jdk/java/util/TimeZone/TimeZoneData/VERSION 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/util/TimeZone/TimeZoneData/VERSION 2024-04-08 05:38:38.000000000 +0000 @@ -1 +1 @@ -tzdata2023c +tzdata2024a diff -Nru openjdk-11-11.0.22+7/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt openjdk-11-11.0.23+9/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt --- openjdk-11-11.0.22+7/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt 2024-04-08 05:38:38.000000000 +0000 @@ -148,7 +148,6 @@ Link Pacific/Port_Moresby Antarctica/DumontDUrville Link Pacific/Auckland Antarctica/McMurdo Link Asia/Riyadh Antarctica/Syowa -Link Asia/Urumqi Antarctica/Vostok Link Europe/Berlin Arctic/Longyearbyen Link Asia/Riyadh Asia/Aden Link Asia/Qatar Asia/Bahrain diff -Nru openjdk-11-11.0.22+7/test/jdk/java/util/logging/DrainFindDeadlockTest.java openjdk-11-11.0.23+9/test/jdk/java/util/logging/DrainFindDeadlockTest.java --- openjdk-11-11.0.22+7/test/jdk/java/util/logging/DrainFindDeadlockTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/java/util/logging/DrainFindDeadlockTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,9 +25,11 @@ import java.lang.Thread.State; import java.io.IOException; import java.lang.management.ManagementFactory; +import java.util.Random; import java.util.logging.LogManager; import java.util.logging.Logger; import java.util.Map; +import jdk.test.lib.RandomFactory; /** * @test @@ -36,6 +38,7 @@ * @author jim.gish@oracle.com * @modules java.logging * java.management + * @library /test/lib * @build DrainFindDeadlockTest * @run main/othervm DrainFindDeadlockTest * @key randomness @@ -50,6 +53,8 @@ public class DrainFindDeadlockTest { private LogManager mgr = LogManager.getLogManager(); private static final int MAX_ITERATIONS = 100; + private static final Random random = RandomFactory.getRandom(); + private static int preventLoopElision; // Get a ThreadMXBean so we can check for deadlock. N.B. this may // not be supported on all platforms, which means we will have to @@ -66,12 +71,13 @@ } public static void randomDelay() { - int runs = (int) Math.random() * 1000000; + int runs = random.nextInt(1000000); int c = 0; for (int i=0; i new CardPermission("*", actions)); + } + + // Should return false since p2 is not a CardPermission instance + @Test + public void testImpliesNotCardPermissionInstance() { + String actions = "connect"; + CardPermission p1 = new CardPermission("*", actions); + Permission p2 = new Permission(actions) { + @Override public boolean implies(Permission permission) { return false; } + @Override public boolean equals(Object obj) { return false; } + @Override public int hashCode() { return 0; } + @Override public String getActions() { return null; } + }; + assertFalse(p1.implies(p2)); + } + + // Should return false since p2 actions are not a subset of p1 + @Test + public void testImpliesNotSubsetCardPermission() { + CardPermission p1 = new CardPermission("*", "connect,reset"); + CardPermission p2 = new CardPermission("*", "transmitControl"); + assertFalse(p1.implies(p2)); + } + + // Should return true since p1 name is * and p2 actions are a subset of p1 + @Test + public void testImpliesNameEqualsAll() { + CardPermission p1 = new CardPermission("*", "connect,reset"); + CardPermission p2 = new CardPermission("None", "reset"); + assertTrue(p1.implies(p2)); + } + + // Should return true since p1 and p2 names are equal + @Test + public void testImpliesBothSameNameNotAll() { + CardPermission p1 = new CardPermission("None", "connect,reset"); + CardPermission p2 = new CardPermission("None", "reset"); + assertTrue(p1.implies(p2)); + } + + // Should return false since p1 and p2 names are not equal + @Test + public void testImpliesNameNotSameNotAll() { + CardPermission p1 = new CardPermission("None", "connect,reset"); + CardPermission p2 = new CardPermission("Other", "reset"); + assertFalse(p1.implies(p2)); + } + + private void testActions(String actions, String canon) throws Exception { CardPermission p = new CardPermission("*", actions); System.out.println(p); String a = p.getActions(); - if (canon != null && canon.equals(a) == false) { + if (canon != null && !canon.equals(a)) { throw new Exception("Canonical actions mismatch: " + canon + " != " + a); } } - } diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/sound/midi/SysexMessage/SendRawSysexMessage.java openjdk-11-11.0.23+9/test/jdk/javax/sound/midi/SysexMessage/SendRawSysexMessage.java --- openjdk-11-11.0.22+7/test/jdk/javax/sound/midi/SysexMessage/SendRawSysexMessage.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/sound/midi/SysexMessage/SendRawSysexMessage.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,8 +34,9 @@ /** * @test - * @bug 8237495 - * @summary fail with a dereferenced memory error when asked to send a raw 0xF7 + * @bug 8237495 8301310 + * @summary fail with memory errors when asked to send a sysex message starting + * with 0xF7 */ public final class SendRawSysexMessage { @@ -113,6 +114,16 @@ (byte) SPECIAL_SYSTEM_EXCLUSIVE}), -1); System.err.println("note off"); r.send(new ShortMessage(ShortMessage.NOTE_OFF, 5, 5), -1); + System.err.println("sysex part 1 of 3"); + r.send(new SysexMessage(new byte[]{ + (byte) SYSTEM_EXCLUSIVE, 0x7D, 0x01, 0x02}, 4), -1); + System.err.println("sysex part 2 of 3"); + r.send(new SysexMessage(new byte[]{ + (byte) SPECIAL_SYSTEM_EXCLUSIVE, 0x03, 0x04}, 3), -1); + System.err.println("sysex part 3 of 3"); + r.send(new SysexMessage(new byte[]{ + (byte) SPECIAL_SYSTEM_EXCLUSIVE, 0x05, 0x06, 0x07, + (byte) SPECIAL_SYSTEM_EXCLUSIVE}, 4), -1); System.err.println("done, should quit"); System.err.println(); } diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/sound/sampled/Lines/OpenLineAfterScreenLock.java openjdk-11-11.0.23+9/test/jdk/javax/sound/sampled/Lines/OpenLineAfterScreenLock.java --- openjdk-11-11.0.22+7/test/jdk/javax/sound/sampled/Lines/OpenLineAfterScreenLock.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/sound/sampled/Lines/OpenLineAfterScreenLock.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.BorderLayout; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.util.Arrays; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Line; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.Mixer; +import javax.sound.sampled.TargetDataLine; +import javax.swing.JButton; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; + +import static javax.swing.SwingUtilities.invokeAndWait; + +/* + * @test + * @bug 8301846 + * @requires (os.family == "windows") + * @summary Sound recording fails after screen lock and unlock. + * @run main/manual OpenLineAfterScreenLock + */ +public class OpenLineAfterScreenLock { + + private static final String INSTRUCTIONS = String.join(System.lineSeparator(), + "This test verifies it can record sound from the first sound capture device after", + "locking and unlocking the screen. The first part of the test has already completed.", + "", + "Lock the screen and unlock it. Then click Continue to complete the test.", + "", + "The test will finish automatically." + ); + + private static final CountDownLatch latch = new CountDownLatch(1); + + private static JFrame frame; + + public static void main(String[] args) throws Exception { + try { + runTest(); + + // Creating JFileChooser initializes COM + // which affects ability to open audio lines + new JFileChooser(); + + invokeAndWait(OpenLineAfterScreenLock::createInstructionsUI); + if (!latch.await(2, TimeUnit.MINUTES)) { + throw new RuntimeException("Test failed: Test timed out!!"); + } + + runTest(); + } finally { + invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + System.out.println("Test Passed"); + } + + private static void runTest() { + try { + Mixer mixer = getMixer(); + TargetDataLine line = + (TargetDataLine) mixer.getLine(mixer.getTargetLineInfo()[0]); + line.open(); + line.close(); + } catch (LineUnavailableException e) { + throw new RuntimeException("Test failed: Line unavailable", e); + } + } + + private static Mixer getMixer() { + return Arrays.stream(AudioSystem.getMixerInfo()) + .map(AudioSystem::getMixer) + .filter(OpenLineAfterScreenLock::isRecordingDevice) + .skip(1) // Skip the primary driver and choose one directly + .findAny() + .orElseThrow(); + } + + private static boolean isRecordingDevice(Mixer mixer) { + Line.Info[] lineInfos = mixer.getTargetLineInfo(); + return lineInfos.length > 0 + && lineInfos[0].getLineClass() == TargetDataLine.class; + } + + private static void createInstructionsUI() { + frame = new JFrame("Instructions for OpenLineAfterScreenLock"); + + JTextArea textArea = new JTextArea(INSTRUCTIONS); + textArea.setEditable(false); + + JScrollPane pane = new JScrollPane(textArea); + frame.getContentPane().add(pane, BorderLayout.NORTH); + + JButton button = new JButton("Continue"); + button.addActionListener(e -> latch.countDown()); + frame.getContentPane().add(button, BorderLayout.PAGE_END); + + frame.pack(); + frame.setLocationRelativeTo(null); + + frame.addWindowListener(new CloseWindowHandler()); + frame.setVisible(true); + } + + private static class CloseWindowHandler extends WindowAdapter { + @Override + public void windowClosing(WindowEvent e) { + latch.countDown(); + throw new RuntimeException("Test window closed abruptly"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/AbstractButton/bug4143867.java openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4143867.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/AbstractButton/bug4143867.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4143867.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,143 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4143867 4237390 4383709 + @summary Tests set/getAction(.) and some constructors with Action argument + @key headful + @run main bug4143867 +*/ + +import javax.swing.AbstractAction; +import javax.swing.AbstractButton; +import javax.swing.Action; +import javax.swing.DefaultButtonModel; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JFrame; +import javax.swing.JToggleButton; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JRadioButton; +import javax.swing.JRadioButtonMenuItem; +import javax.swing.SwingUtilities; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; +import java.beans.PropertyChangeListener; + +public class bug4143867 { + static final int TEST_MNEMONIC = KeyEvent.VK_1; + static JFrame fr; + + public static void main(String[] argv) throws Exception { + bug4143867 b = new bug4143867(); + SwingUtilities.invokeAndWait(() -> { + try { + b.doInitAndTest(); + } finally { + if (fr != null) { + fr.dispose(); + } + } + }); + } + + public void doInitAndTest() { + fr = new JFrame("bug4143867"); + JMenuBar mb = new JMenuBar(); + JMenu m = mb.add(new JMenu("Menu1")); + fr.setJMenuBar(mb); + JMenuItem it1 = m.add(new JMenuItem("Item1")); + fr.getContentPane().setLayout(new FlowLayout()); + JButton bt1 = new JButton("Button1"); + fr.getContentPane().add(bt1); + + final AbstractAction al = new AbstractAction() { + public void actionPerformed(ActionEvent e) { + System.out.println("Pressed..."); + } + }; + al.putValue(Action.NAME, "Action"); + al.putValue(Action.MNEMONIC_KEY, new Integer(TEST_MNEMONIC)); + m.add(al); + m.getItem(0).setAction(al); + bt1.setAction(al); + JButton bt2 = new JButton(al); + fr.getContentPane().add(bt2); + if (it1.getAction() != al || m.getItem(1).getAction() != al || + bt1.getAction() != al || bt2.getAction() != al) { + throw new RuntimeException("Action was not set correctly."); + } + + if (bt1.getMnemonic() != TEST_MNEMONIC) { + throw new RuntimeException("Failed 4383709: JButton doesn't get mnemonic from Action"); + } + + class TestProtectedOfAbstractButton extends AbstractButton { + public void test() { + PropertyChangeListener pcl = createActionPropertyChangeListener(null); + setModel(new DefaultButtonModel()); + configurePropertiesFromAction(al); + } + } + TestProtectedOfAbstractButton tpAB = new TestProtectedOfAbstractButton(); + tpAB.test(); + + // Constructors presence test + JRadioButton ct1 = new JRadioButton(al); + JCheckBox ct2 = new JCheckBox(al); + JRadioButton ct3 = new JRadioButton(al); + JToggleButton ct4 = new JToggleButton(al); + JMenuItem ct5 = new JMenuItem(al); + JMenu ct6 = new JMenu(al); + JCheckBoxMenuItem ct7 = new JCheckBoxMenuItem(al); + JRadioButtonMenuItem ct8 = new JRadioButtonMenuItem(al); + if (ct1.getAction() != al) { + throw new RuntimeException("Constructor error in JRadioButton..."); + } + if (ct2.getAction() != al) { + throw new RuntimeException("Constructor error in JCheckBox..."); + } + if (ct3.getAction() != al) { + throw new RuntimeException("Constructor error in JRadioButton..."); + } + if (ct4.getAction() != al) { + throw new RuntimeException("Constructor error in JToggleButton..."); + } + if (ct5.getAction() != al) { + throw new RuntimeException("Constructor error in JMenuItem..."); + } + if (ct6.getAction() != al) { + throw new RuntimeException("Constructor error in JMenu..."); + } + if (ct7.getAction() != al) { + throw new RuntimeException("Constructor error in JCheckBoxMenuItem..."); + } + if (ct8.getAction() != al) { + throw new RuntimeException("Constructor error in JRadioButtonMenuItem..."); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/AbstractButton/bug4147740.java openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4147740.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/AbstractButton/bug4147740.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4147740.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4147740 + @summary Tests that AbstractButton does not update images it doesn't use + @key headful + @run main bug4147740 +*/ + +import java.awt.Image; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.ImageIcon; +import java.awt.Robot; +import javax.swing.SwingUtilities; +import java.awt.event.HierarchyEvent; +import java.awt.event.HierarchyListener; + +public class bug4147740 { + + static JButton b; + static JFrame frame; + static volatile boolean imageUpdated = false; + static volatile boolean shouldUpdate = true; + + public static void main(String[] args) throws Exception { + Robot robot = new Robot(); + try { + SwingUtilities.invokeAndWait(() -> { + frame = new JFrame("bug4147740"); + b = new AnimatedButton(); + frame.getContentPane().add(b); + b.addHierarchyListener(new Listener()); + frame.setSize(200, 200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + robot.waitForIdle(); + robot.delay(1000); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } + + static class Listener implements HierarchyListener { + public void hierarchyChanged(HierarchyEvent ev) { + if ((ev.getChangeFlags() | HierarchyEvent.SHOWING_CHANGED) != 0 && + frame.isShowing()) { + + frame.repaint(); + SwingUtilities.invokeLater(new Runnable() { + public void run() { + synchronized(b) { + b.setEnabled(false); + shouldUpdate = false; + } + } + }); + } + } + } + + static class AnimatedButton extends JButton { + boolean shouldNotUpdate = false; + + AnimatedButton() { + super(); + setIcon(new ImageIcon("animated.gif")); + setDisabledIcon(new ImageIcon("static.gif")); + } + + public boolean imageUpdate(Image img, int infoflags, + int x, int y, int w, int h) { + boolean updated; + synchronized(b) { + updated = super.imageUpdate(img, infoflags, x, y, w, h); + if (!shouldUpdate && updated) { + throw new RuntimeException("Failed: unused image is being updated"); + } + } + return updated; + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/AbstractButton/bug4246045.java openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4246045.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/AbstractButton/bug4246045.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/AbstractButton/bug4246045.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,120 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4246045 + @summary AbstractButton fires accessible PropertyChangeEvent incorrectly + @key headful + @run main bug4246045 +*/ + +import java.awt.Container; +import java.awt.Robot; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JTextField; +import javax.swing.JToggleButton; +import javax.swing.SwingUtilities; +import javax.accessibility.AccessibleContext; +import javax.accessibility.AccessibleState; + +public class bug4246045 { + + class Listener implements PropertyChangeListener { + boolean state = false; // focused or not + + public void propertyChange(PropertyChangeEvent e) { + if (e.getPropertyName().equals( + AccessibleContext.ACCESSIBLE_STATE_PROPERTY)) { + + boolean reported = false; + if (e.getNewValue() == null) { + reported = false; + } else if (e.getNewValue().equals(AccessibleState.FOCUSED)) { + reported = true; + } else { + throw new RuntimeException("Unknown value of ACCESSIBLE_STATE_PROPERTY"); + } + + if (!state == reported) { + state = reported; + } else { + throw new RuntimeException("Bad value of ACCESSIBLE_STATE_PROPERTY"); + } + } + } + } + + static JFrame frame; + static JButton btn; + static JToggleButton tb; + static JTextField dummy; + + public void init() { + btn = new JButton("JButton"); + tb = new JToggleButton("JToggleButton"); + dummy = new JTextField(); + Container pane = frame.getContentPane(); + pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); + pane.add(btn); + pane.add(tb); + pane.add(dummy); + + Listener bl = new Listener(); + btn.getAccessibleContext().addPropertyChangeListener(bl); + Listener tbl = new Listener(); + tb.getAccessibleContext().addPropertyChangeListener(tbl); + } + + public void start() { + btn.requestFocus(); + btn.transferFocus(); + tb.transferFocus(); + } + + public static void main(String[] argv) throws Exception { + Robot robot = new Robot(); + bug4246045 bug = new bug4246045(); + try { + SwingUtilities.invokeAndWait(() -> { + frame = new JFrame("4246045 Test"); + bug.init(); + frame.setSize(200, 200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + bug.start(); + }); + robot.waitForIdle(); + robot.delay(1000); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/JComboBoxActionEvent.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxActionEvent.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/JComboBoxActionEvent.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxActionEvent.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8290399 + * @requires (os.family == "mac") + * @library /java/awt/regtesthelpers + * @build PassFailJFrame + * @summary Tests if AquaL&F fire actionevent if combobox menu is displayed. + * @run main/manual JComboBoxActionEvent + */ + +import java.awt.FlowLayout; + +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; + +public class JComboBoxActionEvent { + private static final String instructionsText = " Click the arrow to display the menu.\n" + + "While the menu is displayed, edit the text to create a new value.\n" + + "Type return.\n" + + "If a dialog appears with \"ActionCommand received\"\n" + + "press Pass, else Fail"; + + private static JFrame frame; + + public static void createAndShowGUI() throws Exception { + SwingUtilities.invokeAndWait(() -> { + + JComboBox comboBox = new JComboBox<>(new String[] + { "Apple", "Orange", "Pear" }); + comboBox.setEditable(true); + comboBox.addActionListener(e -> { + System.out.println("Action Listener called: " + e.getActionCommand()); + if (e.getActionCommand().contains("comboBoxEdited")) { + JOptionPane.showMessageDialog(null, "ActionCommand received"); + } + }); + + FlowLayout layout = new FlowLayout(); + JPanel panel = new JPanel(layout); + panel.add(comboBox); + frame = new JFrame("Test Editable Combo Box"); + frame.getContentPane().add(panel); + frame.setVisible(true); + frame.pack(); + frame.setLocationRelativeTo(null); + + PassFailJFrame.addTestWindow(frame); + PassFailJFrame.positionTestWindow(frame, + PassFailJFrame.Position.HORIZONTAL); + }); + } + + public static void main(String[] args) throws Exception { + + UIManager.setLookAndFeel("com.apple.laf.AquaLookAndFeel"); + + PassFailJFrame pfjFrame = new PassFailJFrame("JScrollPane " + + "Test Instructions", instructionsText, 5); + + createAndShowGUI(); + + pfjFrame.awaitAndCheck(); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/JComboBoxBorderTest.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxBorderTest.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/JComboBoxBorderTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxBorderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8054572 + * @library /java/awt/regtesthelpers + * @build PassFailJFrame + * @summary Tests if JComboBox displays correctly when editable/non-editable + * @run main/manual JComboBoxBorderTest + */ + +import java.awt.FlowLayout; +import java.lang.reflect.InvocationTargetException; + +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; + +public class JComboBoxBorderTest { + private static final String instructionsText = "Pass if you can see both " + + "an editable and non-editable JComboBox and if they display " + + "reasonably. Fail if they do not appear or are misaligned."; + + private static JFrame frame; + + public static void createAndShowGUI() throws InterruptedException, + InvocationTargetException { + SwingUtilities.invokeAndWait(() -> { + + JLabel label = new JLabel("Editable combo box:"); + JLabel label2 = new JLabel("Non-editable combo box:"); + + JComboBox comboBox = new JComboBox<>(new String[] + { "Item 1", "Item 2", "Item 3" }); + JComboBox comboBox2 = new JComboBox<>(new String[] + { "Item 1", "Item 2", "Item 3" }); + comboBox.setEditable(true); + + FlowLayout layout = new FlowLayout(FlowLayout.LEADING); + JPanel panel = new JPanel(layout); + panel.add(label); + panel.add(comboBox); + + panel.add(label2); + panel.add(comboBox2); + + frame = new JFrame(); + frame.getContentPane().add(panel); + frame.pack(); + frame.setLocationRelativeTo(null); + + PassFailJFrame.addTestWindow(frame); + PassFailJFrame.positionTestWindow(frame, + PassFailJFrame.Position.HORIZONTAL); + + frame.setVisible(true); + }); + } + + public static void main(String[] args) throws Exception { + + UIManager.setLookAndFeel("com.apple.laf.AquaLookAndFeel"); + + PassFailJFrame pfjFrame = new PassFailJFrame("JScrollPane " + + "Test Instructions", instructionsText, 5); + + createAndShowGUI(); + + pfjFrame.awaitAndCheck(); + } +} \ No newline at end of file diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,183 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Robot; +import java.awt.Toolkit; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.io.File; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; + +import javax.imageio.ImageIO; +import javax.swing.BorderFactory; +import javax.swing.JComboBox; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; +import javax.swing.UIManager.LookAndFeelInfo; +import javax.swing.UnsupportedLookAndFeelException; + +import static javax.swing.UIManager.getInstalledLookAndFeels; + +/* + * @test + * @key headful + * @bug 8300269 + * @summary This test verifies the issue: Can't see the selected JComboBox + * item if it has a titled border. + * @run main JComboBoxWithTitledBorderTest + */ +public class JComboBoxWithTitledBorderTest { + private static final String[] comboStrings = + {"First", "Second", "Third", "Fourth"}; + private static JFrame frame; + private static JComboBox combo; + private static Robot robot; + + public static void main(String[] argv) throws Exception { + robot = new Robot(); + robot.setAutoWaitForIdle(true); + robot.setAutoDelay(200); + List lafs = Arrays.stream(getInstalledLookAndFeels()) + .map(LookAndFeelInfo::getClassName) + .collect(Collectors.toList()); + for (final String laf : lafs) { + // Skip GTK L&F because pressing ENTER after editing JComboBox + // doesn't change text and resets to starting text instead. + if (laf.equals("com.sun.java.swing.plaf.gtk.GTKLookAndFeel")) { + continue; + } + try { + AtomicBoolean lafSetSuccess = new AtomicBoolean(false); + System.out.println("Setting LAF: " + laf); + SwingUtilities.invokeAndWait(() -> { + lafSetSuccess.set(setLookAndFeel(laf)); + if (lafSetSuccess.get()) { + createAndShowGUI(laf); + } + }); + if (!lafSetSuccess.get()) { + continue; + } + robot.waitForIdle(); + + mouseClick(combo); + + hitKeys(KeyEvent.VK_RIGHT, KeyEvent.VK_BACK_SPACE, + KeyEvent.VK_ENTER); + String item = (String) combo.getSelectedItem(); + System.out.println("Current item: " + item); + // Deletes the last character of the combo item and check + // whether its getting reflected in item. Bug JDK-8300269: It's + // not getting reflected in case of AquaLookAndFeel. + if ("Firs".equals(item)) { + System.out.println("Test Passed for " + laf); + } else { + captureScreen(); + throw new RuntimeException("Test Failed for " + laf); + } + } finally { + SwingUtilities.invokeAndWait( + JComboBoxWithTitledBorderTest::disposeFrame); + } + } + } + + private static void hitKeys(int... keys) { + for (int key : keys) { + robot.keyPress(key); + } + for (int i = keys.length - 1; i >= 0; i--) { + robot.keyRelease(keys[i]); + } + } + + private static void mouseClick(JComponent jComponent) throws Exception { + final AtomicReference loc = new AtomicReference<>(); + SwingUtilities + .invokeAndWait(() -> loc.set(jComponent.getLocationOnScreen())); + final Point location = loc.get(); + robot.mouseMove(location.x + 25, location.y + 5); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + } + + private static void createAndShowGUI(final String laf) { + frame = new JFrame("JComboBox with Titled Border test"); + frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + + JPanel panel = new JPanel(); + combo = new JComboBox<>(comboStrings); + combo.setEditable(true); + + // Create a titled border for the ComboBox with the LAF name as title. + String[] lafStrings = laf.split("[.]"); + combo.setBorder(BorderFactory.createTitledBorder( + lafStrings[lafStrings.length - 1])); + panel.add(combo); + frame.getContentPane().add(panel); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + private static boolean setLookAndFeel(String lafName) { + try { + UIManager.setLookAndFeel(lafName); + } catch (UnsupportedLookAndFeelException ignored) { + System.out.println("Ignoring Unsupported LAF: " + lafName); + return false; + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException e) { + throw new RuntimeException(e); + } + return true; + } + + private static void disposeFrame() { + if (frame != null) { + frame.dispose(); + frame = null; + } + } + + private static void captureScreen() { + try { + final Rectangle screenBounds = new Rectangle( + Toolkit.getDefaultToolkit().getScreenSize()); + ImageIO.write(robot.createScreenCapture(screenBounds), + "png", new File("failScreen.png")); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} \ No newline at end of file diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/TestComboBoxHeight.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/TestComboBoxHeight.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JComboBox/TestComboBoxHeight.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JComboBox/TestComboBoxHeight.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @key headful + * @bug 4517214 + * @summary Tests that comboBox is not doubleheight if editable and has TitledBorder +*/ + +import javax.swing.BorderFactory; +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; +import javax.swing.WindowConstants; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Robot; + +public class TestComboBoxHeight { + private static String[] data = { "Ten", "Twenty", "Forty-three" }; + private static JFrame jframe; + private static int heightCombo1, heightCombo2; + private static JComboBox combo1, combo2; + + public static void main(String[] args) throws Exception { + try { + Robot robot = new Robot(); + robot.setAutoDelay(100); + SwingUtilities.invokeAndWait(() -> { + jframe = new JFrame(); + + GridBagLayout gridBag = new GridBagLayout(); + GridBagConstraints c = new GridBagConstraints(); + JPanel p = new JPanel(gridBag); + c.fill = GridBagConstraints.NONE; + + // fine-looking combo + combo1 = new JComboBox(data); + combo1.setEditable(true); + gridBag.setConstraints(combo1, c); + p.add(combo1); + + // combo has border + combo2 = new JComboBox(data); + combo2.setEditable(true); + combo2.setBorder(BorderFactory. + createTitledBorder("Combo Border")); + gridBag.setConstraints(combo2, c); + p.add(combo2); + + jframe.setContentPane(p); + jframe.setLocationRelativeTo(null); + jframe.setSize(400, 200); + jframe.setDefaultCloseOperation( + WindowConstants.DISPOSE_ON_CLOSE); + jframe.setVisible(true); + }); + + robot.delay(1000); + robot.waitForIdle(); + SwingUtilities.invokeAndWait(() -> { + heightCombo1 = combo1.getHeight(); + heightCombo2 = combo2.getHeight(); + }); + + if (heightCombo2 >= heightCombo1 * 2) { + throw new RuntimeException("combo boxes with border " + + " should not have double height compared to normal combobox"); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (jframe != null) { + jframe.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JComponent/bug4419219.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JComponent/bug4419219.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JComponent/bug4419219.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JComponent/bug4419219.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4419219 + @summary Tests that registerKeyboardAction(null, ...) doen't throw NPE. + @key headful + @run main bug4419219 +*/ + +import java.awt.Robot; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; +import java.awt.event.InputEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.KeyStroke; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JTable; +import javax.swing.SwingUtilities; + +public class bug4419219 { + static volatile boolean passed = true; + static JFrame frame; + static Robot robo; + + public static void main(String[] args) throws Exception { + robo = new Robot(); + robo.setAutoWaitForIdle(true); + robo.setAutoDelay(100); + SwingUtilities.invokeAndWait(() -> { + try { + frame = new JFrame("bug4419219 Table"); + + final String[] names = {"col"}; + final Object[][] data = {{"A"}, {"B"}, {"C"}, {"D"}, {"E"}}; + + JTable tableView = (JTable)new TestTable(data, names); + // unregister ctrl-A + tableView.registerKeyboardAction(null, + KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK), + JComponent.WHEN_FOCUSED); + + frame.getContentPane().add(tableView); + frame.setSize(250,250); + frame.setLocationRelativeTo(null); + frame.addWindowListener(new TestStateListener()); + frame.setVisible(true); + } finally { + if (frame != null) { + frame.dispose(); + } + } + }); + if (!passed) { + throw new RuntimeException("Test failed."); + } + } + + static class TestStateListener extends WindowAdapter { + public void windowOpened(WindowEvent ev) { + robo.delay(1000); + robo.mouseMove(100,100); + robo.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robo.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robo.keyPress(KeyEvent.VK_CONTROL); + robo.keyPress(KeyEvent.VK_A); + robo.keyRelease(KeyEvent.VK_A); + robo.keyRelease(KeyEvent.VK_CONTROL); + } + } + + static class TestTable extends JTable { + + public TestTable(Object[][] data, String[] names) { + super(data, names); + } + + protected boolean processKeyBinding(KeyStroke ks, + KeyEvent e, + int condition, + boolean pressed) { + try { + return super.processKeyBinding(ks, e, condition, pressed); + } catch (NullPointerException ex) { + passed = false; + } + return false; + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JComponent/bug4962718.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JComponent/bug4962718.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JComponent/bug4962718.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JComponent/bug4962718.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4962718 + * @summary Propertychange Listener not fired by inheritPopupMenu and Popupmenu properties + * @key headful + * @run main bug4962718 +*/ + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPopupMenu; +import javax.swing.SwingUtilities; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +public class bug4962718 { + static volatile boolean popupWasSet = false; + static volatile boolean inheritWasSet = false; + static JFrame frame; + + public static void main(String[] args) throws Exception { + try { + SwingUtilities.invokeAndWait(() -> { + frame = new JFrame("bug4962718"); + JButton button = new JButton("For test"); + JPopupMenu popup = new JPopupMenu(); + + button.addPropertyChangeListener(new PropertyChangeListener() { + public void propertyChange(PropertyChangeEvent evt) { + if (evt.getPropertyName().equals("inheritsPopupMenu")) { + inheritWasSet = true; + } else if( evt.getPropertyName(). + equals("componentPopupMenu")) { + popupWasSet = true; + } + } + }); + + frame.add(button); + button.setInheritsPopupMenu(true); + button.setInheritsPopupMenu(false); + button.setComponentPopupMenu(popup); + button.setComponentPopupMenu(null); + frame.pack(); + frame.setVisible(true); + }); + + try { + Thread.sleep(1000); + } catch (InterruptedException e) {} + + if (!inheritWasSet) { + throw new RuntimeException("Test failed, inheritsPopupMenu " + + " property change listener was not called"); + } + if (!popupWasSet) { + throw new RuntimeException("Test failed, componentPopupMenu " + + " property change listener was not called"); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} + diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JFrame/bug4101444.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JFrame/bug4101444.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JFrame/bug4101444.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JFrame/bug4101444.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,55 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.swing.JFrame; +import static javax.swing.SwingUtilities.invokeAndWait; + +/* + * @test + * @bug 4101444 + * @key headful + * @summary Tests JFrame supports EXIT_ON_CLOSE + */ + +public class bug4101444 { + private static JFrame jFrame; + + public static void main(String[] args) throws Exception { + try { + invokeAndWait(() -> { + jFrame = new JFrame("bug4101444 - Test EXIT_ON_CLOSE"); + jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + if (jFrame.getDefaultCloseOperation() != JFrame.EXIT_ON_CLOSE) { + throw new RuntimeException("EXIT_ON_CLOSE wasn't set" + + " correctly in setDefaultCloseOperation()..."); + } + }); + } finally { + invokeAndWait(() -> { + if (jFrame != null) { + jFrame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JFrame/bug4208018.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JFrame/bug4208018.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JFrame/bug4208018.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JFrame/bug4208018.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,52 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.swing.JFrame; +import javax.swing.JMenuBar; + +import static javax.swing.SwingUtilities.invokeAndWait; + +/* + * @test + * @bug 4208018 + * @key headful + * @summary Tests if calling JFrame.dispose() when menubar is set, cause Exception. + */ + +public class bug4208018 { + private static JFrame jFrame; + + public static void main(String[] args) throws Exception { + try { + invokeAndWait(() -> { + jFrame = new JFrame("bug4208018 - Test dispose"); + JMenuBar menubar = new JMenuBar(); + jFrame.setJMenuBar(menubar); + jFrame.dispose(); + }); + } catch (Exception e) { + throw new RuntimeException("Test failed!" + + " Calling dispose on JFrame caused exception", e); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4268949.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4268949.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4268949.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4268949.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,63 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4268949 + * @summary Tests if JInternalFrame can do setBackground() + * @run main bug4268949 + */ + +import java.awt.Color; +import javax.swing.JInternalFrame; +import javax.swing.SwingUtilities; + +public class bug4268949 { + + static Color c1; + static Color c2; + static Color c3; + + public static void main(String[] argv) throws Exception { + SwingUtilities.invokeAndWait(() -> { + JInternalFrame if1, if2, if3; + if1 = new JInternalFrame("Frame 1"); + if2 = new JInternalFrame("Frame 2"); + if3 = new JInternalFrame("Frame 3"); + if1.setBounds(20, 20, 95, 95); + if2.setBounds(120, 20, 95, 95); + if3.setBounds(220, 20, 95, 95); + if1.setBackground(Color.red); + if2.setBackground(Color.blue); + if3.setBackground(Color.green); + c1 = if1.getContentPane().getBackground(); + c2 = if2.getContentPane().getBackground(); + c3 = if3.getContentPane().getBackground(); + }); + if (!(c1.equals(Color.red)) || !(c2.equals(Color.blue)) + || !(c3.equals(Color.green))) { + throw new RuntimeException("Test failed: JInternalFrame " + + "cannot do setBackground()"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4308938.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4308938.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4308938.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4308938.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.swing.JInternalFrame; +import java.io.ByteArrayOutputStream; +import java.io.ObjectOutputStream; + +/* + * @test + * @bug 4308938 + * @summary Tests if Serializing JInternalFrame throws Error + */ + +public class bug4308938 { + private static JInternalFrame jif = + new JInternalFrame("Serializable",true,true,true,true); + + public static void main(String[] args) throws Exception { + try { + jif.setLocation(100,100); + jif.setSize(100,100); + ByteArrayOutputStream s = new ByteArrayOutputStream(); + ObjectOutputStream o = new ObjectOutputStream(s); + o.writeObject(jif); + o.close(); + o = new ObjectOutputStream(s); + o.writeObject(jif); + o.close(); + } catch (Exception e) { + throw new RuntimeException("Serializing JInternalFrame throws Error"); + } finally { + if (jif != null) { + jif.dispose(); + } + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4309079.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4309079.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4309079.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4309079.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4309079 + * @summary Tests that when a JInternalFrame is activated, + focused JTextField shows cursor. + * @key headful + * @run main bug4309079 + */ + +import java.awt.FlowLayout; +import java.awt.Point; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import javax.swing.JFrame; +import javax.swing.JDesktopPane; +import javax.swing.JInternalFrame; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; + +public class bug4309079 { + + private static JFrame f; + private static JTextField tf; + private static JDesktopPane desktop; + private static JInternalFrame f1; + private static JInternalFrame f2; + private static volatile boolean passed = true; + private static volatile Point p; + + public static void main(String[] args) throws Exception { + try { + Robot robot = new Robot(); + robot.setAutoDelay(100); + SwingUtilities.invokeAndWait(() -> { + f = new JFrame(); + f.setSize(500, 300); + tf = new JTextField(10); + tf.addFocusListener(new FocusListener() { + public void focusGained(FocusEvent e) { + passed = tf.getCaret().isVisible(); + } + public void focusLost(FocusEvent e) { + } + }); + tf.requestFocus(); + f1 = AddFrame(new JTextField(10)); + f2 = AddFrame(tf); + f.getContentPane().add(desktop); + f.setVisible(true); + }); + robot.waitForIdle(); + robot.delay(500); + + SwingUtilities.invokeAndWait(() -> { + f1.toFront(); + f2.toFront(); + p = tf.getLocationOnScreen(); + }); + robot.mouseMove(p.x, p.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK ); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK ); + + if (!passed) { + throw new RuntimeException("Test failed."); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + } + + private static JInternalFrame AddFrame(JTextField tf) { + JInternalFrame frame = new JInternalFrame(); + desktop = new JDesktopPane(); + desktop.add(frame); + frame.getContentPane().setLayout(new FlowLayout()); + frame.getContentPane().add(tf); + frame.setSize(300, 200); + frame.setVisible(true); + return frame; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4320889.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4320889.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4320889.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4320889.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.swing.JDesktopPane; +import javax.swing.JFrame; +import javax.swing.JInternalFrame; + +import static javax.swing.SwingUtilities.invokeAndWait; + +/* + * @test + * @bug 4320889 + * @key headful + * @summary Tests if default background color is set correctly for JInternalFrame +*/ + +public class bug4320889 { + private static JFrame jFrame; + + private static final int FRAME_SIZE = 200; + private static final int JIF_SIZE = 100; + + public static void main(String[] args) throws Exception { + invokeAndWait(() -> { + try { + jFrame = new JFrame("bug4320889 - JFrame b/g color"); + JDesktopPane desktop = new JDesktopPane(); + jFrame.setSize(FRAME_SIZE, FRAME_SIZE); + jFrame.setContentPane(desktop); + + JInternalFrame jif = new JInternalFrame(); + jif.setSize(JIF_SIZE, JIF_SIZE); + jif.setLocation(5, 5); + desktop.add(jif); + jif.setVisible(true); + jFrame.setVisible(true); + + if ((jif.getBackground()).equals(desktop.getBackground())) { + throw new RuntimeException("Test failed: default background color" + + " is not set correctly for JInternalFrame"); + } + } finally { + if (jFrame != null) { + jFrame.dispose(); + } + } + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4732229.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4732229.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug4732229.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug4732229.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4732229 + * @summary Ctrl+Space, bringing up System menu on a JIF errors using Win LAF + * @key headful + * @run main bug4732229 + */ + +import javax.swing.JFrame; +import javax.swing.JDesktopPane; +import javax.swing.JInternalFrame; +import javax.swing.JTextArea; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; +import java.awt.Robot; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.KeyEvent; + +public class bug4732229 { + + JFrame frame; + JDesktopPane desktop; + JInternalFrame jif; + JTextArea ta; + Robot robot; + volatile boolean keyTyped = false; + + public static void main(String[] args) throws Exception { + bug4732229 b = new bug4732229(); + b.init(); + } + + public void init() throws Exception { + robot = new Robot(); + robot.setAutoDelay(100); + try { + SwingUtilities.invokeAndWait(() -> { + frame = new JFrame("bug4732229"); + desktop = new JDesktopPane(); + frame.getContentPane().add(desktop); + + ta = new JTextArea(); + ta.addFocusListener(new FocusAdapter() { + public void focusGained(FocusEvent e) { + synchronized (bug4732229.this) { + keyTyped = true; + bug4732229.this.notifyAll(); + } + } + }); + frame.setSize(200, 200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + jif = new JInternalFrame("Internal Frame", true, false, true, + true); + jif.setBounds(10, 10, 100, 100); + jif.getContentPane().add(ta); + jif.setVisible(true); + desktop.add(jif); + try { + jif.setSelected(true); + } catch (Exception e) { + throw new RuntimeException(e); + } + + }); + synchronized (this) { + while (!keyTyped) { + bug4732229.this.wait(); + } + } + robot.waitForIdle(); + robot.delay(200); + robot.keyPress(KeyEvent.VK_CONTROL); + robot.keyPress(KeyEvent.VK_SPACE); + robot.keyRelease(KeyEvent.VK_SPACE); + robot.keyRelease(KeyEvent.VK_CONTROL); + robot.waitForIdle(); + robot.delay(200); + SwingUtilities.invokeAndWait(() -> { + try { + jif.setSelected(false); + } catch (Exception e) { + throw new RuntimeException(e); + } + jif.setVisible(false); + desktop.remove(jif); + try { + UIManager.setLookAndFeel( + UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e) { + throw new RuntimeException(e); + } + desktop.updateUI(); + + jif = new JInternalFrame("Internal Frame", true, false, true, + true); + jif.setBounds(10, 10, 100, 100); + jif.getContentPane().add(ta); + jif.setVisible(true); + desktop.add(jif); + try { + jif.setSelected(true); + } catch (Exception e) { + throw new RuntimeException(e); + } + }); + synchronized (this) { + while (!keyTyped) { + bug4732229.this.wait(); + } + } + robot.keyPress(KeyEvent.VK_CONTROL); + robot.keyPress(KeyEvent.VK_SPACE); + robot.keyRelease(KeyEvent.VK_SPACE); + robot.keyRelease(KeyEvent.VK_CONTROL); + robot.waitForIdle(); + robot.delay(200); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug5009724.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug5009724.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JInternalFrame/bug5009724.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JInternalFrame/bug5009724.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 5009724 + * @requires (os.family == "linux") + * @summary JInternalFrame not serializable in GTK L&F + * @key headful + * @run main bug5009724 + */ + +import java.awt.event.ActionEvent; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import javax.swing.AbstractAction; +import javax.swing.JInternalFrame; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; + +public class bug5009724 { + + public static void main(String []args) throws Exception { + UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); + SwingUtilities.invokeAndWait(() -> { + JInternalFrame frame = new JInternalFrame(); + ObjectOutputStream out = null; + ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); + try { + out = new ObjectOutputStream(byteStream); + } catch (IOException e) { + + } + if (out != null) { + System.out.println("Testing..."); + try { + out.writeObject(frame); + } catch (Exception e) { + System.out.println(e); + throw new RuntimeException("Serialization exception. Test failed."); + } + } + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JList/bug4300224.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4300224.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JList/bug4300224.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4300224.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4300224 + * @summary BasicListUI.ListDataHandler improperly updates list selection on insertion + * @run main bug4300224 + */ + +import javax.swing.JList; +import javax.swing.DefaultListModel; + +public class bug4300224 { + + public static void main(String[] args) throws Exception { + DefaultListModel model = new DefaultListModel<>(); + JList list = new JList<>(model); + + model.addElement("List Item 1"); + model.addElement("List Item 2"); + model.addElement("List Item 3"); + model.addElement("List Item 4"); + list.setSelectedIndex(2); + model.insertElementAt("Inserted Item", 0); + if (list.getSelectedIndex() != 3) { + throw new RuntimeException("Inserted element improperly updates list selection"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JList/bug4487689.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4487689.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JList/bug4487689.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4487689.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4487689 + * @summary JList.setSelectedValue() throws ArrayIndexOutOfBoundsException on empty list. + * @run main bug4487689 + */ + +import java.util.Vector; +import javax.swing.JList; + +public class bug4487689 { + + public static void main(String[] args) throws Exception { + JList list = new JList<>(new Vector()); + + list.setSelectedIndex(0); + list.getSelectedValue(); + + int[] indices = {0,1}; + list.setSelectedIndices(indices); + list.getSelectedValues(); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JList/bug4832765.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4832765.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JList/bug4832765.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JList/bug4832765.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4832765 + * @summary JList vertical scrolling doesn't work properly. + * @run main bug4832765 + */ + +import java.awt.Dimension; +import java.awt.Rectangle; +import javax.swing.JFrame; +import javax.swing.JList; +import javax.swing.JScrollPane; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; + +public class bug4832765 { + + public static void main(String[] argv) throws Exception { + SwingUtilities.invokeAndWait(() -> { + String[] data = {"One", "Two", "Three", "Four", + "Five", "Six ", "Seven", "Eight", + "Nine", "Ten", "Eleven", "Twelv"}; + JList list = new JList<>(data); + list.setLayoutOrientation(JList.HORIZONTAL_WRAP); + + JScrollPane jsp = new JScrollPane(list); + Rectangle rect = list.getCellBounds(5, 5); + Dimension d = new Dimension(200, rect.height); + jsp.setPreferredSize(d); + jsp.setMinimumSize(d); + + list.scrollRectToVisible(rect); + + int unit = list.getScrollableUnitIncrement(rect, + SwingConstants.VERTICAL, + -1); + if (unit <= 0) { + throw new RuntimeException("JList scrollable unit increment" + + " should be greate than 0."); + } + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug4173633.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4173633.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug4173633.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4173633.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + + +/* + @test + @bug 4173633 + @summary Test for infinite recursion when JMenu with separator + @run main bug4173633 +*/ + +import javax.swing.JMenu; + +public class bug4173633 { + public static void main(String[] args) { + JMenu m = new JMenu("bug4173633"); + m.addSeparator(); + if (m.getItem(0) == m) { + throw new RuntimeException("BUG 4173633 FAILED"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug4186641.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4186641.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug4186641.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4186641.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,80 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4186641 4242461 + @summary JMenu.getPopupMenuOrigin() protected (not privet) now. + @key headful + @run main bug4186641 +*/ + +import java.awt.Point; +import java.lang.reflect.InvocationTargetException; + +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.SwingUtilities; + + +public class bug4186641 { + + volatile static JFrame fr; + + public static void main(String[] args) throws InterruptedException, + InvocationTargetException { + SwingUtilities.invokeAndWait(() -> { + init(); + if (fr != null) { + fr.dispose(); + } + }); + } + + public static void init() { + class TestJMenu extends JMenu { + public TestJMenu() { + super("Test"); + } + + void test() { + Point testpoint = getPopupMenuOrigin(); + } + } + + TestJMenu mnu = new TestJMenu(); + fr = new JFrame("bug4186641"); + JMenuBar mb = new JMenuBar(); + fr.setJMenuBar(mb); + mb.add(mnu); + JMenuItem mi = new JMenuItem("test"); + mnu.add(mi); + fr.setSize(100,100); + fr.setVisible(true); + mnu.setVisible(true); + + mnu.test(); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug4219523.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4219523.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug4219523.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug4219523.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,60 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4219523 + @summary Tests if JMenu completely uninstalls UI + @run main bug4219523 +*/ + +import java.awt.Insets; + +import javax.swing.JMenuItem; +import javax.swing.plaf.basic.BasicMenuItemUI; + + +public class bug4219523 { + public static void main(String args[]) { + class TestMenuItem extends JMenuItem { + public int SetMarginCalls; + TestMenuItem(){ + super(); + SetMarginCalls = 0; + } + public void setMargin(Insets m){ + if (m == null) SetMarginCalls++; + super.setMargin(m); + } + } + BasicMenuItemUI bmiui = new BasicMenuItemUI(); + TestMenuItem mi = new TestMenuItem(); + bmiui.installUI(mi); + int installCall = mi.SetMarginCalls; + bmiui.uninstallUI(mi); + if (mi.SetMarginCalls <= installCall) { + throw new Error("Test failed: Uninstall UI does " + + "not uninstall DefaultMargin properties"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug5013739.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug5013739.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenu/bug5013739.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenu/bug5013739.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 5013739 + @summary MNEMONIC CONFLICTS IN DISABLED/HIDDEN MENU ITEMS + @library ../regtesthelpers + @build JRobot + @key headful + @run main bug5013739 +*/ + +import java.awt.Component; +import java.awt.Point; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; +import java.lang.reflect.InvocationTargetException; + +import javax.swing.AbstractAction; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.SwingUtilities; + +public class bug5013739 { + + static boolean passed = true; + static JFrame mainFrame; + static JMenu file; + + public static void main(String[] args) throws InterruptedException, + InvocationTargetException { + SwingUtilities.invokeAndWait(() -> { + mainFrame = new JFrame("Bug5013739"); + JMenuBar mb = new JMenuBar(); + mainFrame.setJMenuBar(mb); + file = new JMenu("File"); + JMenuItem about = new JMenuItem("About"); + about.setMnemonic('A'); + about.addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent evt) { + passed = false; + } + }); + file.add(about); + about.setVisible(false); + file.add("Open"); + file.add("Close"); + file.setMnemonic('F'); + mb.add(file); + mainFrame.pack(); + mainFrame.setVisible(true); + Util.blockTillDisplayed(mainFrame); + }); + + try { + JRobot robo = JRobot.getRobot(); + robo.delay(500); + robo.clickMouseOn(file); + robo.hitKey(KeyEvent.VK_A); + robo.delay(1000); + } finally { + if (mainFrame != null) { + SwingUtilities.invokeAndWait(() -> mainFrame.dispose()); + } + } + if (!passed) { + throw new RuntimeException("Hidden menu item is selectable "+ + "via mnemonic. Test failed."); + } + } +} + +class Util { + public static Point blockTillDisplayed(Component comp) { + Point p = null; + while (p == null) { + try { + p = comp.getLocationOnScreen(); + } catch (IllegalStateException e) { + try { + Thread.sleep(1000); + } catch (InterruptedException ie) { + } + } + } + return p; + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuBar/bug4191374.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuBar/bug4191374.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuBar/bug4191374.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuBar/bug4191374.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,66 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4191374 + * @summary Verify if JMenuBar.getSubElements returns an array + with null values + * @run main bug4191374 + */ + +import javax.swing.Box; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.MenuElement; +import javax.swing.SwingUtilities; + +public class bug4191374 { + static JMenuBar mb; + static volatile boolean pass = true; + + public static void main(String[] args) throws Exception { + SwingUtilities.invokeAndWait(() -> { + mb = new JMenuBar(); + newMenu(mb); + newMenu(mb); + mb.add(Box.createGlue()); + mb.add(new JMenu("Help")); + MenuElement[] me = mb.getSubElements(); + for (int i = 0; i < me.length; i++) { + if (me[i] == null) + pass = false; + } + }); + if (!pass) { + throw new RuntimeException("Bug 4191374 FAILED"); + } + } + + public static void newMenu(JMenuBar mb) { + JMenu m = (JMenu) mb.add(new JMenu("File")); + m.add("Menu item"); + m.add("Menu item"); + m.add("Menu item"); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuBar/bug4802656.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuBar/bug4802656.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuBar/bug4802656.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuBar/bug4802656.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4802656 + * @summary Problem with keyboard navigation in JMenus JMenuItems if setVisible(false) + * @key headful + * @run main bug4802656 + */ + +import java.awt.Robot; +import java.awt.event.KeyEvent; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.SwingUtilities; + +public class bug4802656 { + + public static JFrame mainFrame; + public static JMenu menu2; + public static volatile boolean menu2Selected = true; + + public static void main(String[] args) throws Exception { + Robot robo = new Robot(); + robo.setAutoDelay(100); + try { + SwingUtilities.invokeAndWait(() -> { + mainFrame = new JFrame("Bug4802656"); + JMenuBar menuBar = new JMenuBar(); + JMenu menu1 = new JMenu("File"); + menu2 = new JMenu("Hidden"); + JMenu menu3 = new JMenu("Help"); + menuBar.add(menu1); + menuBar.add(menu2); + menuBar.add(menu3); + menu2.setVisible(false); + mainFrame.setJMenuBar(menuBar); + mainFrame.setSize(200, 200); + mainFrame.setLocationRelativeTo(null); + mainFrame.setVisible(true); + }); + robo.waitForIdle(); + robo.delay(1000); + robo.keyPress(KeyEvent.VK_F10); + robo.keyRelease(KeyEvent.VK_F10); + robo.keyPress(KeyEvent.VK_RIGHT); + robo.keyRelease(KeyEvent.VK_RIGHT); + robo.delay(500); + + SwingUtilities.invokeAndWait(() -> { + menu2Selected = menu2.isSelected(); + }); + + if (menu2Selected) { + throw new RuntimeException("Test failed"); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (mainFrame != null) { + mainFrame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/4654927/bug4654927.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/4654927/bug4654927.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/4654927/bug4654927.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/4654927/bug4654927.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,15 +26,20 @@ * @key headful * @bug 4654927 * @summary Clicking on Greyed Menuitems closes the Menubar Dropdown - * @author Alexander Potochkin * @library ../../regtesthelpers * @build Util * @run main bug4654927 */ -import javax.swing.*; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; -import java.awt.*; +import java.awt.Point; +import java.awt.Robot; import java.awt.event.InputEvent; import java.util.concurrent.Callable; @@ -48,78 +53,65 @@ try { String systemLAF = UIManager.getSystemLookAndFeelClassName(); // the test is not applicable to Motif L&F - if(systemLAF.endsWith("MotifLookAndFeel")){ + if (systemLAF.endsWith("MotifLookAndFeel")) { return; } UIManager.setLookAndFeel(systemLAF); Robot robot = new Robot(); - robot.setAutoDelay(10); + robot.setAutoWaitForIdle(true); + robot.setAutoDelay(100); - SwingUtilities.invokeAndWait(new Runnable() { + SwingUtilities.invokeAndWait(() -> createAndShowUI()); - public void run() { - createAndShowUI(); - } - }); robot.waitForIdle(); + robot.delay(1000); // test mouse press - Point point = Util.getCenterPoint(menu); - robot.mouseMove(point.x, point.y); - robot.mousePress(InputEvent.BUTTON1_MASK); - robot.mouseRelease(InputEvent.BUTTON1_MASK); + Point menuLocation = Util.getCenterPoint(menu); + System.out.println("Menu Location " + menuLocation); + robot.mouseMove(menuLocation.x, menuLocation.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); robot.waitForIdle(); + robot.delay(250); - point = Util.getCenterPoint(menuItem); - robot.mouseMove(point.x, point.y); - robot.mousePress(InputEvent.BUTTON1_MASK); - robot.mouseRelease(InputEvent.BUTTON1_MASK); + Point itemLocation = Util.getCenterPoint(menuItem); + System.out.println("MenuItem Location " + itemLocation); + robot.mouseMove(itemLocation.x, itemLocation.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); robot.waitForIdle(); + robot.delay(250); if (!isMenuItemShowing()) { throw new RuntimeException("Popup is unexpectedly closed"); } - // test mouse drag - point = Util.getCenterPoint(menu); - robot.mouseMove(point.x, point.y); - Point menuLocation = Util.invokeOnEDT(new Callable() { - - @Override - public Point call() throws Exception { - return menu.getLocationOnScreen(); - } - }); - - Point itemLocation = Util.invokeOnEDT(new Callable() { - - @Override - public Point call() throws Exception { - return menuItem.getLocationOnScreen(); - } - }); - - int x0 = menuLocation.x + 10; - int y0 = menuLocation.y + 10; - int x1 = itemLocation.x + 10; - int y1 = itemLocation.y + 10; - // close menu - robot.mousePress(InputEvent.BUTTON1_MASK); - robot.mouseRelease(InputEvent.BUTTON1_MASK); + robot.mouseMove(menuLocation.x, menuLocation.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); robot.waitForIdle(); + robot.delay(250); - robot.mousePress(InputEvent.BUTTON1_MASK); - Util.glide(robot, x0, y0, x1, y1); - robot.mouseRelease(InputEvent.BUTTON1_MASK); + // test mouse drag + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.delay(250); + Util.glide(robot, menuLocation.x, menuLocation.y, + itemLocation.x, itemLocation.y); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); robot.waitForIdle(); if (!isMenuItemShowing()) { throw new RuntimeException("Popup is unexpectedly closed"); } } finally { - if (frame != null) SwingUtilities.invokeAndWait(() -> frame.dispose()); + SwingUtilities.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); } } @@ -151,6 +143,6 @@ frame.setSize(200, 200); frame.setLocationRelativeTo(null); frame.setVisible(true); - } } + diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,18 +32,18 @@ import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; -import javax.swing.JMenuItem; import javax.swing.JPanel; +import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextArea; -import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.text.JTextComponent; /* @test - * @bug 8031573 8040279 8143064 - * @summary [macosx] Checkmarks of JCheckBoxMenuItems aren't rendered + * @bug 8031573 8040279 8143064 8294427 + * @summary Checkmarks of JCheckBoxMenuItems aren't rendered * in high resolution on Retina + * @requires (os.family != "linux") * @run main/manual bug8031573 */ @@ -54,14 +54,21 @@ private static final CountDownLatch latch = new CountDownLatch(1); public static final String INSTRUCTIONS = "INSTRUCTIONS:\n\n" - + "Verify that high resolution system icons are used for JCheckBoxMenuItem on HiDPI displays.\n" - + "If the display does not support HiDPI mode press PASS.\n" - + "1. Run the test on HiDPI Display.\n" - + "2. Open the Menu.\n" - + "3. Check that the icon on the JCheckBoxMenuItem is smooth.\n" - + " If so, press PASS, else press FAIL.\n"; + + "Verify that the check and radio-check icons are rendered smoothly\n" + + "for both JCheckBoxMenuItem and JRadioButtonMenuItem.\n" + + "1. Open the Menu.\n" + + "2. Check that the icon on the JCheckBoxMenuItem is smooth.\n" + + "3. Check that the icon on the JRadioButtonMenuItem is smooth.\n" + + "4. If you're on Windows:\n" + + " Test the markers are still crisp after changing the scale in Windows settings.\n" + + " This could be done on same monitor by changing its scale or\n" + + " by moving the window to a secondary monitor with a different scale.\n" + + " Then go to step 6.\n" + + "5. If you're on Mac OS:\n" + + " If you tested on a Retina display, go to step 6.\n" + + "6. If both icons render smoothly, press PASS, otherwise press FAIL.\n"; - public static void main(String args[]) throws Exception { + public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); try { SwingUtilities.invokeAndWait(() -> createTestGUI()); @@ -88,6 +95,9 @@ JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem("JCheckBoxMenuItem"); checkBoxMenuItem.setSelected(true); menu.add(checkBoxMenuItem); + JRadioButtonMenuItem radioButtonMenuItem = new JRadioButtonMenuItem("JRadioButtonMenuItem"); + radioButtonMenuItem.setSelected(true); + menu.add(radioButtonMenuItem); bar.add(menu); frame.setJMenuBar(bar); diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4198809.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4198809.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4198809.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4198809.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,55 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4198809 + @key headful + @summary If JMenuItem is disabled and disabled icon is null, throws NPE. + @run main bug4198809 +*/ + +import javax.swing.JFrame; +import javax.swing.JMenuItem; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; + +public class bug4198809 { + static JFrame frame; + public static void main(String args[]) throws Exception { + UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); + + SwingUtilities.invokeAndWait(() -> { + try { + frame = new JFrame("bug4198809"); + JMenuItem mi = new JMenuItem("test"); + mi.setDisabledIcon(null); + mi.setEnabled(false); + frame.getContentPane().add(mi); + } finally { + if (frame != null) { + frame.dispose(); + } + } + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4304129.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4304129.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4304129.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4304129.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4304129 + @summary Tests that ACCELERATOR_KEY and MNEMONIC_KEY properties of + Action are used by JMenuItem(Action) constructor + @run main bug4304129 +*/ + +import java.awt.Event; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; + +import javax.swing.AbstractAction; +import javax.swing.JMenuItem; +import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; + +public class bug4304129 { + private static int mnemonic = 102; + private static KeyStroke accelerator = KeyStroke.getKeyStroke( + KeyEvent.VK_E, Event.CTRL_MASK); + + public static void main(String args[]) throws Exception { + JMenuItem mi = new JMenuItem(new TestAction("Delete Folder")); + + if (mi.getMnemonic() != mnemonic) { + throw new RuntimeException("Failed: mnemonic not set from Action"); + } + + if (mi.getAccelerator() == null || + ! mi.getAccelerator().equals(accelerator)) { + + throw new RuntimeException("Failed: accelerator not set from Action"); + } + } + + static class TestAction extends AbstractAction { + TestAction(String str) { + super(str); + putValue(AbstractAction.ACCELERATOR_KEY, accelerator); + putValue(AbstractAction.MNEMONIC_KEY, new Integer(mnemonic)); + } + public void actionPerformed(ActionEvent ev) { + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4839464.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4839464.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4839464.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4839464.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,265 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + @test + @bug 4839464 + @summary Shortcoming in the way JMenuItem handles 'propertyChange()' events. + @key headful + @run main bug4839464 +*/ + +import java.awt.BorderLayout; +import java.awt.GridLayout; +import java.awt.Point; +import java.awt.Robot; +import java.awt.event.ActionEvent; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; + +import javax.swing.Action; +import javax.swing.AbstractAction; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; + +public class bug4839464 { + + // Global variables + public static volatile boolean passed = true; + public static volatile String reason = "\nSome actions did not worked:"; + + public static AbstractAction action= new AbstractAction() { + public void actionPerformed(ActionEvent e) { + System.out.println("An action has performed"); + } + }; + + public static KeyStroke ks1 = + KeyStroke.getKeyStroke(KeyEvent.VK_F1, + KeyEvent.SHIFT_DOWN_MASK); + + public static KeyStroke ks2 = + KeyStroke.getKeyStroke(KeyEvent.VK_F1, + KeyEvent.CTRL_DOWN_MASK); + + public static JFrame frame; + + public static JFrame control; + public static JButton changeNameButton; + public static JButton changeMnemonicButton; + public static JButton changeAcceleratorButton; + public static JButton changeShortDescButton; + + public static JMenuItem item; + + public static Robot r; + + public static volatile int btnWidth, btnHeight; + public static volatile Point p; + + public static void main(String[] args) throws Exception { + try { + r = new Robot(); + SwingUtilities.invokeAndWait(() -> { + changeNameButton = new JButton("Change name"); + changeMnemonicButton = new JButton("On/Off mnemonic"); + changeAcceleratorButton = new JButton("Change accelerator"); + changeShortDescButton = new JButton("Change short desc."); + + JMenuBar mb = new JMenuBar(); + JMenu test = new JMenu("Test"); + mb.add(test); + item = new JMenuItem(action); + test.add(item); + frame = new JFrame("Action tester"); + frame.setJMenuBar(mb); + frame.setLayout(new BorderLayout()); + frame.add(new JButton(action), BorderLayout.CENTER); + frame.pack(); + frame.setLocation(100, 10); + frame.setVisible(true); + r.delay(100); + + control = new JFrame("Controls"); + control.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + control.setLayout(new GridLayout(2, 10)); + control.add(changeNameButton); + control.add(changeMnemonicButton); + control.add(changeAcceleratorButton); + control.add(changeShortDescButton); + control.pack(); + control.setLocation(100, 500); + control.setVisible(true); + r.delay(100); + + changeNameButton.addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + if ("First Name".equals(action.getValue(Action.NAME))) { + action.putValue(Action.NAME, "Second Name"); + } else { + action.putValue(Action.NAME, "First Name"); + } + } + }); + + changeMnemonicButton.addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + Integer mnem = (Integer) action.getValue(Action.MNEMONIC_KEY); + if (mnem.intValue() == 0) { + action.putValue(Action.MNEMONIC_KEY, new Integer('N')); + } else { + action.putValue(Action.MNEMONIC_KEY, new Integer(0)); + } + } + }); + + changeAcceleratorButton.addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + if (action.getValue(Action.ACCELERATOR_KEY) == ks1) { + action.putValue(Action.ACCELERATOR_KEY, ks2); + } else { + action.putValue(Action.ACCELERATOR_KEY, ks1); + } + } + }); + + changeShortDescButton.addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + String shortDescr = (String) action.getValue(Action.SHORT_DESCRIPTION); + if ("Just a text".equals(shortDescr)) { + action.putValue(Action.SHORT_DESCRIPTION, null); + } else { + action.putValue(Action.SHORT_DESCRIPTION, "Just a text"); + } + } + }); + + action.putValue(Action.NAME, "Second Name"); + action.putValue(Action.MNEMONIC_KEY, new Integer('N')); + action.putValue(Action.ACCELERATOR_KEY, ks1); + action.putValue(Action.SHORT_DESCRIPTION, null); + }); + + r.delay(1000); + r.waitForIdle(); + // Run tests + test(); + r.delay(1000); + r.waitForIdle(); + + if (!passed) { + throw new RuntimeException(reason + "\nTest failed."); + } + } finally { + if (frame != null) { + frame.dispose(); + } + if (control != null) { + control.dispose(); + } + } + } + + public static boolean compareObjects(Object a, Object b) { + if (a == null) { + return (b == null); + } + return a.equals(b); + } + + // Actual tests + public static void test() throws Exception { + r.delay(500); + Object tmpResult; + + // Check Action.NAME handling + tmpResult = item.getText(); + SwingUtilities.invokeAndWait(() -> { + p = changeNameButton.getLocationOnScreen(); + btnWidth = changeNameButton.getWidth(); + btnHeight = changeNameButton.getHeight(); + }); + + doMouseMove(p, btnWidth, btnHeight); + if (compareObjects(tmpResult, item.getText())) { + passed = false; + reason = reason + "\n Action.NAME"; + } + + // Check mnemonics + int tmpInt = item.getMnemonic(); + SwingUtilities.invokeAndWait(() -> { + p = changeMnemonicButton.getLocationOnScreen(); + btnWidth = changeMnemonicButton.getWidth(); + btnHeight = changeMnemonicButton.getHeight(); + }); + + doMouseMove(p, btnWidth, btnHeight); + if (tmpInt == item.getMnemonic()) { + passed = false; + reason = reason + "\n Action.MNEMONIC_KEY"; + } + + // Check accelerator binding + tmpResult = item.getAccelerator(); + SwingUtilities.invokeAndWait(() -> { + p = changeAcceleratorButton.getLocationOnScreen(); + btnWidth = changeAcceleratorButton.getWidth(); + btnHeight = changeAcceleratorButton.getHeight(); + }); + + doMouseMove(p, btnWidth, btnHeight); + if (compareObjects(tmpResult, item.getAccelerator())) { + passed = false; + reason = reason + "\n Action.ACCELERATOR_KEY"; + } + + // Check short description (should change ToolTipText) + tmpResult = item.getToolTipText(); + SwingUtilities.invokeAndWait(() -> { + p = changeShortDescButton.getLocationOnScreen(); + btnWidth = changeShortDescButton.getWidth(); + btnHeight = changeShortDescButton.getHeight(); + }); + + doMouseMove(p, btnWidth, btnHeight); + if (compareObjects(tmpResult, item.getToolTipText())) { + passed = false; + reason = reason + "\n Action.SHORT_DESCRIPTION"; + } + } + + public static void doMouseMove(Point p, int width, int height) { + r.mouseMove(p.x + width / 2, p.y + height / 2); + r.delay(500); + r.mousePress(InputEvent.BUTTON1_DOWN_MASK); + r.delay(500); + r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + r.delay(500); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4966168.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4966168.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JMenuItem/bug4966168.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JMenuItem/bug4966168.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4966168 + @summary JInternalFrame not serializable in Motif & GTK L&F + @run main bug4966168 +*/ + +import javax.swing.AbstractAction; +import javax.swing.JButton; +import java.io.ByteArrayOutputStream; +import java.io.ObjectOutputStream; +import java.io.IOException; +import java.io.Serializable; +import java.awt.event.ActionEvent; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; + +public class bug4966168 { + + public static class MyAction extends AbstractAction implements Serializable { + public void actionPerformed(ActionEvent e) {} + } + + public static void main(String args[]) throws Exception { + JButton button = new JButton(new MyAction()); + + ObjectOutputStream out = null; + + ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); + try { + out = new ObjectOutputStream(byteStream); + } catch (IOException e) {} + + if (out != null) { + for (UIManager.LookAndFeelInfo laf : + UIManager.getInstalledLookAndFeels()) { + try { + UIManager.setLookAndFeel(laf.getClassName()); + System.out.println("Testing LAF: " + laf.getClassName()); + } catch (UnsupportedLookAndFeelException e) { + System.out.println("Look and Feel not set: " + laf.getClassName()); + continue; + } + + out.writeObject(button); + } + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JTableHeader/6889007/bug6889007.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JTableHeader/6889007/bug6889007.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JTableHeader/6889007/bug6889007.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JTableHeader/6889007/bug6889007.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,6 +30,7 @@ import java.awt.Cursor; import java.awt.Dimension; +import java.awt.MouseInfo; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; @@ -47,13 +48,15 @@ static JFrame frame; static Robot robot; static volatile Point point; + static volatile Point mouseLoc; static volatile int width; static volatile int height; + static volatile boolean ignoreFirst = false; public static void main(String[] args) throws Exception { try { robot = new Robot(); - robot.setAutoDelay(100); + robot.mouseMove(100, 100); SwingUtilities.invokeAndWait(() -> { frame = new JFrame(); @@ -69,21 +72,29 @@ frame.add(th); frame.pack(); frame.setLocationRelativeTo(null); + frame.setAlwaysOnTop(true); frame.setVisible(true); }); robot.waitForIdle(); robot.delay(1000); SwingUtilities.invokeAndWait(() -> { + mouseLoc = MouseInfo.getPointerInfo().getLocation(); point = frame.getLocationOnScreen(); width = frame.getWidth(); height = frame.getHeight(); }); + if ((mouseLoc.x >= point.x) && (mouseLoc.x < point.x + width) && + (mouseLoc.y >= point.y) && (mouseLoc.y < point.y + height)) { + System.out.println("pointer is within window"); + ignoreFirst = true; + MyTableHeaderUI.testValue = 0; + } int shift = 10; int x = point.x; int y = point.y + height/2; - for(int i = -shift; i < width + 2*shift; i++) { + for (int i = -shift; i < width + 2*shift; i++) { robot.mouseMove(x++, y); - robot.waitForIdle(); + robot.delay(100); } robot.waitForIdle(); // 9 is a magic test number @@ -102,11 +113,19 @@ } static class MyTableHeaderUI extends BasicTableHeaderUI { - private static int testValue; + private static volatile int testValue; protected void rolloverColumnUpdated(int oldColumn, int newColumn) { increaseTestValue(newColumn); Cursor cursor = Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR); + System.out.println("oldColumn " + oldColumn + " newColumn " + newColumn + + " header.getCursor " + header.getCursor() + " cursor " + cursor); + if (ignoreFirst) { + ignoreFirst = false; + if (newColumn == 0) { + return; + } + } if (oldColumn != -1 && newColumn != -1 && header.getCursor() != cursor) { try { diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JTextField/bug4300552.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JTextField/bug4300552.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JTextField/bug4300552.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JTextField/bug4300552.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.swing.JTextField; +import java.awt.ComponentOrientation; +import java.awt.font.TextAttribute; + +/* + * @test + * @bug 4300552 + * @summary A JTextComponent's RUN_DIRECTION document property was not being + * initialized. + */ + +public class bug4300552 { + private static JTextField textField; + + public static void main(String[] args) throws Exception { + textField = new JTextField("\u0633\u0644\u0627\u0645 Peace"); + testCompOrientation(); + + textField.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); + testCompOrientation(); + + textField.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); + testCompOrientation(); + } + + private static void testCompOrientation() { + Object runDir = textField.getDocument().getProperty(TextAttribute.RUN_DIRECTION); + if (runDir == null) { + throw new RuntimeException("Document's run direction property should be set"); + } + + Boolean runDirFlag = (Boolean) runDir; + ComponentOrientation o = textField.getComponentOrientation(); + if ((TextAttribute.RUN_DIRECTION_LTR == runDirFlag) != o.isLeftToRight()) { + throw new RuntimeException("Document's run direction property(" + + (TextAttribute.RUN_DIRECTION_LTR == runDirFlag ? "LTR" : "RTL") + + ") doesn't match component orientation (" + + (o.isLeftToRight() ? "LTR" : "RTL") + ")"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JToggleButton/bug4277049.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JToggleButton/bug4277049.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JToggleButton/bug4277049.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JToggleButton/bug4277049.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + + +import javax.swing.JCheckBox; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; + +/* + * @test + * @bug 4277049 + * @summary Tests that ToggleButtonModel doesn't fire extra ChangeEvents + */ + +public class bug4277049 implements ItemListener { + + public static void main(String[] args) throws Exception { + JCheckBox box = new JCheckBox(); + box.setSelected(false); + box.addItemListener(e -> fail()); + box.setSelected(false); + + if (failed()) { + throw new RuntimeException("Failed: extra ChangeEvent was fired"); + } + } + + private static boolean failed_flag = false; + synchronized static void fail() { + failed_flag = true; + } + synchronized static boolean failed() { return failed_flag; } + + @Override + public void itemStateChanged(ItemEvent e) { + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/JTree/6263446/bug6263446.java openjdk-11-11.0.23+9/test/jdk/javax/swing/JTree/6263446/bug6263446.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/JTree/6263446/bug6263446.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/JTree/6263446/bug6263446.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -38,7 +38,7 @@ public class bug6263446 { - private static final String FIRST = "AAAAAAAAAAA"; + private static final String FIRST = "AAAAA"; private static final String SECOND = "BB"; private static final String ALL = FIRST + " " + SECOND; private static JTree tree; @@ -62,46 +62,59 @@ try { Point point = getClickPoint(); robot.mouseMove(point.x, point.y); + robot.waitForIdle(); // click count 3 click(1); + robot.waitForIdle(); assertNotEditing(); click(2); + robot.waitForIdle(); assertNotEditing(); click(3); + robot.waitForIdle(); assertEditing(); cancelCellEditing(); assertNotEditing(); click(4); + robot.waitForIdle(); checkSelectedText(FIRST); click(5); + robot.waitForIdle(); checkSelectedText(ALL); // click count 4 setClickCountToStart(4); + robot.waitForIdle(); click(1); + robot.waitForIdle(); assertNotEditing(); click(2); + robot.waitForIdle(); assertNotEditing(); click(3); + robot.waitForIdle(); assertNotEditing(); click(4); + robot.waitForIdle(); assertEditing(); cancelCellEditing(); assertNotEditing(); click(5); + robot.waitForIdle(); checkSelectedText(FIRST); click(6); + robot.waitForIdle(); checkSelectedText(ALL); // start path editing @@ -109,12 +122,15 @@ assertEditing(); click(1); + robot.waitForIdle(); checkSelection(null); click(2); + robot.waitForIdle(); checkSelection(FIRST); click(3); + robot.waitForIdle(); checkSelection(ALL); } finally { if (frame != null) { @@ -128,7 +144,6 @@ for (int i = 0; i < times; i++) { robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); - robot.waitForIdle(); } } @@ -141,7 +156,7 @@ public void run() { Rectangle rect = tree.getRowBounds(0); // UPDATE !!! - Point p = new Point(rect.x + rect.width / 2, rect.y + 2); + Point p = new Point(rect.x + rect.width/2, rect.y + rect.height/2); SwingUtilities.convertPointToScreen(p, tree); result[0] = p; @@ -166,9 +181,11 @@ frame.getContentPane().add(tree); + frame.setAlwaysOnTop(true); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); + frame.toFront(); } private static void setClickCountToStart(final int clicks) throws Exception { @@ -183,6 +200,7 @@ field.setAccessible(true); DefaultCellEditor ce = (DefaultCellEditor) field.get(editor); ce.setClickCountToStart(clicks); + } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { @@ -248,7 +266,9 @@ private static void checkSelectedText(String sel) throws Exception { assertEditing(); checkSelection(sel); + robot.waitForIdle(); cancelCellEditing(); + robot.waitForIdle(); assertNotEditing(); } diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java openjdk-11-11.0.23+9/test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,14 +25,14 @@ * @test * @key headful * @bug 8073001 8081764 + * @requires (os.family == "mac") * @summary Test verifies that combo box with custom editor renders * focus ring around arrow button correctly. - * @library /test/lib - * @build jdk.test.lib.Platform - * @run main CustomComboBoxFocusTest + * @run main/othervm -Dsun.java2d.uiScale=1 CustomComboBoxFocusTest */ import java.awt.AWTException; +import java.awt.Color; import java.awt.Component; import java.awt.GridLayout; import java.awt.Point; @@ -44,8 +44,8 @@ import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; import java.util.concurrent.CountDownLatch; + import javax.imageio.ImageIO; import javax.swing.ComboBoxEditor; import javax.swing.JComboBox; @@ -55,29 +55,24 @@ import javax.swing.JTextField; import javax.swing.SwingUtilities; -import jdk.test.lib.Platform; - public class CustomComboBoxFocusTest { private static CustomComboBoxFocusTest test = null; + static int colorTolerance = 5; - public static void main(String[] args) { - if (!Platform.isOSX()) { + public static void main(String[] args) throws Exception { + if (!System.getProperty("os.name").toLowerCase().contains("os x")) { System.out.println("Only Mac platform test. Test is skipped for other OS."); return; } - try { - SwingUtilities.invokeAndWait(new Runnable() { - public void run() { - test = new CustomComboBoxFocusTest(); - } - }); - } catch (InterruptedException | InvocationTargetException e ) { - throw new RuntimeException("Test failed.", e); - } + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + test = new CustomComboBoxFocusTest(); + } + }); - SwingUtilities.invokeLater(test.init); + SwingUtilities.invokeAndWait(test.init); try { System.out.println("Wait for screenshots..."); @@ -130,7 +125,23 @@ for (int y = 0; y < h; y++) { for (int x = 0; x < w; x++) { - if (a.getRGB(x, y) != b.getRGB(x, y)) { + Color refRGB = new Color(a.getRGB(x,y)); + Color customRGB = new Color(b.getRGB(x,y)); + + int red1 = refRGB.getRed(); + int blue1 = refRGB.getBlue(); + int green1 = refRGB.getGreen(); + + int red2 = customRGB.getRed(); + int blue2 = customRGB.getBlue(); + int green2 = customRGB.getGreen(); + + if ((Math.abs(red1 - red2) > colorTolerance) || + (Math.abs(green1 - green2) > colorTolerance) || + (Math.abs(blue1 - blue2) > colorTolerance)) { + System.out.println("x " + x + " y " + y + + " refRGB " + refRGB + + " customRGB " + customRGB); return false; } } @@ -222,6 +233,7 @@ f.add(p); f.pack(); + f.setLocationRelativeTo(null); f.setVisible(true); } diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/plaf/aqua/TestAltUpDownComboBox.java openjdk-11-11.0.23+9/test/jdk/javax/swing/plaf/aqua/TestAltUpDownComboBox.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/plaf/aqua/TestAltUpDownComboBox.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/plaf/aqua/TestAltUpDownComboBox.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* @test + * @bug 7148092 + * @requires (os.family == "mac") + * @summary Tests that alt+down arrow pulls down JComboBox popup + * @key headful + * @run main TestAltUpDownComboBox +*/ + +import java.awt.Container; +import java.awt.Robot; +import java.awt.event.KeyEvent; +import javax.swing.BoxLayout; +import javax.swing.JFrame; +import javax.swing.JComboBox; +import javax.swing.SwingUtilities; + +public class TestAltUpDownComboBox { + + private static JFrame frame; + private static JComboBox combo; + + public static void main(String[] argv) throws Exception { + Robot robot = new Robot(); + robot.setAutoDelay(100); + try { + SwingUtilities.invokeAndWait(() -> { + frame = new JFrame(""); + Object[] fruits = {"Banana", "Pear", "Apple"}; + combo = new JComboBox(fruits); + Container pane = frame.getContentPane(); + pane.setLayout(new BoxLayout(pane, BoxLayout.X_AXIS)); + pane.add(combo); + + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + robot.waitForIdle(); + robot.delay(1000); + robot.keyPress(KeyEvent.VK_ALT); + robot.keyPress(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_ALT); + robot.delay(1000); + + if (!combo.isPopupVisible()) { + throw new RuntimeException("comboBox is not visible"); + } + + robot.keyPress(KeyEvent.VK_ALT); + robot.keyPress(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_ALT); + robot.delay(1000); + + if (combo.getSelectedIndex() != combo.getItemCount() - 1) { + System.out.println(combo.getSelectedIndex()); + throw new RuntimeException("Alt+Down did not select last entry"); + } + + robot.keyPress(KeyEvent.VK_ALT); + robot.keyPress(KeyEvent.VK_UP); + robot.keyRelease(KeyEvent.VK_UP); + robot.keyRelease(KeyEvent.VK_ALT); + robot.delay(1000); + + if (combo.getSelectedIndex() != 0) { + System.out.println(combo.getSelectedIndex()); + throw new RuntimeException("Alt+Up did not select first entry"); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/CompositeView/bug4398059.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/CompositeView/bug4398059.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/CompositeView/bug4398059.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/CompositeView/bug4398059.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Robot; +import java.awt.Shape; +import javax.swing.JEditorPane; +import javax.swing.JFrame; +import javax.swing.SwingUtilities; +import javax.swing.text.BadLocationException; +import javax.swing.text.Document; +import javax.swing.text.Element; +import javax.swing.text.Position; +import javax.swing.text.StyleConstants; +import javax.swing.text.View; +import javax.swing.text.ViewFactory; +import javax.swing.text.html.HTML; +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.ParagraphView; + +/* + * @test + * @bug 4398059 + * @key headful + * @summary Tests that CompositeView doesn't throw NPE. + */ + +public class bug4398059 { + private static JFrame jFrame; + + public static void main(String[] args) throws Exception { + try { + Robot robot = new Robot(); + SwingUtilities.invokeAndWait(bug4398059::createAndShowUI); + robot.waitForIdle(); + robot.delay(1000); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (jFrame != null) { + jFrame.dispose(); + } + }); + } + } + + public static void createAndShowUI() { + String text = "

text"; + jFrame = new JFrame("CompositeView Test"); + JEditorPane jep = new JEditorPane(); + jep.setEditorKit(new MyHTMLEditorKit()); + jep.setText(text); + + Document doc = jep.getDocument(); + jep.setCaretPosition(doc.getLength() - 1); + + jFrame.getContentPane().add(jep); + jFrame.setSize(200,200); + jFrame.setVisible(true); + } + + static class MyHTMLEditorKit extends HTMLEditorKit { + private static final ViewFactory defaultFactory = new MyHTMLFactory(); + + public ViewFactory getViewFactory() { + return defaultFactory; + } + + static class MyHTMLFactory extends HTMLEditorKit.HTMLFactory { + public View create(Element elem) { + Object obj = elem.getAttributes().getAttribute(StyleConstants.NameAttribute); + if (obj instanceof HTML.Tag) { + HTML.Tag kind = (HTML.Tag) obj; + if (kind == HTML.Tag.H1) { + return new MyParagraphView(elem); + } + } + return super.create(elem); + } + } + + static class MyParagraphView extends ParagraphView { + public MyParagraphView(Element elem) { + super(elem); + } + + public Shape getChildAllocation(int index, Shape a) { + return null; + } + + public Shape modelToView(int pos, Shape a, Position.Bias b) + throws BadLocationException { + return super.modelToView(pos, a, b); + } + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultCaret/bug4197894.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultCaret/bug4197894.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultCaret/bug4197894.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultCaret/bug4197894.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,106 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import javax.swing.JFrame; +import javax.swing.JTextArea; +import javax.swing.SwingUtilities; + +/* + * @test + * @bug 4197894 + * @key headful + * @summary Tests if shift-click adjusts selection in text areas. + */ + +public class bug4197894 { + private static JFrame jFrame; + private static JTextArea ta; + + private static volatile Point point = null; + private static volatile Rectangle bounds; + + private static volatile boolean passed = true; + + public static void main(String[] args) throws Exception { + try { + Robot robot = new Robot(); + robot.setAutoDelay(50); + robot.setAutoWaitForIdle(true); + + SwingUtilities.invokeAndWait(bug4197894::createAndShowUI); + robot.waitForIdle(); + robot.delay(1000); + + SwingUtilities.invokeAndWait(() -> { + point = ta.getLocationOnScreen(); + bounds = ta.getBounds(); + }); + robot.waitForIdle(); + robot.delay(300); + + robot.mouseMove((point.x + bounds.width / 4), + (point.y + bounds.height / 4)); + + robot.keyPress(KeyEvent.VK_SHIFT); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.keyRelease(KeyEvent.VK_SHIFT); + robot.delay(300); + + if (!passed) { + throw new RuntimeException("Test failed." + + " Shift-Click Text Selection does not work!"); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (jFrame != null) { + jFrame.dispose(); + } + }); + } + } + + private static void createAndShowUI() { + jFrame = new JFrame("Shift-Click Text Selection"); + ta = new JTextArea(); + ta.addKeyListener(new KeyAdapter() { + public void keyReleased(KeyEvent e) { + String selText = ta.getSelectedText(); + passed = !(selText == null || (selText.length() == 0)); + } + }); + ta.setText("12345\n12345\n12345\n12345\n12345\n12345\n12345"); + ta.setCaretPosition(ta.getDocument().getLength()); + jFrame.getContentPane().add(ta); + jFrame.pack(); + jFrame.setLocationRelativeTo(null); + jFrame.setAlwaysOnTop(true); + jFrame.setVisible(true); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultCaret/bug4203175.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultCaret/bug4203175.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultCaret/bug4203175.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultCaret/bug4203175.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,134 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Container; +import java.awt.Point; +import java.awt.Robot; +import java.awt.event.InputEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; + +/* + * @test + * @bug 4203175 + * @key headful + * @summary Tests that double-click on disabled JTextField doesn't + * cause other text-field to select content. + */ + +public class bug4203175 { + private static JFrame jFrame; + private static JTextField tf1, tf2; + private static JButton b; + private static volatile Point point; + private static volatile boolean passed = true; + private static int clicks = 0; + + public static void main(String[] args) throws Exception { + try { + Robot robot = new Robot(); + robot.setAutoDelay(50); + robot.setAutoWaitForIdle(true); + + SwingUtilities.invokeAndWait(bug4203175::createAndShowUI); + robot.delay(1000); + + SwingUtilities.invokeAndWait(() -> point = tf1.getLocationOnScreen()); + robot.mouseMove(point.x, point.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.delay(200); + + SwingUtilities.invokeAndWait(() -> point = b.getLocationOnScreen()); + robot.mouseMove(point.x, point.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.delay(200); + + SwingUtilities.invokeAndWait(() -> point = tf2.getLocationOnScreen()); + robot.mouseMove(point.x, point.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + robot.delay(200); + + if (!passed) { + throw new RuntimeException("Test failed!! Text selection on disabled" + + " TextField does not work as expected!"); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (jFrame != null) { + jFrame.dispose(); + } + }); + } + } + + private static void createAndShowUI() { + jFrame = new JFrame("JTextField Text Selection"); + Container cont = jFrame.getContentPane(); + cont.setLayout(new BoxLayout(cont, BoxLayout.Y_AXIS)); + + tf1 = new JTextField(20); + tf1.setText("sometext"); + tf1.setName("Field 1"); + tf1.setCaretPosition(tf1.getDocument().getLength()); + cont.add(tf1); + + tf2 = new JTextField(20); + tf2.setName("Field 2"); + tf2.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + super.mouseClicked(e); + clicks++; + if (clicks == 2) { + String selText = tf1.getSelectedText(); + passed = (selText == null || (selText.length() == 0)); + } + } + }); + cont.add(tf2); + + b = new JButton("Toggle Enabled"); + cont.add(b); + b.addActionListener(e -> { + if (e.getSource() == b) { + boolean b = tf1.isEnabled(); + tf1.setEnabled(!b); + tf2.setEnabled(!b); + } + }); + + jFrame.pack(); + jFrame.setLocationRelativeTo(null); + jFrame.setVisible(true); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultEditorKit/bug4265242.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultEditorKit/bug4265242.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultEditorKit/bug4265242.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultEditorKit/bug4265242.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,52 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.event.ActionEvent; +import javax.swing.Action; +import javax.swing.JTextPane; +import javax.swing.text.DefaultEditorKit; + +/* + * @test + * @bug 4265242 + * @summary Tests endParagraphAction in JTextPane + */ + +public class bug4265242 { + public static void main(String[] args) { + JTextPane jTextPane = new JTextPane(); + jTextPane.setText("Merry sparrow"); + + Action[] actions = jTextPane.getActions(); + Action endPara = null; + for (Action action : actions) { + String name = (String) action.getValue(Action.NAME); + if (name.equals(DefaultEditorKit.endParagraphAction)) { + endPara = action; + } + } + endPara.actionPerformed(new ActionEvent(jTextPane, + ActionEvent.ACTION_PERFORMED, + DefaultEditorKit.endParagraphAction)); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultStyledDocument/bug4472852.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultStyledDocument/bug4472852.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/DefaultStyledDocument/bug4472852.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/DefaultStyledDocument/bug4472852.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Color; +import javax.swing.text.DefaultStyledDocument; +import javax.swing.text.Element; +import javax.swing.text.MutableAttributeSet; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.StyleConstants; +import javax.swing.text.StyledDocument; + +/* + * @test + * @bug 4472852 + * @summary Tests DefaultStyledDocument.split(int, int) + */ + +public class bug4472852 { + + public static void main(String[] args) throws Exception { + // create a Document and insert some text there + StyledDocument doc = new DefaultStyledDocument(); + doc.insertString(0, "this", null); + + // add style to the last word + Element root = doc.getDefaultRootElement(); + int end = root.getEndOffset(); + MutableAttributeSet as = new SimpleAttributeSet(); + StyleConstants.setBackground(as, Color.BLUE); + doc.setCharacterAttributes(end-5, 5, as, true); + + // inspect Elements of the only Paragraph -- + // there should be no empty Elements + Element para = root.getElement(0); + for (int i = 0; i < para.getElementCount(); i++) { + Element el = para.getElement(i); + if (el.getStartOffset() == el.getEndOffset()) { + throw new RuntimeException("Failed: empty Element found"); + } + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4267840.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4267840.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4267840.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4267840.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,61 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4267840 + @summary Tests how HTMLEditorKit.write() works on small documents + @run main bug4267840 +*/ + +import javax.swing.JTextPane; +import javax.swing.text.EditorKit; +import javax.swing.SwingUtilities; +import java.io.File; +import java.io.FileOutputStream; + +public class bug4267840 { + public static void main(String[] args) throws Exception { + SwingUtilities.invokeAndWait(() -> { + final JTextPane textpane = new JTextPane(); + textpane.setContentType("text/html"); + final EditorKit kit = textpane.getEditorKit(); + + textpane.setText("A word"); + File file = new File("bug4267840.out"); + try { + FileOutputStream out = new FileOutputStream(file); + kit.write(out, textpane.getDocument(), 0, + textpane.getDocument().getLength()); + out.close(); + } catch (Exception e) {} + try { + if (file.length() < 6) { // simply can't be + throw new RuntimeException("Failed: " + + " HTMLEditorKit.write() is broken"); + } + } finally { + file.delete(); + } + }); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4357975.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4357975.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4357975.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLEditorKit/bug4357975.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4357975 + * @summary Tests if InsertUnorderedListItem generates the proper tag sequence + * @run main bug4357975 + */ + +import java.awt.event.ActionEvent; + +import javax.swing.Action; +import javax.swing.JEditorPane; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import javax.swing.text.AttributeSet; +import javax.swing.text.Element; +import javax.swing.text.StyleConstants; +import javax.swing.text.html.HTML; +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.HTMLDocument; + +public class bug4357975 { + + public static void main(String[] args) throws Exception { + JEditorPane jep = new JEditorPane(); + HTMLEditorKit kit = new HTMLEditorKit(); + jep.setEditorKit(kit); + jep.setDocument(kit.createDefaultDocument()); + + HTMLDocument doc = (HTMLDocument) jep.getDocument(); + + DocumentListener l = new DocumentListener() { + @Override + public void insertUpdate(DocumentEvent e) { + int offset = e.getOffset(); + HTMLDocument doc = (HTMLDocument)e.getDocument(); + + Element el = doc.getCharacterElement(offset + 1); + AttributeSet attrs = el.getAttributes(); + Object name = attrs.getAttribute(StyleConstants.NameAttribute); + boolean passed = (name == HTML.Tag.CONTENT); + + el = el.getParentElement(); + attrs = el.getAttributes(); + name = attrs.getAttribute(StyleConstants.NameAttribute); + passed = (passed && (name == HTML.Tag.IMPLIED)); + + el = el.getParentElement(); + attrs = el.getAttributes(); + name = attrs.getAttribute(StyleConstants.NameAttribute); + passed = (passed && (name == HTML.Tag.LI)); + + el = el.getParentElement(); + attrs = el.getAttributes(); + name = attrs.getAttribute(StyleConstants.NameAttribute); + passed = (passed && (name == HTML.Tag.UL)); + if (!passed) { + throw new RuntimeException("Test failed"); + } + } + + @Override + public void changedUpdate(DocumentEvent e) {} + @Override + public void removeUpdate(DocumentEvent e) {} + }; + doc.addDocumentListener(l); + + Action[] actions = kit.getActions(); + for (int i = 0; i < actions.length; i++){ + Action a = actions[i]; + if (a.getValue(Action.NAME) == "InsertUnorderedListItem") { + a.actionPerformed(new ActionEvent(jep, + ActionEvent.ACTION_PERFORMED, + (String) a.getValue(Action.ACTION_COMMAND_KEY))); + break; + } + } + + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/HTMLWriter/bug4841760.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLWriter/bug4841760.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/HTMLWriter/bug4841760.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/HTMLWriter/bug4841760.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4841760 + * @summary Tests if HTML tags are correctly shown for + StyleEditorKit.ForegroundAction() in JTextPane output. + * @run main bug4841760 + */ + +import javax.swing.JTextPane; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.StyleConstants; +import javax.swing.text.html.HTMLEditorKit; + +public class bug4841760 { + + public static void main(String[] args) throws Exception { + JTextPane jep = new JTextPane(); + jep.setEditorKit(new HTMLEditorKit()); + jep.setText("hellojavaworld"); + + SimpleAttributeSet set = new SimpleAttributeSet(); + StyleConstants.setForeground(set, java.awt.Color.BLUE); + jep.getStyledDocument().setCharacterAttributes(3, 5, set, false); + + String gotText = jep.getText(); + System.out.println("gotText: " + gotText); + // there should be color attribute set + // and 3 font tags + int i = gotText.indexOf("color"); + if (i > 0) { + i = gotText.indexOf(" 0) { + i = gotText.indexOf(" 0) { + i = gotText.indexOf(" { + bug4329185 test = new bug4329185(); + test.start(); + }); + robot.waitForIdle(); + robot.delay(1000); + boolean passed = ((views[0].getAlignment(View.Y_AXIS) == 0.0) + && (views[1].getAlignment(View.Y_AXIS) == 0.5) + && (views[2].getAlignment(View.Y_AXIS) == 1.0)); + if (!passed) { + throw new RuntimeException("Test failed."); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + } + + public void start() { + String text = "aaa"; + f = new JFrame("bug4329185"); + JEditorPane jep = new JEditorPane(); + jep.setEditorKit(new MyHTMLEditorKit()); + jep.setEditable(false); + + jep.setText(text); + + f.getContentPane().add(jep); + f.setSize(500, 500); + f.setLocationRelativeTo(null); + f.setVisible(true); + } + + + static class MyHTMLEditorKit extends HTMLEditorKit { + + private final ViewFactory defaultFactory = new MyHTMLFactory(); + + @Override + public ViewFactory getViewFactory() { + return defaultFactory; + } + + static class MyHTMLFactory extends HTMLEditorKit.HTMLFactory { + private int i = 0; + + @Override + public View create(Element elem) { + Object o = elem.getAttributes() + .getAttribute(StyleConstants.NameAttribute); + if (o instanceof HTML.Tag) { + HTML.Tag kind = (HTML.Tag) o; + if (kind == HTML.Tag.IMG) { + View v = super.create(elem); + views[i++] = v; + return v; + } + } + return super.create(elem); + } + } + } + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/InlineView/bug4623342.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/InlineView/bug4623342.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/InlineView/bug4623342.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/InlineView/bug4623342.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4623342 + * @summary Tests if InlineView causes extra spacing around images in JTable + * @key headful + * @run main bug4623342 + */ + +import java.awt.Robot; +import java.awt.Shape; + +import javax.swing.JFrame; +import javax.swing.JEditorPane; +import javax.swing.SwingUtilities; +import javax.swing.text.View; +import javax.swing.text.html.HTMLEditorKit; + +public class bug4623342 { + + private static volatile boolean passed; + + private JEditorPane jep; + private static JFrame f; + + public static void main(String[] args) throws Exception { + Robot robot = new Robot(); + robot.setAutoDelay(100); + try { + bug4623342 test = new bug4623342(); + SwingUtilities.invokeAndWait(test::init); + robot.waitForIdle(); + robot.delay(100); + SwingUtilities.invokeAndWait(test::start); + if (!passed) { + throw new RuntimeException("Test failed."); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + } + + public void init() { + + String text = + "" + + "" + + "
" + + "
" + + "
"; + + f = new JFrame(); + jep = new JEditorPane(); + jep.setEditorKit(new HTMLEditorKit()); + jep.setEditable(false); + + jep.setText(text); + + f.getContentPane().add(jep); + f.setSize(500, 500); + f.setLocationRelativeTo(null); + f.setVisible(true); + } + + private void start() { + Shape r = jep.getBounds(); + View v = jep.getUI().getRootView(jep); + int tableHeight = 0; + while (!(v instanceof javax.swing.text.html.ParagraphView)) { + int n = v.getViewCount(); + Shape sh = v.getChildAllocation(n - 1, r); + String viewName = v.getClass().getName(); + if (viewName.endsWith("TableView")) { + tableHeight = r.getBounds().height; + } + v = v.getView(n - 1); + if (sh != null) { + r = sh; + } + } + // tableHeight should be the sum of TD's heights (46) + passed = (tableHeight == 46); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/StyleSheet/bug4218254.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/StyleSheet/bug4218254.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/StyleSheet/bug4218254.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/StyleSheet/bug4218254.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,53 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4218254 + @summary Serialization Bug on StyleSheet. + @run main bug4218254 +*/ + +import javax.swing.text.html.StyleSheet; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; + + +public class bug4218254 { + + public static void main(String[] args) throws Exception { + StyleSheet ssw = new StyleSheet(); + StyleSheet ssr = null; + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(ssw); + byte[] buf = baos.toByteArray(); + oos.close(); + ByteArrayInputStream bais = new ByteArrayInputStream(buf); + ObjectInputStream ois = new ObjectInputStream(bais); + ssr = (StyleSheet)ois.readObject(); + ois.close(); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/StyleSheet/bug4243463.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/StyleSheet/bug4243463.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/StyleSheet/bug4243463.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/StyleSheet/bug4243463.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,54 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4243463 + @summary Tests that StyleSheet has following methods: + public void addStyleSheet(StyleSheet ss); + public void removeStyleSheet(StyleSheet ss); + public Enumeration getStyleSheets() + @run main bug4243463 +*/ + +import javax.swing.text.html.StyleSheet; + +public class bug4243463 { + + public static void main(String[] argv) throws Exception { + StyleSheet main = new StyleSheet(); + StyleSheet ss = new StyleSheet(); + ss.addRule("p {color:red;}"); + + main.addStyleSheet(ss); + StyleSheet[] sheets = main.getStyleSheets(); + if (sheets.length != 1 || sheets[0] != ss) { + throw new RuntimeException("getStyleSheets failed"); + } + + main.removeStyleSheet(ss); + sheets = main.getStyleSheets(); + if (sheets != null) { + throw new RuntimeException("StyleSheet is not removed"); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/TableView/bug4813831.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/TableView/bug4813831.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/html/TableView/bug4813831.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/html/TableView/bug4813831.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4813831 + * @summary Verifies contents of table cells in HTML in JEditorPane wraps correctly + * @key headful + * @run main bug4813831 +*/ + +import javax.swing.JEditorPane; +import javax.swing.JFrame; +import javax.swing.SwingUtilities; +import javax.swing.text.View; +import javax.swing.text.ParagraphView; +import javax.swing.text.html.HTMLEditorKit; + +import java.awt.Robot; +import java.awt.Shape; + +public class bug4813831 { + + private static boolean passed = false; + private boolean finished = false; + + private static JEditorPane jep; + private static JFrame f; + + public void init() { + + String text = + "" + + "" + + "" + + "
XXXXXXXXXXXXXX
X
X
" + + ""; + + f = new JFrame(); + jep = new JEditorPane(); + jep.setEditorKit(new HTMLEditorKit()); + jep.setEditable(false); + + jep.setText(text); + + f.getContentPane().add(jep); + f.setSize(20,500); + f.setLocationRelativeTo(null); + f.setVisible(true); + } + + + public static void main(String args[]) throws Exception { + Robot robot = new Robot(); + robot.setAutoDelay(100); + bug4813831 test = new bug4813831(); + try { + SwingUtilities.invokeAndWait(() -> test.init()); + robot.waitForIdle(); + robot.delay(1000); + Shape r = jep.getBounds(); + View v = jep.getUI().getRootView(jep); + do { + int n = v.getViewCount(); + Shape sh = v.getChildAllocation(n - 1, r); + if (sh != null) { + r = sh; + } + v = v.getView(n - 1); + } while (!(v instanceof ParagraphView)); + + int n = v.getViewCount(); + // there should be 3 lines or more (if the first long line was wrapped) in a cell + passed = n >= 3; + + if (passed) { + Shape sh = v.getChildAllocation(n - 2, r); + int x1 = sh.getBounds().x; + sh = v.getChildAllocation(n - 1, r); + int x2 = sh.getBounds().x; + System.out.println("x1: " + x1 + " x2: " + x2); + // lines should be equally aligned + passed = (x1 == x2); + } + if (!passed) { + throw new RuntimeException("Test failed."); + } + } finally { + SwingUtilities.invokeAndWait(() -> { + if (f != null) { + f.dispose(); + } + }); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/rtf/RTFReadFontCharsetTest.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/rtf/RTFReadFontCharsetTest.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/rtf/RTFReadFontCharsetTest.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/rtf/RTFReadFontCharsetTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6928542 + * @summary Verify RTFEditorKit.read() with fcharset + */ + +import java.io.ByteArrayInputStream; +import java.io.InputStreamReader; +import java.io.PrintStream; +import javax.swing.text.Document; +import javax.swing.text.Element; +import javax.swing.text.rtf.RTFEditorKit; + +import static java.nio.charset.StandardCharsets.ISO_8859_1; + +public class RTFReadFontCharsetTest { + public static void main(String[] args) throws Exception { + String s = + "{\\rtf1\\fbidis\\ansi\\ansicpg932\\deff0\\nouicomp" + + "at\\deflang1033\\deflangfe1041{\\fonttbl{\\f0\\fni" + + "l\\fcharset0 Segoe UI;}{\\f1\\fnil\\fcharset128 Yu" + + " Gothic UI;}{\\f2\\fswiss\\fprq2\\fcharset129 Malg" + + "un Gothic;}{\\f3\\fnil\\fcharset134 Microsoft YaHe" + + "i;}{\\f4\\fnil\\fcharset136 Microsoft JhengHei;}{\\" + + "f5\\fnil\\fcharset161 Segoe UI;}{\\f6\\fnil\\fcha" + + "rset162 Segoe UI;}{\\f7\\fnil\\fcharset163 Segoe U" + + "I;}{\\f8\\fnil\\fcharset177 Segoe UI;}{\\f9\\fnil\\" + + "fcharset178 Segoe UI;}{\\f10\\fnil\\fcharset186 S" + + "egoe UI;}{\\f11\\fnil\\fcharset204 Segoe UI;}{\\f1" + + "2\\fnil\\fcharset222 Leelawadee UI;}{\\f13\\fnil\\" + + "fcharset0 Leelawadee UI;}{\\f14\\fnil\\fcharset238" + + " Segoe UI;}}\r\n{\\*\\generator Riched20 10.0.1904" + + "1}\\viewkind4\\uc1 \r\n\\pard\\ltrpar\\nowidctlpar" + + "\\sa200\\sl276\\slmult1\\f0\\fs22\\lang1041 Gr\\'f" + + "cezi - Switzerland 0\\line\\f1\\'82\\'b1\\'82\\'f" + + "1\\'82\\'c9\\'82\\'bf\\'82\\'cd - Japanese 128\\li" + + "ne\\f2\\lang17\\'be\\'c8\\'b3\\'e7\\'c7\\'cf\\'bc\\" + + "'bc\\'bf\\'e4\\lang1041 - Korean 129\\line\\kern" + + "ing2\\f3\\lang1033\\'c4\\'e3\\'ba\\'c3 - China 134" + + "\\line\\f4\\'bb\\'4f\\'c6\\'57 - Traditional Chine" + + "se - Taiwan 136\\line\\kerning0\\f5\\lang17\\'e3\\" + + "'e5\\'e9\\'e1 \\'f3\\'ef\\'f5 - Greek\\f0\\lang104" + + "1 161\\line\\f6\\lang17 A\\'f0a\\'e7 - \\f0 Turki" + + "sh (Tree) 162\\line\\f7\\'fe\\f0\\lang1041 \\lang" + + "1033 - \\lang17 Vietnam currency\\lang1041 163\\l" + + "ine\\f8\\rtlch\\lang17\\'f9\\'c8\\'d1\\'ec\\'e5\\'" + + "c9\\'ed\\f0\\ltrch - Hebrew 177\\line\\f9\\rtlch\\" + + "lang1025\\'e3\\'d1\\'cd\\'c8\\'c7\\f0\\ltrch\\lan" + + "g17 - Arabic 178\\line\\kerning2\\f10\\lang1033 A" + + "\\'e8i\\'fb - Lithuanian (Thank you) 186\\kerning0" + + "\\f0\\lang1041\\line\\kerning2\\f11\\lang1049\\'c7" + + "\\'e4\\'f0\\'e0\\'e2\\'f1\\'f2\\'e2\\'f3\\'e9\\'f2" + + "\\'e5\\f0\\lang1033 - Russian 204\\line\\kerning0" + + "\\f12\\lang1054\\'ca\\'c7\\'d1\\'ca\\'b4\\'d5 \\f1" + + "3\\lang1033 - Thailand 222\\line\\kerning2\\f14 cz" + + "e\\'9c\\'e6 - Polish 238\\par\r\n}\r\n\u0000"; + String expected = + "Gr\u00fcezi - Switzerland 0\n" + + "\u3053\u3093\u306b\u3061\u306f - Japanese 128\n" + + "\uc548\ub155\ud558\uc138\uc694 - Korean 129\n" + + "\u4f60\u597d - China 134\n" + + "\u81fa\u7063 - Traditional Chinese - Taiwan 136\n" + + "\u03b3\u03b5\u03b9\u03b1 \u03c3\u03bf\u03c5 - Greek 161\n" + + "A\u011fa\u00e7 - Turkish (Tree) 162\n" + + "\u20ab - Vietnam currency 163\n" + + "\u05e9\u05b8\u05c1\u05dc\u05d5\u05b9\u05dd - Hebrew 177\n" + + "\u0645\u0631\u062d\u0628\u0627 - Arabic 178\n" + + "A\u010di\u016b - Lithuanian (Thank you) 186\n" + + "\u0417\u0434\u0440\u0430\u0432\u0441\u0442" + + "\u0432\u0443\u0439\u0442\u0435 - Russian 204\n" + + "\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35 - Thailand 222\n" + + "cze\u015b\u0107 - Polish 238\n" + + "\n"; + ByteArrayInputStream bais = new ByteArrayInputStream( + s.getBytes(ISO_8859_1)); + InputStreamReader isr = new InputStreamReader(bais, ISO_8859_1); + RTFEditorKit kit = new RTFEditorKit(); + Document doc = kit.createDefaultDocument(); + kit.read(isr, doc, 0); + Element elem = doc.getDefaultRootElement(); + int elemStart = elem.getStartOffset(); + int elemEnd = elem.getEndOffset(); + String text = doc.getText(elemStart, elemEnd - elemStart); + if (!expected.equals(text)) { + System.err.println("Read data"); + System.err.println("========="); + dump(text, System.err); + System.err.println("Expected data"); + System.err.println("============="); + dump(expected, System.err); + throw new RuntimeException("Test failed"); + } + } + + private static void dump(String s, PrintStream ps) { + for(char ch : s.toCharArray()) { + if (ch == '\\') + ps.print("\\\\"); + else if (ch >= 0x20 && ch <= 0x7e) + ps.print(ch); + else if (ch == '\n') + ps.println(); + else + ps.printf("\\u%04x", (int)ch); + } + } + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/text/rtf/bug4178276.java openjdk-11-11.0.23+9/test/jdk/javax/swing/text/rtf/bug4178276.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/text/rtf/bug4178276.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/text/rtf/bug4178276.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,55 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4178276 + * @key headful + * @summary RTFEditorkit.write(...) doesn't throw NPE when used in SecurityManager + * @run main/othervm bug4178276 + */ + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.nio.charset.StandardCharsets; +import javax.swing.text.Document; +import javax.swing.text.rtf.RTFEditorKit; + +public class bug4178276 { + + public static void main(String[] argv) throws Exception { + System.setSecurityManager(new SecurityManager()); + + String test="{\\rtf1\\ansi\\deff0\\deftab720{\\fonttbl{\\f0\\f swiss MS Sans Serif;}}{\\colortbl\\red0\\green0\\blue0;}\\qc\\plain\\f0 Test 1 \\par \\ql\\plain\\f0 Test 2 \\par \\qr\\plain\\f0 Test 3 \\par \\qj\\plain\\f0 Test 4}"; + RTFEditorKit c = new RTFEditorKit(); + Document doc = c.createDefaultDocument(); + try { + c.read(new ByteArrayInputStream(test.getBytes( + StandardCharsets.ISO_8859_1)), doc, 0); + ByteArrayOutputStream sw = new ByteArrayOutputStream(); + c.write(sw, doc, 0, 0); + } catch (Exception e) { + throw new RuntimeException("Unexpected NPE exception...", e); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/DefaultTreeCellEditor/bug4480602.java openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeCellEditor/bug4480602.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/DefaultTreeCellEditor/bug4480602.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeCellEditor/bug4480602.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,133 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4480602 + * @summary Verifies if DefaultTreeCellEditor.inHitRegion() incorrectly + * handles row bounds + * @key headful + * @run main bug4480602 +*/ + +import java.awt.ComponentOrientation; +import java.awt.Rectangle; +import java.awt.Robot; +import java.awt.event.MouseEvent; +import javax.swing.JFrame; +import javax.swing.JScrollPane; +import javax.swing.JTree; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeCellEditor; +import javax.swing.tree.DefaultTreeCellRenderer; +import javax.swing.SwingUtilities; + +import java.util.Date; + +public class bug4480602 { + + static JTree tree; + static JFrame fr; + static MyTreeCellEditor editor; + + static Robot robot; + boolean passed = false; + boolean do_test = false; + + public static void main(String[] args) throws Exception { + Robot robot = new Robot(); + robot.setAutoDelay(100); + try { + SwingUtilities.invokeAndWait(() -> { + fr = new JFrame("Test"); + + String s = "0\u05D01\u05D02\u05D03\u05D04\u05D05"; + DefaultMutableTreeNode root = new DefaultMutableTreeNode(s); + root.add(new DefaultMutableTreeNode(s)); + root.add(new DefaultMutableTreeNode(s)); + + tree = new JTree(root); + editor = new MyTreeCellEditor(tree, new DefaultTreeCellRenderer()); + tree.setCellEditor(editor); + tree.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); + tree.setEditable(true); + JScrollPane sp = new JScrollPane(tree); + fr.getContentPane().add(sp); + + fr.setSize(250,200); + fr.setLocationRelativeTo(null); + fr.setVisible(true); + }); + robot.waitForIdle(); + robot.delay(1000); + SwingUtilities.invokeAndWait(() -> { + Rectangle rect = tree.getRowBounds(1); + editor.testTreeCellEditor(rect); + }); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (fr != null) { + fr.dispose(); + } + }); + } + } + + static class MyTreeCellEditor extends DefaultTreeCellEditor { + + public MyTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer) { + super(tree, renderer); + } + + public void testTreeCellEditor(Rectangle rect) { + int x = rect.x + 10; + int y = rect.y + rect.height / 2; + MouseEvent me = new MouseEvent(tree, + MouseEvent.MOUSE_PRESSED, + (new Date()).getTime(), + MouseEvent.BUTTON1_DOWN_MASK, + rect.x + 10, rect.y + 10, + 1, true); + isCellEditable(me); + + if (tree == null) { + throw new RuntimeException("isCellEditable() should set the tree"); + } + if (lastRow != 1) { + throw new RuntimeException("isCellEditable() should set the lastRow"); + } + if (offset == 0) { + throw new RuntimeException("isCellEditable() should determine offset"); + } + + if (!inHitRegion(x,y)) { + throw new RuntimeException("Hit region should contain point ("+x+", "+y+")"); + } + x = rect.x + rect.width - 10; + if (inHitRegion(x,y)) { + throw new RuntimeException("Hit region shouldn't contain point ("+x+", "+y+")"); + } + } + } + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/DefaultTreeCellRenderer/bug4180224.java openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeCellRenderer/bug4180224.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/DefaultTreeCellRenderer/bug4180224.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeCellRenderer/bug4180224.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4180224 + * @summary DefaultTreeCellRenderer.hasFocus protected (not private) now. + * @key headful + * @run main bug4180224 +*/ + +import javax.swing.tree.DefaultTreeCellRenderer; + +public class bug4180224 { + + static class MyDTCR extends DefaultTreeCellRenderer { + void test() { + hasFocus = false; + } + } + + public static void main(String[] argv) { + MyDTCR m = new MyDTCR(); + m.test(); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/DefaultTreeSelectionModel/bug4485322.java openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeSelectionModel/bug4485322.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/DefaultTreeSelectionModel/bug4485322.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/DefaultTreeSelectionModel/bug4485322.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 4485322 + @summary DefaultTreeSelectionModel.insureRowContinuity is broken for CONTIGUOUS_TREE_SELECTION + @run main bug4485322 +*/ + +import javax.swing.SwingUtilities; +import javax.swing.tree.DefaultTreeSelectionModel; +import javax.swing.tree.TreeSelectionModel; +import javax.swing.tree.RowMapper; +import javax.swing.tree.TreePath; + +import java.util.Arrays; + +public class bug4485322 { + + Object obj1[] = {"9", "2", "5", "3", "1"}; + Object obj2[] = {"1", "2", "3"}; + + public void init() { + DummyDefaultTreeSelectionModel model = new DummyDefaultTreeSelectionModel(); + + TreePath sPaths[] = new TreePath[obj1.length]; + for (int i=0; i b.init()); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4210354.java openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4210354.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4210354.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4210354.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,84 @@ +/* + * Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4210354 + * @summary Tests whether method FixedHeightLayoutCache.getBounds returns bad Rectangle + * @run main bug4210354 + */ + +import java.awt.Rectangle; + +import javax.swing.tree.AbstractLayoutCache; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.FixedHeightLayoutCache; +import javax.swing.tree.TreePath; + +public class bug4210354 { + static class DummyNodeDimensions extends AbstractLayoutCache.NodeDimensions { + private final Rectangle rectangle; + + public DummyNodeDimensions(Rectangle r) { + rectangle = r; + } + public Rectangle getNodeDimensions(Object value, int row, int depth, + boolean expanded, Rectangle bounds) { + return rectangle; + } + + /* create the TreeModel of depth 1 with specified num of children */ + public DefaultTreeModel getTreeModelILike(int childrenCount) { + DefaultMutableTreeNode root = new DefaultMutableTreeNode("root"); + for (int i = 0; i < childrenCount; i++) { + DefaultMutableTreeNode child = + new DefaultMutableTreeNode("root.child" + i); + root.insert(child, i); + } + return new DefaultTreeModel(root); + } + } + + public void init() { + int x = 1, y = 2, dx = 3, dy = 4, h = 3; + DummyNodeDimensions dim = new DummyNodeDimensions(new Rectangle(x, y, dx, dy)); + FixedHeightLayoutCache fhlc = new FixedHeightLayoutCache(); + fhlc.setModel(dim.getTreeModelILike(3)); + fhlc.setRootVisible(true); + fhlc.setNodeDimensions(dim); + fhlc.setRowHeight(h); + int row = 0; + TreePath path = fhlc.getPathForRow(row); + Rectangle r = fhlc.getBounds(path, new Rectangle()); + Rectangle r2 = new Rectangle(x, row * h, dx, h); + if (r.width != r2.width) { + throw new RuntimeException("FixedHeightLayoutCache.getBounds returns bad Rectangle"); + } + } + + public static void main(String[] args) throws Exception { + bug4210354 b = new bug4210354(); + b.init(); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4745001.java openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4745001.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4745001.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/tree/FixedHeightLayoutCache/bug4745001.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4745001 + * @summary JTree with setLargeModel(true) not display correctly + * when we expand/collapse nodes + * @key headful + * @run main bug4745001 +*/ + +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Robot; + +import javax.swing.JFrame; +import javax.swing.JTree; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreePath; +import javax.swing.event.TreeExpansionEvent; +import javax.swing.event.TreeExpansionListener; +import javax.swing.SwingUtilities; + +public class bug4745001 { + + static JTree tree; + static JFrame fr; + boolean stateChanged; + + public static void main(String[] args) throws Exception { + Robot robot = new Robot(); + robot.setAutoDelay(100); + bug4745001 test = new bug4745001(); + try { + SwingUtilities.invokeAndWait(() -> test.init()); + robot.waitForIdle(); + robot.delay(1000); + test.start(); + robot.delay(1000); + test.destroy(); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (fr != null) { + fr.dispose(); + } + }); + } + } + + public void init() { + fr = new JFrame("Test"); + fr.getContentPane().setLayout(new FlowLayout()); + + tree = new JTree(); + tree.setRowHeight(20); + tree.setLargeModel(true); + tree.setPreferredSize(new Dimension(100, 400)); + tree.setRootVisible(false); + tree.setShowsRootHandles(true); + + DefaultMutableTreeNode root = new DefaultMutableTreeNode(""); + DefaultMutableTreeNode a = new DefaultMutableTreeNode("a"); + DefaultMutableTreeNode b = new DefaultMutableTreeNode("b"); + DefaultMutableTreeNode c = new DefaultMutableTreeNode("c"); + root.add(a); + root.add(b); + root.add(c); + b.add(new DefaultMutableTreeNode("b1")); + c.add(new DefaultMutableTreeNode("c2")); + tree.setModel(new DefaultTreeModel(root)); + + fr.getContentPane().add(tree); + + tree.addTreeExpansionListener(new TreeExpansionListener() { + public void treeExpanded(TreeExpansionEvent e) { + TreePath path = e.getPath(); + if (path != null) { + DefaultMutableTreeNode node = + (DefaultMutableTreeNode)path.getLastPathComponent(); + node.removeAllChildren(); + String s = (String)node.getUserObject(); + node.add(new DefaultMutableTreeNode(s + "1")); + node.add(new DefaultMutableTreeNode(s + "2")); + node.add(new DefaultMutableTreeNode(s + "3")); + DefaultTreeModel model = (DefaultTreeModel)tree.getModel(); + model.nodeStructureChanged(node); + synchronized (bug4745001.this) { + stateChanged = true; + bug4745001.this.notifyAll(); + } + } + } + + public void treeCollapsed(TreeExpansionEvent e) { + synchronized (bug4745001.this) { + stateChanged = true; + bug4745001.this.notifyAll(); + } + } + }); + + fr.pack(); + fr.setVisible(true); + } + + void changeNodeStateForRow(final int row, final boolean expand) throws Exception { + try { + stateChanged = false; + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + try { + if (expand) { + tree.expandRow(row); + } else { + tree.collapseRow(row); + } + } catch (Exception ex) { + ex.printStackTrace(); + } + } + }); + synchronized (this) { + while (!stateChanged) { + bug4745001.this.wait(); + } + } + } catch (Throwable t) { + t.printStackTrace(); + } + } + + public void start() throws Exception { + // expand node "c" + changeNodeStateForRow(2, true); + // expand node "b" + changeNodeStateForRow(1, true); + // collapse node "c" + changeNodeStateForRow(1, false); + } + + String[] expected = new String[] {"a", "b", "c", "c1", "c2", "c3"}; + + public void destroy() { + for (int i = 0; i < expected.length; i++) { + Object obj = tree.getPathForRow(i).getLastPathComponent(); + if (!obj.toString().equals(expected[i])) { + throw new RuntimeException("Unexpected node at row "+i); + } + } + } + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/undo/UndoManager/bug4706533.java openjdk-11-11.0.23+9/test/jdk/javax/swing/undo/UndoManager/bug4706533.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/undo/UndoManager/bug4706533.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/undo/UndoManager/bug4706533.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4706533 + * @summary UndoManager.setLimit(0) doesn't correctly trim the UndoManager size + * @run main bug4706533 + */ + +import javax.swing.undo.AbstractUndoableEdit; +import javax.swing.undo.CannotUndoException; +import javax.swing.undo.CannotRedoException; +import javax.swing.undo.UndoManager; + +public class bug4706533 { + + public static void main(String[] args) throws Exception { + UndoManager manager = new UndoManager(); + manager.setLimit(1); + AbstractUndoableEdit edit = new MyUndoableEdit(); + manager.addEdit(edit); + manager.setLimit(0); + try { + manager.undo(); + throw new RuntimeException("The limit should be zero"); + } catch (CannotUndoException e) { + //Expected to be thrown + } + } + + static class MyUndoableEdit extends AbstractUndoableEdit { + @Override + public void undo() throws CannotUndoException {} + @Override + public void redo() throws CannotRedoException {} + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/swing/undo/bug4992178.java openjdk-11-11.0.23+9/test/jdk/javax/swing/undo/bug4992178.java --- openjdk-11-11.0.22+7/test/jdk/javax/swing/undo/bug4992178.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/swing/undo/bug4992178.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4992178 + * @summary REGRESSION: Allow unlimited number of edits in an UndoManager + * @run main bug4992178 + */ + +import javax.swing.undo.AbstractUndoableEdit; +import javax.swing.undo.CannotRedoException; +import javax.swing.undo.CannotUndoException; +import javax.swing.undo.UndoManager; + +public class bug4992178 { + + public static void main(String[] argv) throws Exception { + TestUndoManager manager = new TestUndoManager(); + manager.setLimit(1); + AbstractUndoableEdit edit = new MyUndoableEdit(); + manager.addEdit(edit); + + manager.setLimit(-1); + + manager.discardAllEdits(); + + if (manager.getVectorSize() != 0) { + throw new RuntimeException( + "UndoManager's vector size should be 0 after discarding all changes"); + } + } + + static class TestUndoManager extends UndoManager { + public int getVectorSize() { + return edits.size(); + } + } + + static class MyUndoableEdit extends AbstractUndoableEdit { + @Override + public void undo() throws CannotUndoException {} + @Override + public void redo() throws CannotRedoException {} + } + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/xml/crypto/dsig/Basic.java openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/Basic.java --- openjdk-11-11.0.22+7/test/jdk/javax/xml/crypto/dsig/Basic.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/Basic.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import jdk.test.lib.Asserts; +import jdk.test.lib.SecurityTools; +import jdk.test.lib.Utils; + +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.security.KeyStore; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; +import java.util.List; + +import static jdk.test.lib.security.XMLUtils.*; +/** + * @test + * @bug 8305972 + * @summary Basic tests using XMLUtils + * @library /test/lib + * @modules java.xml.crypto + */ +public class Basic { + + public static void main(String[] args) throws Exception { + var x = "cx"; + var p = Files.write(Path.of("x.xml"), List.of(x)); + var b = Path.of("").toUri().toString(); + var d = string2doc(x); + var pass = "changeit".toCharArray(); + for (String alg: List.of("DSA", "RSA", /*"RSASSA-PSS", 8241305 not in 11*/ "EC" /*, "EdDSA", "Ed25519", "Ed448" 8166597 not in 11*/)) { + SecurityTools.keytool(String.format( + "-keystore ks -keyalg %s -storepass changeit -genkeypair -alias %s -dname CN=%s", + alg, alg, alg)).shouldHaveExitValue(0); + var ks = KeyStore.getInstance(new File("ks"), pass); + var c = (X509Certificate) ks.getCertificate(alg); + var pr = (PrivateKey) ks.getKey(alg, pass); + var pu = c.getPublicKey(); + + var s0 = signer(pr); // No KeyInfo + var s1 = signer(pr, c); // KeyInfo is X509Data + var s2 = signer(ks, alg, pass); // KeyInfo is KeyName + var v1 = validator(); // knows nothing + var v2 = validator(ks); // knows KeyName + + Utils.runAndCheckException(() -> v1.validate(s0.sign(d)), IllegalArgumentException.class); // need PublicKey + s0.sign(string2doc(x)); + Asserts.assertTrue(v1.validate(s0.sign(d), pu)); // need PublicKey + Asserts.assertTrue(v1.validate(s1.sign(d))); // can read KeyInfo + Asserts.assertTrue(v2.validate(s2.sign(d))); // can read KeyInfo + Asserts.assertTrue(v2.secureValidation(false).validate(s2.sign(p.toUri()))); // can read KeyInfo + Asserts.assertTrue(v2.secureValidation(false).baseURI(b).validate( + s2.sign(p.toAbsolutePath().getParent().toUri(), p.getFileName().toUri()))); // can read KeyInfo + + Asserts.assertTrue(v1.validate(s0.sign("text"), pu)); // plain text + Asserts.assertTrue(v1.validate(s0.sign("binary".getBytes()), pu)); // raw data + Asserts.assertTrue(v1.validate(s0.signEnveloping(d, "x", "#x"), pu)); + Asserts.assertTrue(v1.validate(s0.signEnveloping(d, "x", "#xpointer(id('x'))"), pu)); + + // No KeyValue defined for RSASSA-PSS or EdDSA yet + if (!alg.startsWith("Ed") && !alg.equals("RSASSA-PSS")) { + var ss = signer(pr, pu); // KeyInfo is PublicKey + Asserts.assertTrue(v1.validate(ss.sign(d))); // can read KeyInfo + Asserts.assertTrue(v1.validate(ss.sign("text"))); // plain text + Asserts.assertTrue(v1.validate(ss.sign("binary".getBytes()))); // raw data + Asserts.assertTrue(v1.validate(ss.signEnveloping(d, "x", "#x"))); + Asserts.assertTrue(v1.validate(ss.signEnveloping(d, "x", "#xpointer(id('x'))"))); + } + } + } + +} diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/xml/crypto/dsig/GenerationTests.java openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/GenerationTests.java --- openjdk-11-11.0.22+7/test/jdk/javax/xml/crypto/dsig/GenerationTests.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/GenerationTests.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,7 +24,7 @@ /** * @test * @bug 4635230 6283345 6303830 6824440 6867348 7094155 8038184 8038349 8046949 - * 8046724 8079693 8177334 8205507 8210736 8217878 + * 8046724 8079693 8177334 8205507 8210736 8217878 8305972 * @summary Basic unit tests for generating XML Signatures with JSR 105 * @modules java.base/sun.security.util * java.base/sun.security.x509 @@ -57,18 +57,8 @@ import java.security.cert.Certificate; import java.security.cert.CertificateFactory; import java.security.cert.X509CRL; -import java.security.spec.KeySpec; -import java.security.spec.DSAPrivateKeySpec; -import java.security.spec.DSAPublicKeySpec; -import java.security.spec.ECField; -import java.security.spec.ECFieldFp; -import java.security.spec.ECParameterSpec; -import java.security.spec.ECPoint; -import java.security.spec.ECPrivateKeySpec; -import java.security.spec.ECPublicKeySpec; -import java.security.spec.EllipticCurve; -import java.security.spec.RSAPrivateKeySpec; -import java.security.spec.RSAPublicKeySpec; +import java.security.cert.X509Certificate; +import java.security.spec.*; import java.util.*; import java.util.stream.Stream; import javax.crypto.KeyGenerator; @@ -95,6 +85,7 @@ import org.w3c.dom.*; import jdk.test.lib.Asserts; +import jdk.test.lib.Utils; /** * Test that recreates merlin-xmldsig-twenty-three test vectors (and more) @@ -110,12 +101,15 @@ rsaSha1, rsaSha224, rsaSha256, rsaSha384, rsaSha512, ecdsaSha1, ecdsaSha224, ecdsaSha256, ecdsaSha384, ecdsaSha512, hmacSha1, hmacSha224, hmacSha256, hmacSha384, hmacSha512, - rsaSha1mgf1, rsaSha224mgf1, rsaSha256mgf1, rsaSha384mgf1, rsaSha512mgf1; + rsaSha1mgf1, rsaSha224mgf1, rsaSha256mgf1, rsaSha384mgf1, rsaSha512mgf1, + rsaSha3_224mgf1, rsaSha3_256mgf1, rsaSha3_384mgf1, rsaSha3_512mgf1, + ed25519, ed448; private static DigestMethod sha1, sha224, sha256, sha384, sha512, sha3_224, sha3_256, sha3_384, sha3_512; private static KeyInfo dsa1024, dsa2048, rsa, rsa1024, rsa2048, - p256ki, p384ki, p521ki; + p256ki, p384ki, p521ki, ed25519ki, ed448ki; private static KeySelector kvks = new KeySelectors.KeyValueKeySelector(); + private static KeySelector x5ks = new KeySelectors.RawX509KeySelector(); private static KeySelector sks; private static Key signingKey; private static PublicKey validatingKey; @@ -216,7 +210,9 @@ SignatureMethod.RSA_SHA256, SignatureMethod.ECDSA_SHA256, SignatureMethod.HMAC_SHA256, - SignatureMethod.SHA256_RSA_MGF1); + SignatureMethod.SHA256_RSA_MGF1, + "http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1", + "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519"); private static final String[] allSignatureMethods = Stream.of(SignatureMethod.class.getDeclaredFields()) @@ -308,6 +304,10 @@ test_create_signature_enveloping_p256_sha512(); test_create_signature_enveloping_p384_sha1(); test_create_signature_enveloping_p521_sha1(); + /* "8166597: Crypto support for the EdDSA Signature Algorithm" missing in 11. + test_create_signature_enveloping_ed25519(); + test_create_signature_enveloping_ed448(); + */ test_create_signature_external_b64_dsa(); test_create_signature_external_dsa(); test_create_signature_keyname(); @@ -335,6 +335,11 @@ test_create_signature_enveloping_sha512_rsa_sha256_mgf1(); test_create_signature_enveloping_sha512_rsa_sha384_mgf1(); test_create_signature_enveloping_sha512_rsa_sha512_mgf1(); + // "8172680: Support SHA-3 based Hmac algorithms" not in 11. + //test_create_signature_enveloping_sha512_rsa_sha3_224_mgf1(); + //test_create_signature_enveloping_sha512_rsa_sha3_256_mgf1(); + //test_create_signature_enveloping_sha512_rsa_sha3_384_mgf1(); + //test_create_signature_enveloping_sha512_rsa_sha3_512_mgf1(); test_create_signature_reference_dependency(); test_create_signature_with_attr_in_no_namespace(); test_create_signature_with_empty_id(); @@ -354,8 +359,10 @@ Arrays.stream(xml_transforms).forEach(t -> Arrays.stream(KeyInfoType.values()).forEach(k -> { if (isMajor(s, d)) { - test_create_detached_signature(c, s, d, t, k, - Content.Xml, server.getPort(), false, null); + if (!s.contains("#eddsa") || k != KeyInfoType.KeyValue) { + test_create_detached_signature(c, s, d, t, k, + Content.Xml, server.getPort(), false, null); + } } }))))); @@ -365,8 +372,10 @@ Arrays.stream(allDigestMethods).forEach(d -> Arrays.stream(KeyInfoType.values()).forEach(k -> { if (isMajor(s, d)) { - test_create_detached_signature(c, s, d, null, k, - Content.Text, server.getPort(), false, null); + if (!s.contains("#eddsa") || k != KeyInfoType.KeyValue) { + test_create_detached_signature(c, s, d, null, k, + Content.Text, server.getPort(), false, null); + } } })))); @@ -377,9 +386,11 @@ Arrays.stream(non_xml_transforms).forEach(t -> Arrays.stream(KeyInfoType.values()).forEach(k -> { if (isMajor(s, d)) { - test_create_detached_signature(c, s, d, t, k, - Content.Base64, server.getPort(), - false, null); + if (!s.contains("#eddsa") || k != KeyInfoType.KeyValue) { + test_create_detached_signature(c, s, d, t, k, + Content.Base64, server.getPort(), + false, null); + } } }))))); @@ -520,6 +531,11 @@ p521ki = kifac.newKeyInfo(Collections.singletonList (kifac.newKeyValue(getECPublicKey("P521")))); + ed25519ki = kifac.newKeyInfo(Collections.singletonList + (kifac.newX509Data(List.of(getEd25519Certificate())))); + ed448ki = kifac.newKeyInfo(Collections.singletonList + (kifac.newX509Data(List.of(getEd448Certificate())))); + rsaSha1 = fac.newSignatureMethod(SignatureMethod.RSA_SHA1, null); rsaSha224 = fac.newSignatureMethod(SignatureMethod.RSA_SHA224, null); rsaSha256 = fac.newSignatureMethod(SignatureMethod.RSA_SHA256, null); @@ -531,6 +547,10 @@ rsaSha256mgf1 = fac.newSignatureMethod(SignatureMethod.SHA256_RSA_MGF1, null); rsaSha384mgf1 = fac.newSignatureMethod(SignatureMethod.SHA384_RSA_MGF1, null); rsaSha512mgf1 = fac.newSignatureMethod(SignatureMethod.SHA512_RSA_MGF1, null); + rsaSha3_224mgf1 = fac.newSignatureMethod("http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1", null); + rsaSha3_256mgf1 = fac.newSignatureMethod("http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1", null); + rsaSha3_384mgf1 = fac.newSignatureMethod("http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1", null); + rsaSha3_512mgf1 = fac.newSignatureMethod("http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1", null); ecdsaSha1 = fac.newSignatureMethod(SignatureMethod.ECDSA_SHA1, null); ecdsaSha224 = fac.newSignatureMethod(SignatureMethod.ECDSA_SHA224, null); @@ -538,6 +558,9 @@ ecdsaSha384 = fac.newSignatureMethod(SignatureMethod.ECDSA_SHA384, null); ecdsaSha512 = fac.newSignatureMethod(SignatureMethod.ECDSA_SHA512, null); + ed25519 = fac.newSignatureMethod("http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519", null); + ed448 = fac.newSignatureMethod("http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448", null); + hmacSha1 = fac.newSignatureMethod(SignatureMethod.HMAC_SHA1, null); hmacSha224 = fac.newSignatureMethod(SignatureMethod.HMAC_SHA224, null); hmacSha256 = fac.newSignatureMethod(SignatureMethod.HMAC_SHA256, null); @@ -609,21 +632,21 @@ static void test_create_signature_enveloping_b64_dsa() throws Exception { System.out.println("* Generating signature-enveloping-b64-dsa.xml"); test_create_signature_enveloping - (sha1, dsaSha1, dsa1024, signingKey, kvks, true); + (sha1, dsaSha1, dsa1024, signingKey, kvks, true, true); System.out.println(); } static void test_create_signature_enveloping_dsa() throws Exception { System.out.println("* Generating signature-enveloping-dsa.xml"); test_create_signature_enveloping - (sha1, dsaSha1, dsa1024, signingKey, kvks, false); + (sha1, dsaSha1, dsa1024, signingKey, kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_sha256_dsa() throws Exception { System.out.println("* Generating signature-enveloping-sha256-dsa.xml"); test_create_signature_enveloping - (sha256, dsaSha1, dsa1024, signingKey, kvks, false); + (sha256, dsaSha1, dsa1024, signingKey, kvks, false, true); System.out.println(); } @@ -632,7 +655,7 @@ System.out.println("* Generating signature-enveloping-hmac-sha1-40.xml"); try { test_create_signature_enveloping(sha1, hmacSha1, null, - getSecretKey("secret".getBytes("ASCII")), sks, false); + getSecretKey("secret".getBytes("ASCII")), sks, false, true); } catch (Exception e) { if (!(e instanceof XMLSignatureException)) { throw e; @@ -645,7 +668,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-hmac-sha256.xml"); test_create_signature_enveloping(sha1, hmacSha256, null, - getSecretKey("secret".getBytes("ASCII")), sks, false); + getSecretKey("secret".getBytes("ASCII")), sks, false, true); System.out.println(); } @@ -653,7 +676,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-hmac-sha224.xml"); test_create_signature_enveloping(sha1, hmacSha224, null, - getSecretKey("secret".getBytes("ASCII")), sks, false); + getSecretKey("secret".getBytes("ASCII")), sks, false, true); System.out.println(); } @@ -661,7 +684,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-hmac-sha384.xml"); test_create_signature_enveloping(sha1, hmacSha384, null, - getSecretKey("secret".getBytes("ASCII")), sks, false); + getSecretKey("secret".getBytes("ASCII")), sks, false, true); System.out.println(); } @@ -669,14 +692,14 @@ throws Exception { System.out.println("* Generating signature-enveloping-hmac-sha512.xml"); test_create_signature_enveloping(sha1, hmacSha512, null, - getSecretKey("secret".getBytes("ASCII")), sks, false); + getSecretKey("secret".getBytes("ASCII")), sks, false, true); System.out.println(); } static void test_create_signature_enveloping_rsa() throws Exception { System.out.println("* Generating signature-enveloping-rsa.xml"); test_create_signature_enveloping(sha1, rsaSha1, rsa, - getPrivateKey("RSA", 512), kvks, false); + getPrivateKey("RSA", 512), kvks, false, false); System.out.println(); } @@ -684,7 +707,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha384-rsa_sha256.xml"); test_create_signature_enveloping(sha384, rsaSha256, rsa, - getPrivateKey("RSA", 512), kvks, false); + getPrivateKey("RSA", 512), kvks, false, false); System.out.println(); } @@ -692,7 +715,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha224-rsa_sha256.xml"); test_create_signature_enveloping(sha224, rsaSha256, rsa, - getPrivateKey("RSA", 512), kvks, false); + getPrivateKey("RSA", 512), kvks, false, false); System.out.println(); } @@ -700,7 +723,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha3_224-rsa_sha256.xml"); test_create_signature_enveloping(sha3_224, rsaSha256, rsa, - getPrivateKey("RSA", 512), kvks, false); + getPrivateKey("RSA", 512), kvks, false, false); System.out.println(); } @@ -708,7 +731,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha3_256-rsa_sha256.xml"); test_create_signature_enveloping(sha3_256, rsaSha256, rsa, - getPrivateKey("RSA", 512), kvks, false); + getPrivateKey("RSA", 512), kvks, false, false); System.out.println(); } @@ -716,7 +739,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha3_384-rsa_sha256.xml"); test_create_signature_enveloping(sha3_384, rsaSha256, rsa, - getPrivateKey("RSA", 512), kvks, false); + getPrivateKey("RSA", 512), kvks, false, false); System.out.println(); } @@ -724,7 +747,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha3_512-rsa_sha256.xml"); test_create_signature_enveloping(sha3_512, rsaSha256, rsa, - getPrivateKey("RSA", 512), kvks, false); + getPrivateKey("RSA", 512), kvks, false, false); System.out.println(); } @@ -732,7 +755,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha384.xml"); test_create_signature_enveloping(sha512, rsaSha384, rsa1024, - getPrivateKey("RSA", 1024), kvks, false); + getPrivateKey("RSA", 1024), kvks, false, true); System.out.println(); } @@ -740,7 +763,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha224.xml"); test_create_signature_enveloping(sha512, rsaSha224, rsa1024, - getPrivateKey("RSA", 1024), kvks, false); + getPrivateKey("RSA", 1024), kvks, false, true); System.out.println(); } @@ -748,7 +771,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha512.xml"); test_create_signature_enveloping(sha512, rsaSha512, rsa1024, - getPrivateKey("RSA", 1024), kvks, false); + getPrivateKey("RSA", 1024), kvks, false, true); System.out.println(); } @@ -756,7 +779,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha1_mgf1.xml"); test_create_signature_enveloping(sha512, rsaSha1mgf1, rsa1024, - getPrivateKey("RSA", 1024), kvks, false); + getPrivateKey("RSA", 1024), kvks, false, true); System.out.println(); } @@ -764,7 +787,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha224_mgf1.xml"); test_create_signature_enveloping(sha512, rsaSha224mgf1, rsa1024, - getPrivateKey("RSA", 1024), kvks, false); + getPrivateKey("RSA", 1024), kvks, false, true); System.out.println(); } @@ -772,7 +795,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha256_mgf1.xml"); test_create_signature_enveloping(sha512, rsaSha256mgf1, rsa1024, - getPrivateKey("RSA", 1024), kvks, false); + getPrivateKey("RSA", 1024), kvks, false, true); System.out.println(); } @@ -780,7 +803,7 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha384_mgf1.xml"); test_create_signature_enveloping(sha512, rsaSha384mgf1, rsa1024, - getPrivateKey("RSA", 1024), kvks, false); + getPrivateKey("RSA", 1024), kvks, false, true); System.out.println(); } @@ -788,59 +811,107 @@ throws Exception { System.out.println("* Generating signature-enveloping-sha512-rsa_sha512_mgf1.xml"); test_create_signature_enveloping(sha512, rsaSha512mgf1, rsa2048, - getPrivateKey("RSA", 2048), kvks, false); + getPrivateKey("RSA", 2048), kvks, false, true); + System.out.println(); + } + + static void test_create_signature_enveloping_sha512_rsa_sha3_224_mgf1() + throws Exception { + System.out.println("* Generating signature-enveloping-sha512-rsa_sha3_224_mgf1.xml"); + test_create_signature_enveloping(sha512, rsaSha3_224mgf1, rsa1024, + getPrivateKey("RSA", 1024), kvks, false, true); + System.out.println(); + } + + static void test_create_signature_enveloping_sha512_rsa_sha3_256_mgf1() + throws Exception { + System.out.println("* Generating signature-enveloping-sha512-rsa_sha3_256_mgf1.xml"); + test_create_signature_enveloping(sha512, rsaSha3_256mgf1, rsa1024, + getPrivateKey("RSA", 1024), kvks, false, true); + System.out.println(); + } + + static void test_create_signature_enveloping_sha512_rsa_sha3_384_mgf1() + throws Exception { + System.out.println("* Generating signature-enveloping-sha512-rsa_sha3_384_mgf1.xml"); + test_create_signature_enveloping(sha512, rsaSha3_384mgf1, rsa1024, + getPrivateKey("RSA", 1024), kvks, false, true); + System.out.println(); + } + + static void test_create_signature_enveloping_sha512_rsa_sha3_512_mgf1() + throws Exception { + System.out.println("* Generating signature-enveloping-sha512-rsa_sha3_512_mgf1.xml"); + test_create_signature_enveloping(sha512, rsaSha3_512mgf1, rsa2048, + getPrivateKey("RSA", 2048), kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_p256_sha1() throws Exception { System.out.println("* Generating signature-enveloping-p256-sha1.xml"); test_create_signature_enveloping(sha1, ecdsaSha1, p256ki, - getECPrivateKey("P256"), kvks, false); + getECPrivateKey("P256"), kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_p256_sha224() throws Exception { System.out.println("* Generating signature-enveloping-p256-sha224.xml"); test_create_signature_enveloping(sha1, ecdsaSha224, p256ki, - getECPrivateKey("P256"), kvks, false); + getECPrivateKey("P256"), kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_p256_sha256() throws Exception { System.out.println("* Generating signature-enveloping-p256-sha256.xml"); test_create_signature_enveloping(sha1, ecdsaSha256, p256ki, - getECPrivateKey("P256"), kvks, false); + getECPrivateKey("P256"), kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_p256_sha384() throws Exception { System.out.println("* Generating signature-enveloping-p256-sha384.xml"); test_create_signature_enveloping(sha1, ecdsaSha384, p256ki, - getECPrivateKey("P256"), kvks, false); + getECPrivateKey("P256"), kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_p256_sha512() throws Exception { System.out.println("* Generating signature-enveloping-p256-sha512.xml"); test_create_signature_enveloping(sha1, ecdsaSha512, p256ki, - getECPrivateKey("P256"), kvks, false); + getECPrivateKey("P256"), kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_p384_sha1() throws Exception { System.out.println("* Generating signature-enveloping-p384-sha1.xml"); test_create_signature_enveloping(sha1, ecdsaSha1, p384ki, - getECPrivateKey("P384"), kvks, false); + getECPrivateKey("P384"), kvks, false, true); System.out.println(); } static void test_create_signature_enveloping_p521_sha1() throws Exception { System.out.println("* Generating signature-enveloping-p521-sha1.xml"); test_create_signature_enveloping(sha1, ecdsaSha1, p521ki, - getECPrivateKey("P521"), kvks, false); + getECPrivateKey("P521"), kvks, false, true); + System.out.println(); + } + + /* "8166597: Crypto support for the EdDSA Signature Algorithm" missing in 11. + static void test_create_signature_enveloping_ed25519() throws Exception { + System.out.println("* Generating signature-enveloping-ed25519.xml"); + test_create_signature_enveloping(sha1, ed25519, ed25519ki, + getEd25519PrivateKey(), x5ks, false, true); System.out.println(); } + static void test_create_signature_enveloping_ed448() throws Exception { + System.out.println("* Generating signature-enveloping-ed448.xml"); + test_create_signature_enveloping(sha1, ed448, ed448ki, + getEd448PrivateKey(), x5ks, false, true); + System.out.println(); + } + */ + static void test_create_signature_external_b64_dsa() throws Exception { System.out.println("* Generating signature-external-b64-dsa.xml"); test_create_signature_external(dsaSha1, dsa1024, signingKey, kvks, true); @@ -969,6 +1040,7 @@ DOMValidateContext dvc = new DOMValidateContext (kvks, doc.getDocumentElement()); + dvc.setProperty("org.jcp.xml.dsig.secureValidation", false); XMLSignature sig2 = fac.unmarshalXMLSignature(dvc); if (sig.equals(sig2) == false) { @@ -1016,6 +1088,7 @@ DOMValidateContext dvc = new DOMValidateContext (kvks, doc.getDocumentElement()); + dvc.setProperty("org.jcp.xml.dsig.secureValidation", false); dvc.setIdAttributeNS(nc, null, "Id"); XMLSignature sig2 = fac.unmarshalXMLSignature(dvc); @@ -1456,7 +1529,7 @@ private static void test_create_signature_enveloping (DigestMethod dm, SignatureMethod sm, KeyInfo ki, Key signingKey, - KeySelector ks, boolean b64) throws Exception { + KeySelector ks, boolean b64, boolean secVal) throws Exception { // create reference Reference ref; @@ -1491,6 +1564,7 @@ DOMValidateContext dvc = new DOMValidateContext (ks, doc.getDocumentElement()); + dvc.setProperty("org.jcp.xml.dsig.secureValidation", secVal); XMLSignature sig2 = fac.unmarshalXMLSignature(dvc); if (sig.equals(sig2) == false) { @@ -1929,13 +2003,15 @@ || sm.contains("-rsa-MGF1")) { kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize( - sm.contains("#sha512-rsa-MGF1") ? 2048 : 1024); + sm.contains("512-rsa-MGF1") ? 2048 : 1024); } else if (sm.contains("#dsa-")) { kpg = KeyPairGenerator.getInstance("DSA"); kpg.initialize(1024); } else if (sm.contains("#ecdsa-")) { kpg = KeyPairGenerator.getInstance("EC"); kpg.initialize(256); + } else if (sm.contains("#eddsa-")) { + kpg = KeyPairGenerator.getInstance(sm.substring(sm.lastIndexOf('-') + 1)); } else { throw new RuntimeException("Unsupported signature algorithm"); } @@ -2064,6 +2140,20 @@ 1 ); + private static final String ED25519_CERT = + "3081d730818aa003020102020822bc4997b1893265300506032b657030123110300e0603550403130745643235353139301e170d3233303431333033303732365a170d3433303430383033303" + + "732365a30123110300e0603550403130745643235353139302a300506032b657003210012ecd7383ac90c30035dc531285bdb897faafddfc6969271c2ebd9a82b6078e5300506032b65700341" + + "00a3cb7c03bbb3e9fa92eaf3f9a6f2608460d472c6a6ce3bebf0f57f45612e87ebdc6aa6d7527ae9e86c8e10bcccf98963f9b082c0bb44adb240c5fce9bb68b301"; + private static final String ED25519_KEY = + "b59e57e352fa03b3a643946ae60b7f1e276f9ab41f25accaa63b660ba36168b2"; + private static final String ED448_CERT = + "3082011f3081a0a003020102020900ceaefd75473d52b2300506032b65713010310e300c060355040313054564343438301e170d3233303431333033303735345a170d3433303430383033303" + + "735345a3010310e300c0603550403130545643434383043300506032b6571033a00d605be958f21faf6a1181fa96ebe8580cca3cae9b48dfad5145ee999d9df4ef77c355d33ae8b21e9a3541f" + + "b985ae366b9678db1a3fd1fd5c00300506032b65710373000b4dc8de20b261f5ca7cf41777725a2ec6cd107d6b75cd6ad02c00af8096ecf97c7445596aabd70381ce087d2b3b280ca4181566b" + + "9230fd6801e22e53f1514989bc5b06cfb5f7cac222ea9a37a0771a3f7cfcbfd1ba9546bbe333d37ee81c3a53d86247d377225114e1e81123f947a391800"; + private static final String ED448_KEY = + "50b72f081f7f2f3383c4b03975cf49a76ba8b17dec51eaea3cd267b6989b81786e8dd8af4df305eaad60bdd24345b8490548c371d62e926f80"; + private static ECParameterSpec initECParams( String sfield, String a, String b, String gx, String gy, String n, int h) { @@ -2137,6 +2227,16 @@ return kf.generatePublic(kspec); } + private static X509Certificate getEd25519Certificate() throws Exception { + return (X509Certificate) CertificateFactory.getInstance("X.509") + .generateCertificate(new ByteArrayInputStream(Utils.toByteArray(ED25519_CERT))); + } + + private static X509Certificate getEd448Certificate() throws Exception { + return (X509Certificate) CertificateFactory.getInstance("X.509") + .generateCertificate(new ByteArrayInputStream(Utils.toByteArray(ED448_CERT))); + } + private static PrivateKey getPrivateKey(String algo, int keysize) throws Exception { KeyFactory kf = KeyFactory.getInstance(algo); @@ -2190,6 +2290,18 @@ return kf.generatePrivate(kspec); } + /* "8166597: Crypto support for the EdDSA Signature Algorithm" missing in 11. + private static PrivateKey getEd25519PrivateKey() throws Exception { + return KeyFactory.getInstance("Ed25519").generatePrivate(new EdECPrivateKeySpec( + NamedParameterSpec.ED25519, Utils.toByteArray(ED25519_KEY))); + } + + private static PrivateKey getEd448PrivateKey() throws Exception { + return KeyFactory.getInstance("Ed448").generatePrivate(new EdECPrivateKeySpec( + NamedParameterSpec.ED448, Utils.toByteArray(ED448_KEY))); + } + */ + private static SecretKey getSecretKey(final byte[] secret) { return new SecretKey() { public String getFormat() { return "RAW"; } diff -Nru openjdk-11-11.0.22+7/test/jdk/javax/xml/crypto/dsig/HereFunction.java openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/HereFunction.java --- openjdk-11-11.0.22+7/test/jdk/javax/xml/crypto/dsig/HereFunction.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/javax/xml/crypto/dsig/HereFunction.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,242 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8305972 + * @summary Demonstrate here() support for validating XML Signatures + * @modules java.base/sun.security.util + * java.base/sun.security.x509 + * java.xml.crypto/org.jcp.xml.dsig.internal.dom + * @library /test/lib + * @compile -XDignore.symbol.file KeySelectors.java SignatureValidator.java + * X509KeySelector.java ValidationTests.java + * @run main/othervm HereFunction default true + * @run main/othervm HereFunction true true + * @run main/othervm HereFunction false false + */ +import java.io.File; +import java.io.FileInputStream; +import java.security.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import javax.xml.crypto.Data; +import javax.xml.crypto.KeySelector; +import javax.xml.crypto.OctetStreamData; +import javax.xml.crypto.URIDereferencer; +import javax.xml.crypto.URIReference; +import javax.xml.crypto.URIReferenceException; +import javax.xml.crypto.XMLCryptoContext; +import javax.xml.crypto.dsig.*; +import javax.xml.crypto.dsig.dom.DOMSignContext; +import javax.xml.crypto.dsig.dom.DOMValidateContext; +import javax.xml.crypto.dsig.keyinfo.KeyInfo; +import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory; +import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec; +import javax.xml.crypto.dsig.spec.XPathFilterParameterSpec; +import javax.xml.parsers.DocumentBuilderFactory; + +import jdk.test.lib.Asserts; +import jdk.test.lib.Utils; +import jdk.test.lib.security.SecurityUtils; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + +public class HereFunction { + + private final static String DIR = System.getProperty("test.src", "."); + private final static String DATA_DIR = + DIR + System.getProperty("file.separator") + "data"; + private final static String KEYSTORE_VERIFY = + DATA_DIR + System.getProperty("file.separator") + "certs" + + System.getProperty("file.separator") + "xmldsig.jks"; + private final static String KEYSTORE_SIGN = + DATA_DIR + System.getProperty("file.separator") + "certs" + + System.getProperty("file.separator") + "test.jks"; + private final static String STYLESHEET = + "http://www.w3.org/TR/xml-stylesheet"; + private final static String STYLESHEET_B64 = + "http://www.w3.org/Signature/2002/04/xml-stylesheet.b64"; + private final static char[] PASS = "changeit".toCharArray(); + + public static void main(String args[]) throws Throwable { + if (!args[0].equals("default")) { + Security.setProperty("jdk.xml.dsig.hereFunctionSupported", args[0]); + } + /* "8259709: Disable SHA-1 XML Signatures" not in 11. + // Re-enable sha1 algs + SecurityUtils.removeAlgsFromDSigPolicy("sha1"); + */ + + boolean expected = Boolean.parseBoolean(args[1]); + + sign(expected); + + // Validating an old signature signed by JDK < 21 + validate(expected); + } + + static void validate(boolean expected) throws Exception { + SignatureValidator validator = new SignatureValidator(new File(DATA_DIR)); + + KeyStore keystore = KeyStore.getInstance(new File(KEYSTORE_VERIFY), PASS); + KeySelector ks = new X509KeySelector(keystore, false); + + if (expected) { + Asserts.assertTrue(validator.validate( + "signature.xml", ks, new HttpURIDereferencer(), false)); + } else { + Utils.runAndCheckException(() -> validator.validate( + "signature.xml", ks, new HttpURIDereferencer(), false), + XMLSignatureException.class); + } + } + + static void sign(boolean expected) throws Exception { + XMLSignatureFactory fac = XMLSignatureFactory.getInstance(); + DigestMethod sha1 = fac.newDigestMethod(DigestMethod.SHA1, null); + CanonicalizationMethod withoutComments = fac.newCanonicalizationMethod + (CanonicalizationMethod.INCLUSIVE, (C14NMethodParameterSpec)null); + SignatureMethod dsaSha1 = fac.newSignatureMethod(SignatureMethod.DSA_SHA1, null); + KeyInfoFactory kifac = fac.getKeyInfoFactory(); + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setNamespaceAware(true); + + String ENVELOPE = + DATA_DIR + System.getProperty("file.separator") + "envelope.xml"; + + var ks = KeyStore.getInstance(new File(KEYSTORE_SIGN), PASS); + var signingKey = ks.getKey("user", PASS); + var signingCert = ks.getCertificate("user"); + + // create references + List refs = new ArrayList<>(); + + // Reference 1 + refs.add(fac.newReference(STYLESHEET, sha1)); + + // Reference 2 + String expr = "\n" + + " ancestor-or-self::dsig:SignedInfo " + "\n" + + " and " + "\n" + + " count(ancestor-or-self::dsig:Reference | " + "\n" + + " here()/ancestor::dsig:Reference[1]) > " + "\n" + + " count(ancestor-or-self::dsig:Reference) " + "\n" + + " or " + "\n" + + " count(ancestor-or-self::node() | " + "\n" + + " id('notaries')) = " + "\n" + + " count(ancestor-or-self::node()) " + "\n"; + + XPathFilterParameterSpec xfp = new XPathFilterParameterSpec(expr, + Collections.singletonMap("dsig", XMLSignature.XMLNS)); + refs.add(fac.newReference("", sha1, Collections.singletonList + (fac.newTransform(Transform.XPATH, xfp)), + XMLObject.TYPE, null)); + + // create SignedInfo + SignedInfo si = fac.newSignedInfo(withoutComments, dsaSha1, refs); + + // create keyinfo + KeyInfo ki = kifac.newKeyInfo(List.of( + kifac.newX509Data(List.of(signingCert))), null); + + // create XMLSignature + XMLSignature sig = fac.newXMLSignature(si, ki, null, "signature", null); + + dbf.setValidating(false); + Document envDoc = dbf.newDocumentBuilder() + .parse(new FileInputStream(ENVELOPE)); + Element ys = (Element) + envDoc.getElementsByTagName("YoursSincerely").item(0); + + DOMSignContext dsc = new DOMSignContext(signingKey, ys); + dsc.setURIDereferencer(new HttpURIDereferencer()); + + if (expected) { + sig.sign(dsc); + } else { + Utils.runAndCheckException( + () -> sig.sign(dsc), XMLSignatureException.class); + return; // Signing fails, no need to validate + } + +// StringWriter sw = new StringWriter(); +// dumpDocument(envDoc, sw); + + NodeList nl = + envDoc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature"); + if (nl.getLength() == 0) { + throw new Exception("Couldn't find signature Element"); + } + Element sigElement = (Element) nl.item(0); + + DOMValidateContext dvc = new DOMValidateContext + (new X509KeySelector(ks), sigElement); + dvc.setURIDereferencer(new HttpURIDereferencer()); + File f = new File( + System.getProperty("dir.test.vector.baltimore") + + System.getProperty("file.separator") + + "merlin-xmldsig-twenty-three" + + System.getProperty("file.separator")); + dvc.setBaseURI(f.toURI().toString()); + + XMLSignature sig2 = fac.unmarshalXMLSignature(dvc); + + if (sig.equals(sig2) == false) { + throw new Exception + ("Unmarshalled signature is not equal to generated signature"); + } + if (sig2.validate(dvc) == false) { + throw new Exception("Validation of generated signature failed"); + } + } + + /** + * This URIDereferencer returns locally cached copies of http content to + * avoid test failures due to network glitches, etc. + */ + private static class HttpURIDereferencer implements URIDereferencer { + private final URIDereferencer defaultUd; + + HttpURIDereferencer() { + defaultUd = XMLSignatureFactory.getInstance().getURIDereferencer(); + } + + public Data dereference(final URIReference ref, XMLCryptoContext ctx) + throws URIReferenceException { + String uri = ref.getURI(); + if (uri.equals(STYLESHEET) || uri.equals(STYLESHEET_B64)) { + try { + FileInputStream fis = new FileInputStream(new File + (DATA_DIR, uri.substring(uri.lastIndexOf('/')))); + return new OctetStreamData(fis,ref.getURI(),ref.getType()); + } catch (Exception e) { throw new URIReferenceException(e); } + } + + // fallback on builtin deref + return defaultUd.dereference(ref, ctx); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java openjdk-11-11.0.23+9/test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java --- openjdk-11-11.0.22+7/test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java 2024-04-08 05:38:38.000000000 +0000 @@ -72,12 +72,12 @@ } else { long count = Metrics.systemMetrics().getMemoryFailCount(); - // Allocate 512M of data - byte[][] bytes = new byte[64][]; + // Allocate 512M of data in 1M chunks per iteration + byte[][] bytes = new byte[64 * 8][]; boolean atLeastOneAllocationWorked = false; - for (int i = 0; i < 64; i++) { + for (int i = 0; i < 64 * 8; i++) { try { - bytes[i] = new byte[8 * 1024 * 1024]; + bytes[i] = new byte[1024 * 1024]; atLeastOneAllocationWorked = true; // Break out as soon as we see an increase in failcount // to avoid getting killed by the OOM killer. diff -Nru openjdk-11-11.0.22+7/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java openjdk-11-11.0.23+9/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java --- openjdk-11-11.0.22+7/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java 2024-04-08 05:38:38.000000000 +0000 @@ -41,7 +41,7 @@ String testID = "ParallelOld"; String[] vmFlags = {"-XX:+UseParallelGC", "-XX:+UseParallelOldGC"}; String[] gcNames = {GCHelper.gcParallelScavenge, GCHelper.gcParallelOld}; - String[] gcCauses = {"Allocation Failure", "Ergonomics", "System.gc()"}; + String[] gcCauses = {"Allocation Failure", "Ergonomics", "System.gc()", "GCLocker Initiated GC"}; GCGarbageCollectionUtil.test(testID, vmFlags, gcNames, gcCauses); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java openjdk-11-11.0.23+9/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java --- openjdk-11-11.0.22+7/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java 2024-04-08 05:38:38.000000000 +0000 @@ -41,7 +41,7 @@ String testID = "Serial"; String[] vmFlags = {"-XX:+UseSerialGC"}; String[] gcNames = {GCHelper.gcDefNew, GCHelper.gcSerialOld}; - String[] gcCauses = {"Allocation Failure", "System.gc()"}; + String[] gcCauses = {"Allocation Failure", "System.gc()", "GCLocker Initiated GC"}; GCGarbageCollectionUtil.test(testID, vmFlags, gcNames, gcCauses); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/lib/testlibrary/ModuleTargetHelper.java openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/ModuleTargetHelper.java --- openjdk-11-11.0.22+7/test/jdk/lib/testlibrary/ModuleTargetHelper.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/ModuleTargetHelper.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -import java.io.InputStream; -import java.io.IOException; -import java.lang.module.ModuleReader; -import java.lang.module.ModuleReference; -import java.net.URI; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; - -import jdk.internal.module.ModuleInfo; -import jdk.internal.module.ModuleInfo.Attributes; - -public class ModuleTargetHelper { - private ModuleTargetHelper() {} - - public static final class ModuleTarget { - private String targetPlatform; - - public ModuleTarget(String targetPlatform) { - this.targetPlatform = targetPlatform; - } - - public String targetPlatform() { - return targetPlatform; - } - } - - public static ModuleTarget getJavaBaseTarget() throws IOException { - Path p = Paths.get(URI.create("jrt:/modules/java.base/module-info.class")); - try (InputStream in = Files.newInputStream(p)) { - return read(in); - } - } - - public static ModuleTarget read(InputStream in) throws IOException { - ModuleInfo.Attributes attrs = ModuleInfo.read(in, null); - if (attrs.target() != null) { - return new ModuleTarget(attrs.target().targetPlatform()); - } else { - return null; - } - } - - public static ModuleTarget read(ModuleReference modRef) throws IOException { - ModuleReader reader = modRef.open(); - try (InputStream in = reader.open("module-info.class").get()) { - return read(in); - } finally { - reader.close(); - } - } -} diff -Nru openjdk-11-11.0.22+7/test/jdk/lib/testlibrary/ModuleUtils.java openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/ModuleUtils.java --- openjdk-11-11.0.22+7/test/jdk/lib/testlibrary/ModuleUtils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/ModuleUtils.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -import java.lang.module.ModuleDescriptor; -import java.lang.module.ModuleFinder; -import java.lang.module.ModuleReader; -import java.lang.module.ModuleReference; -import java.net.URI; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; - - -/** - * This class consists exclusively of static utility methods that are useful - * for creating tests for modules. - */ - -public final class ModuleUtils { - private ModuleUtils() { } - - - /** - * Returns a ModuleFinder that finds modules with the given module - * descriptors. - */ - static ModuleFinder finderOf(ModuleDescriptor... descriptors) { - - // Create a ModuleReference for each module - Map namesToReference = new HashMap<>(); - - for (ModuleDescriptor descriptor : descriptors) { - String name = descriptor.name(); - - URI uri = URI.create("module:/" + name); - - ModuleReference mref = new ModuleReference(descriptor, uri) { - @Override - public ModuleReader open() { - throw new UnsupportedOperationException(); - } - }; - - namesToReference.put(name, mref); - } - - return new ModuleFinder() { - @Override - public Optional find(String name) { - Objects.requireNonNull(name); - return Optional.ofNullable(namesToReference.get(name)); - } - @Override - public Set findAll() { - return new HashSet<>(namesToReference.values()); - } - }; - } - -} diff -Nru openjdk-11-11.0.22+7/test/jdk/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java --- openjdk-11-11.0.22+7/test/jdk/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.testlibrary; - -import java.util.*; -import java.util.concurrent.*; -import java.io.*; -import java.net.*; -import java.security.*; -import java.security.cert.*; -import javax.net.ssl.*; - -/** - * Creates a simple usable SSLContext for SSLSocketFactory - * or a HttpsServer using either a given keystore or a default - * one in the test tree. - * - * Using this class with a security manager requires the following - * permissions to be granted: - * - * permission "java.util.PropertyPermission" "test.src.path", "read"; - * permission java.io.FilePermission - * "${test.src}/../../../lib/testlibrary/jdk/testlibrary/testkeys", "read"; - * The exact path above depends on the location of the test. - */ -public class SimpleSSLContext { - - SSLContext ssl; - - /** - * loads default keystore from SimpleSSLContext - * source directory - */ - public SimpleSSLContext() throws IOException { - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - @Override - public Void run() throws Exception { - String paths = System.getProperty("test.src.path"); - StringTokenizer st = new StringTokenizer(paths, File.pathSeparator); - boolean securityExceptions = false; - while (st.hasMoreTokens()) { - String path = st.nextToken(); - try { - File f = new File(path, "jdk/testlibrary/testkeys"); - if (f.exists()) { - try (FileInputStream fis = new FileInputStream(f)) { - init(fis); - return null; - } - } - } catch (SecurityException e) { - // catch and ignore because permission only required - // for one entry on path (at most) - securityExceptions = true; - } - } - if (securityExceptions) { - System.err.println("SecurityExceptions thrown on loading testkeys"); - } - return null; - } - }); - } catch (PrivilegedActionException pae) { - Throwable t = pae.getCause() != null ? pae.getCause() : pae; - if (t instanceof IOException) - throw (IOException)t; - if (t instanceof RuntimeException) - throw (RuntimeException)t; - if (t instanceof Error) - throw (Error)t; - throw new RuntimeException(t); - } - } - - /** - * loads default keystore from given directory - */ - public SimpleSSLContext(String dir) throws IOException { - String file = dir+"/testkeys"; - try (FileInputStream fis = new FileInputStream(file)) { - init(fis); - } - } - - private void init(InputStream i) throws IOException { - try { - char[] passphrase = "passphrase".toCharArray(); - KeyStore ks = KeyStore.getInstance("JKS"); - ks.load(i, passphrase); - - KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); - kmf.init(ks, passphrase); - - TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); - tmf.init(ks); - - ssl = SSLContext.getInstance("TLS"); - ssl.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); - } catch (KeyManagementException e) { - throw new RuntimeException(e.getMessage()); - } catch (KeyStoreException e) { - throw new RuntimeException(e.getMessage()); - } catch (UnrecoverableKeyException e) { - throw new RuntimeException(e.getMessage()); - } catch (CertificateException e) { - throw new RuntimeException(e.getMessage()); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException(e.getMessage()); - } - } - - public SSLContext get() { - return ssl; - } -} Binary files /srv/release.debian.org/tmp/sACA1OZcqy/openjdk-11-11.0.22+7/test/jdk/lib/testlibrary/jdk/testlibrary/testkeys and /srv/release.debian.org/tmp/sRMmE18hoM/openjdk-11-11.0.23+9/test/jdk/lib/testlibrary/jdk/testlibrary/testkeys differ diff -Nru openjdk-11-11.0.22+7/test/jdk/sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java openjdk-11-11.0.23+9/test/jdk/sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java --- openjdk-11-11.0.22+7/test/jdk/sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,16 +24,15 @@ import com.sun.swingset3.demos.button.ButtonDemo; import org.jtregext.GuiTestListener; import org.netbeans.jemmy.ClassReference; -import org.netbeans.jemmy.ComponentChooser; -import org.netbeans.jemmy.image.StrictImageComparator; import org.netbeans.jemmy.operators.JButtonOperator; import org.netbeans.jemmy.operators.JFrameOperator; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Listeners; import org.testng.annotations.Test; -import java.awt.Component; -import java.awt.Robot; +import java.awt.Dimension; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Toolkit; import java.awt.image.BufferedImage; import javax.swing.UIManager; @@ -60,30 +59,37 @@ public class ButtonDemoScreenshotTest { private static final int[] BUTTONS = {0, 1, 2, 3, 4, 5}; // "open browser" buttons (6, 7) open a browser, so ignore - private static StrictImageComparator sComparator = null; - - @BeforeClass - public void init() { - sComparator = new StrictImageComparator(); - } @Test(dataProvider = "availableLookAndFeels", dataProviderClass = TestHelpers.class) public void test(String lookAndFeel) throws Exception { UIManager.setLookAndFeel(lookAndFeel); - Robot rob = new Robot(); + + //capture some of the background + Dimension screeSize = Toolkit.getDefaultToolkit().getScreenSize(); + Point screenCenter = new Point(screeSize.width / 2, screeSize.height / 2); + Rectangle center = new Rectangle( + screenCenter.x - 50, screenCenter.y - 50, + 100, 100); + BufferedImage background = getRobot().createScreenCapture(center); new ClassReference(ButtonDemo.class.getCanonicalName()).startApplication(); JFrameOperator mainFrame = new JFrameOperator(DEMO_TITLE); - waitImageIsStill(rob, mainFrame); + mainFrame.waitComponentShowing(true); + + //make sure the frame is already painted + waitChangedImage(() -> getRobot().createScreenCapture(center), + background, mainFrame.getTimeouts(), "background"); + //make sure the frame is painted completely + waitStillImage(mainFrame, "frame"); // Check all the buttons for (int i : BUTTONS) { - checkButton(mainFrame, i, rob); + checkButton(mainFrame, i); } } - private void checkButton(JFrameOperator jfo, int i, Robot rob) { + private void checkButton(JFrameOperator jfo, int i) throws InterruptedException { JButtonOperator button = new JButtonOperator(jfo, i); //additional instrumentation for JDK-8198920. To be removed after the bug is fixed @@ -93,11 +99,8 @@ button.moveMouse(button.getCenterX(), button.getCenterY()); - BufferedImage initialButtonImage = capture(rob, button); - assertNotBlack(initialButtonImage); - save(initialButtonImage, "button" + i + ".png"); - - BufferedImage[] pressedImage = new BufferedImage[1]; + BufferedImage notPressed, pressed = null; + notPressed = waitStillImage(button, "not-pressed-" + i); button.pressMouse(); //additional instrumentation for JDK-8198920. To be removed after the bug is fixed @@ -108,22 +111,15 @@ //additional instrumentation for JDK-8198920. To be removed after the bug is fixed button.getOutput().printTrace("JDK-8198920: Button press confirmed by " + System.currentTimeMillis()); //end of instrumentation for JDK-8198920 - button.waitState(new ComponentChooser() { - public boolean checkComponent(Component c) { - pressedImage[0] = capture(rob, button); - assertNotBlack(pressedImage[0]); - return !sComparator.compare(initialButtonImage, pressedImage[0]); - } - - public String getDescription() { - return "Button with new image"; - } - }); + waitChangedImage(() -> capture(button), notPressed, + button.getTimeouts(), "after-press-" + i); + pressed = waitStillImage(button, "pressed-" + i); } finally { - if (pressedImage[0] != null) { - save(pressedImage[0], "button" + i + "_pressed.png"); - } button.releaseMouse(); + if(pressed != null) { + waitChangedImage(() -> capture(button), pressed, + button.getTimeouts(), "released-" + i); + } //additional instrumentation for JDK-8198920. To be removed after the bug is fixed button.getOutput().printTrace("JDK-8198920: Button released at " + System.currentTimeMillis()); try { diff -Nru openjdk-11-11.0.22+7/test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java openjdk-11-11.0.23+9/test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java --- openjdk-11-11.0.22+7/test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,8 +23,8 @@ import static com.sun.swingset3.demos.editorpane.EditorPaneDemo.DEMO_TITLE; import static com.sun.swingset3.demos.editorpane.EditorPaneDemo.SOURCE_FILES; -import static org.jemmy2ext.JemmyExt.EXACT_STRING_COMPARATOR; -import static org.jemmy2ext.JemmyExt.assertNotBlack; +import static org.jemmy2ext.JemmyExt.*; +import static org.testng.Assert.assertFalse; import java.awt.Color; import java.awt.Dimension; @@ -149,7 +149,8 @@ final int xGap = 100, yGap = 40, columns = 2, rows = 5; editorPaneOperator.waitState(comp -> { BufferedImage capturedImage = ImageTool.getImage(imageRect); - assertNotBlack(capturedImage); + save(capturedImage, "editor"); + assertFalse(isBlack(capturedImage), "image blackness"); int x = 0, y = 0, i = 0, j; for (; i < columns; i++) { x += xGap; @@ -158,8 +159,7 @@ y += yGap; if(capturedImage.getRGB(x, y) == Color.WHITE.getRGB()) { // saving image for failure case - JemmyExt.save(capturedImage, "capturedimage_" + pageName + "_" + - UIManager.getLookAndFeel().getClass().getSimpleName() + ".png"); + save(capturedImage, "capturedimage-" + pageName); return false; } } diff -Nru openjdk-11-11.0.22+7/test/jdk/sanity/client/lib/Extensions/src/org/jemmy2ext/JemmyExt.java openjdk-11-11.0.23+9/test/jdk/sanity/client/lib/Extensions/src/org/jemmy2ext/JemmyExt.java --- openjdk-11-11.0.22+7/test/jdk/sanity/client/lib/Extensions/src/org/jemmy2ext/JemmyExt.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sanity/client/lib/Extensions/src/org/jemmy2ext/JemmyExt.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,12 +22,14 @@ */ package org.jemmy2ext; +import java.awt.AWTException; import java.awt.Component; import java.awt.EventQueue; import java.awt.Frame; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Robot; +import java.awt.Toolkit; import java.awt.Window; import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; @@ -36,10 +38,14 @@ import java.io.FileOutputStream; import java.io.IOException; import java.lang.reflect.InvocationTargetException; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; import java.util.function.Function; +import java.util.function.Supplier; import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.IntStream; @@ -56,9 +62,11 @@ import org.netbeans.jemmy.DefaultCharBindingMap; import org.netbeans.jemmy.QueueTool; import org.netbeans.jemmy.TimeoutExpiredException; +import org.netbeans.jemmy.Timeouts; import org.netbeans.jemmy.Waitable; import org.netbeans.jemmy.Waiter; import org.netbeans.jemmy.drivers.scrolling.JSpinnerDriver; +import org.netbeans.jemmy.image.ImageComparator; import org.netbeans.jemmy.image.StrictImageComparator; import org.netbeans.jemmy.operators.ComponentOperator; import org.netbeans.jemmy.operators.ContainerOperator; @@ -80,6 +88,19 @@ */ public class JemmyExt { + private static Robot robot = null; + + public static Robot getRobot() { + try { + if(robot == null) { + robot = new Robot(); + } + return robot; + } catch (AWTException e) { + throw new RuntimeException(e); + } + } + /** * Statically referencing all the classes that are needed by tests so that * they're compiled by jtreg @@ -89,17 +110,13 @@ DefaultCharBindingMap.class }; - public static void assertNotBlack(BufferedImage image) { - int w = image.getWidth(); - int h = image.getHeight(); - try { - assertFalse("All pixels are not black", IntStream.range(0, w).parallel().allMatch(x - -> IntStream.range(0, h).allMatch(y -> (image.getRGB(x, y) & 0xffffff) == 0) - )); - } catch (Throwable t) { - save(image, "allPixelsAreBlack.png"); - throw t; - } + /** + * Checks if the image is complitely black. + */ + public static boolean isBlack(BufferedImage image) { + return IntStream.range(0, image.getWidth()).parallel() + .allMatch(x-> IntStream.range(0, image.getHeight()) + .allMatch(y -> (image.getRGB(x, y) & 0xffffff) == 0)); } public static void waitArmed(JButtonOperator button) { @@ -152,50 +169,62 @@ }); } - public static void assertEquals(String string, StrictImageComparator comparator, BufferedImage expected, BufferedImage actual) { - try { - assertTrue(string, comparator.compare(expected, actual)); - } catch (Error err) { - save(expected, "expected.png"); - save(actual, "actual.png"); - throw err; - } + private static final DateFormat timestampFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + private static String timeStamp() { + return timestampFormat.format(new Date()); } - public static void assertNotEquals(String string, StrictImageComparator comparator, BufferedImage notExpected, BufferedImage actual) { - try { - assertFalse(string, comparator.compare(notExpected, actual)); - } catch (Error err) { - save(notExpected, "notExpected.png"); - save(actual, "actual.png"); - throw err; - } + /** + * Constructs filename with a timestamp. + * @param name File name or a path without the extension + * @param extension File extension (without the dot). Could be null, + * in which case timestamp is simply added to the filename (no trailing dot). + * @return file name + */ + public static String timeStamp(String name, String extension) { + return name + "-" + timeStamp() + + ((extension != null) ? ("." + extension) : ""); + } + + /** + * Saves an image into a file. Filename will be constructed from the given fileID and + * a timestamp. + * @param image + * @param fileID + */ + public static void save(BufferedImage image, String fileID) { + doSave(image, timeStamp(fileID + "-" + lafShortName(), "png")); } - public static void save(BufferedImage image, String filename) { - String filepath = filename; + //Saves an image into a file with the provided filename + private static void doSave(BufferedImage image, String filename) { try { - filepath = new File(filename).getCanonicalPath(); + String filepath = new File(filename).getCanonicalPath(); System.out.println("Saving screenshot to " + filepath); BufferedOutputStream file = new BufferedOutputStream(new FileOutputStream(filepath)); new PNGEncoder(file, PNGEncoder.COLOR_MODE).encode(image); } catch (IOException ioe) { - throw new RuntimeException("Failed to save image to " + filepath, ioe); + throw new RuntimeException("Failed to save image to " + filename, ioe); } } - public static void waitImageIsStill(Robot rob, ComponentOperator operator) { - operator.waitState(new ComponentChooser() { - + /** + * Waits for the displayed image to be still. + * @param imageID an image ID with no extension. Timestamp and LAF information is added to the ID when saving. + * @return last still image + * @throws TimeoutExpiredException if the waiting is unsuccessful + */ + public static BufferedImage waitStillImage(ComponentOperator operator, String imageID) { + operator.getTimeouts().setTimeout("Waiter.TimeDelta", 1000); + String timestampName = timeStamp(imageID + "-" + lafShortName(), "png"); + class StillImageChooser implements ComponentChooser { private BufferedImage previousImage = null; - private int index = 0; private final StrictImageComparator sComparator = new StrictImageComparator(); @Override public boolean checkComponent(Component comp) { - BufferedImage currentImage = capture(rob, operator); - save(currentImage, "waitImageIsStill" + index + ".png"); - index++; + BufferedImage currentImage = capture(operator); + doSave(currentImage, timestampName); boolean compareResult = previousImage == null ? false : sComparator.compare(currentImage, previousImage); previousImage = currentImage; return compareResult; @@ -203,9 +232,47 @@ @Override public String getDescription() { - return "Image of " + operator + " is still"; + return "A still image of " + operator; } - }); + } + StillImageChooser chooser = new StillImageChooser(); + operator.waitState(chooser); + return chooser.previousImage; + } + + /** + * Waits for the displayed image to change. + * @param reference image to compare to + * @param imageID an image ID with no extension. Timestamp and LAF information is added to the ID when saving. + * @return last (changed) image + * @throws TimeoutExpiredException if the waiting is unsuccessful + */ + public static BufferedImage waitChangedImage(Supplier supplier, + BufferedImage reference, + Timeouts timeouts, + String imageID) throws InterruptedException { + ImageComparator comparator = new StrictImageComparator(); + String timestampName = timeStamp(imageID + "-" + lafShortName(), "png"); + class ImageWaitable implements Waitable { + BufferedImage image; + + @Override + public Object actionProduced(Object obj) { + image = supplier.get(); + doSave(image, timestampName); + return comparator.compare(reference, image) ? null : image; + } + + @Override + public String getDescription() { + return "Waiting screen image to change"; + } + } + ImageWaitable waitable = new ImageWaitable(); + Waiter waiter = new Waiter(waitable); + waiter.setTimeouts(timeouts); + waiter.waitAction(null); + return waitable.image; } private static class ThrowableHolder { @@ -252,10 +319,10 @@ } } - public static BufferedImage capture(Robot rob, ComponentOperator operator) { + public static BufferedImage capture(ComponentOperator operator) { Rectangle boundary = new Rectangle(operator.getLocationOnScreen(), operator.getSize()); - return rob.createScreenCapture(boundary); + return getRobot().createScreenCapture(boundary); } /** @@ -336,26 +403,26 @@ } } + private static String lafShortName() { return UIManager.getLookAndFeel().getClass().getSimpleName(); } + /** * Trying to capture as much information as possible. Currently it includes * full dump and a screenshot of the whole screen. */ public static void captureAll() { - String lookAndFeelClassName = UIManager.getLookAndFeel().getClass().getSimpleName(); - PNGEncoder.captureScreen("failure_" + lookAndFeelClassName + ".png", PNGEncoder.COLOR_MODE); + save(getRobot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())), "failure"); try { - Dumper.dumpAll("dumpAll_" + lookAndFeelClassName + ".xml"); + Dumper.dumpAll(timeStamp("dumpAll-" + lafShortName(), "xml")); } catch (FileNotFoundException ex) { Logger.getLogger(JemmyExt.class.getName()).log(Level.SEVERE, null, ex); } - captureWindows(lookAndFeelClassName); + captureWindows(); } /** * Captures each showing window image using Window.paint() method. - * @param lookAndFeelClassName */ - private static void captureWindows(String lookAndFeelClassName) { + private static void captureWindows() { try { EventQueue.invokeAndWait(() -> { Window[] windows = Window.getWindows(); @@ -370,10 +437,14 @@ g.dispose(); try { - ImageIO.write(img, "png", new File("window_" + lookAndFeelClassName - + "_" + index++ + ".png")); - } catch (IOException e) { - e.printStackTrace(); + save(img, "window-" + index++); + } catch (RuntimeException e) { + if (e.getCause() instanceof IOException) { + System.err.println("Failed to save screen images"); + e.printStackTrace(); + } else { + throw e; + } } } }); diff -Nru openjdk-11-11.0.22+7/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/ButtonDemo.java openjdk-11-11.0.23+9/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/ButtonDemo.java --- openjdk-11-11.0.22+7/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/ButtonDemo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/ButtonDemo.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -218,6 +218,7 @@ JFrame frame = new JFrame(DEMO_TITLE); frame.add(buttonDemo); frame.pack(); + frame.setLocationRelativeTo(null); frame.setVisible(true); }); } diff -Nru openjdk-11-11.0.22+7/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java openjdk-11-11.0.23+9/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java --- openjdk-11-11.0.22+7/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -451,6 +451,24 @@ * @run main/othervm -Djava.security.debug=certpath CAInterop emsigneccrootcag3 CRL */ +/* + * @test id=certainlyrootr1 + * @bug 8321408 + * @summary Interoperability tests with Certainly Root R1 + * @library /test/lib + * @build jtreg.SkippedException ValidatePathWithURL CAInterop + * @run main/othervm -Djava.security.debug=certpath,ocsp CAInterop certainlyrootr1 DEFAULT + */ + +/* + * @test id=certainlyroote1 + * @bug 8321408 + * @summary Interoperability tests with Certainly Root E1 + * @library /test/lib + * @build jtreg.SkippedException ValidatePathWithURL CAInterop + * @run main/othervm -Djava.security.debug=certpath,ocsp CAInterop certainlyroote1 DEFAULT + */ + /** * Collection of certificate validation tests for interoperability with external CAs */ @@ -613,6 +631,13 @@ return new CATestURLs("https://testovg3.emsign.com/RootOVG3.html", "https://testovg3r.emsign.com/RootOVG3MR.html"); + case "certainlyrootr1": + return new CATestURLs("https://valid.root-r1.certainly.com", + "https://revoked.root-r1.certainly.com"); + case "certainlyroote1": + return new CATestURLs("https://valid.root-e1.certainly.com", + "https://revoked.root-e1.certainly.com"); + default: throw new RuntimeException("No test setup found for: " + alias); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/java2d/marlin/ClipShapeTest.java openjdk-11-11.0.23+9/test/jdk/sun/java2d/marlin/ClipShapeTest.java --- openjdk-11-11.0.22+7/test/jdk/sun/java2d/marlin/ClipShapeTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/java2d/marlin/ClipShapeTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -52,24 +52,71 @@ import javax.imageio.ImageWriter; import javax.imageio.stream.ImageOutputStream; -/** - * @test +/* + * @test id=PolySingle * @bug 8191814 - * @summary Verifies that Marlin rendering generates the same - * images with and without clipping optimization with all possible - * stroke (cap/join) and/or dashes or fill modes (EO rules) - * for paths made of either 9 lines, 4 quads, 2 cubics (random) - * Note: Use the argument -slow to run more intensive tests (too much time) - * + * @summary Runs the test with "-poly" option, single-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine ClipShapeTest -poly + */ + +/* + * @test id=PolyDoDashSingle + * @bug 8191814 + * @summary Runs the test with "-poly -doDash" options, single-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine ClipShapeTest -poly -doDash + */ + +/* + * @test id=CubicSingle + * @bug 8191814 + * @summary Runs the test with "-cubic" option, single-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine ClipShapeTest -cubic + */ + +/* + * @test id=CubicDoDashSingle + * @bug 8191814 + * @summary Runs the test with "-cubic -doDash" options, single-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine ClipShapeTest -cubic -doDash + */ + +/* + * @test id=Poly + * @bug 8191814 + * @summary Runs the test with "-poly" option, double-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.DMarlinRenderingEngine ClipShapeTest -poly + */ + +/* + * @test id=PolyDoDash + * @bug 8191814 + * @summary Runs the test with "-poly -doDash" options, double-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.DMarlinRenderingEngine ClipShapeTest -poly -doDash + */ + +/* + * @test id=Cubic + * @bug 8191814 + * @summary Runs the test with "-cubic" option, double-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.DMarlinRenderingEngine ClipShapeTest -cubic + */ + +/* + * @test id=CubicDoDash + * @bug 8191814 + * @summary Runs the test with "-cubic -doDash" options, double-precision * @run main/othervm/timeout=300 -Dsun.java2d.renderer=sun.java2d.marlin.DMarlinRenderingEngine ClipShapeTest -cubic -doDash -*/ + */ + +/** + * Verifies that Marlin rendering generates the same images with and without + * clipping optimization with all possible stroke (cap/join) and/or dashes or + * fill modes (EO rules) for paths made of either 9 lines, 4 quads, 2 cubics + * (random). + *

+ * Note: Use the argument {@code -slow} to run more intensive tests (too much + * time). + */ public final class ClipShapeTest { // test options: diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java openjdk-11-11.0.23+9/test/jdk/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java --- openjdk-11-11.0.22+7/test/jdk/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java 2024-04-08 05:38:38.000000000 +0000 @@ -98,6 +98,7 @@ System.out.println("Waiting for all processes to get started notification"); listener.started.acquire(PROCESS_COUNT); + System.out.println("Terminating all processes"); for (JavaProcess javaProcess : javaProcesses) { javaProcess.terminate(); } @@ -138,7 +139,7 @@ } private void releaseStarted(Set ids) { - System.out.println("realeaseStarted(" + ids + ")"); + System.out.println("releaseStarted(" + ids + ")"); for (Integer id : ids) { releaseStarted(id); } @@ -149,11 +150,12 @@ if (hasMainArgs(id, jp.getMainArgsIdentifier())) { // store id for terminated identification jp.setId(id); - System.out.println("RELEASED (id=" + jp.getId() + ", args=" + jp.getMainArgsIdentifier() + ")"); + System.out.println("RELEASED started (id=" + jp.getId() + ", args=" + jp.getMainArgsIdentifier() + ")"); started.release(); return; } } + System.out.println("releaseStarted: not a test pid: " + id); } private void releaseTerminated(Set ids) { @@ -166,23 +168,44 @@ private void releaseTerminated(Integer id) { for (JavaProcess jp : processes) { if (id.equals(jp.getId())) { - System.out.println("RELEASED (id=" + jp.getId() + ", args=" + jp.getMainArgsIdentifier() + ")"); + System.out.println("RELEASED terminated (id=" + jp.getId() + ", args=" + jp.getMainArgsIdentifier() + ")"); terminated.release(); return; } } } + private static final int ARGS_ATTEMPTS = 3; + private boolean hasMainArgs(Integer id, String args) { + VmIdentifier vmid = null; try { - VmIdentifier vmid = new VmIdentifier("//" + id.intValue()); - MonitoredVm target = host.getMonitoredVm(vmid); - String monitoredArgs = MonitoredVmUtil.mainArgs(target); - if (monitoredArgs != null && monitoredArgs.contains(args)) { - return true; + vmid = new VmIdentifier("//" + id.intValue()); + } catch (URISyntaxException e) { + System.out.println("hasMainArgs(" + id + "): " + e); + return false; + } + // Retry a failing attempt to check arguments for a match, + // as not recognizing a test process will cause timeout and failure. + for (int i = 0; i < ARGS_ATTEMPTS; i++) { + try { + MonitoredVm target = host.getMonitoredVm(vmid); + String monitoredArgs = MonitoredVmUtil.mainArgs(target); + System.out.println("hasMainArgs(" + id + "): has main args: '" + monitoredArgs + "'"); + if (monitoredArgs == null || monitoredArgs.equals("Unknown")) { + System.out.println("hasMainArgs(" + id + "): retry" ); + takeNap(); + continue; + } else if (monitoredArgs.contains(args)) { + return true; + } else { + return false; + } + } catch (MonitorException e) { + // Process probably not running or not ours, e.g. + // sun.jvmstat.monitor.MonitorException: Could not attach to PID + System.out.println("hasMainArgs(" + id + "): " + e); } - } catch (URISyntaxException | MonitorException e) { - // ok. process probably not running } return false; } @@ -247,14 +270,6 @@ } } - private static void takeNap() { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - // ignore - } - } - private final String mainArgsIdentifier; private final ShutdownHook shutdownHook; private volatile Integer id; @@ -323,4 +338,12 @@ return mainArgsIdentifier; } } + + public static void takeNap() { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // ignore + } + } } diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/management/jmxremote/bootstrap/JMXAgentInterfaceBinding.java openjdk-11-11.0.23+9/test/jdk/sun/management/jmxremote/bootstrap/JMXAgentInterfaceBinding.java --- openjdk-11-11.0.22+7/test/jdk/sun/management/jmxremote/bootstrap/JMXAgentInterfaceBinding.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/management/jmxremote/bootstrap/JMXAgentInterfaceBinding.java 2024-04-08 05:38:38.000000000 +0000 @@ -28,10 +28,13 @@ import java.net.Socket; import java.net.SocketAddress; import java.net.UnknownHostException; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; @@ -135,9 +138,9 @@ private final int rmiPort; private final boolean useSSL; private final CountDownLatch latch; - private boolean failed; - private boolean jmxConnectWorked; - private boolean rmiConnectWorked; + private volatile boolean failed; + private volatile boolean jmxConnectWorked; + private volatile boolean rmiConnectWorked; private JMXConnectorThread(String addr, int jmxPort, @@ -156,6 +159,7 @@ try { connect(); } catch (IOException e) { + e.printStackTrace(); failed = true; } } @@ -223,14 +227,16 @@ private static class MainThread extends Thread { - private static final int WAIT_FOR_JMX_AGENT_TIMEOUT_MS = 500; + private static final String EXP_TERM_MSG_REG = "Exit: ([0-9]+)"; + private static final Pattern EXIT_PATTERN = Pattern.compile(EXP_TERM_MSG_REG); + private static final String COOP_EXIT = "MainThread: Cooperative Exit"; + private static final int WAIT_FOR_JMX_AGENT_TIMEOUT_MS = 20_000; private final String addr; private final int jmxPort; private final int rmiPort; private final boolean useSSL; - private boolean terminated = false; private boolean jmxAgentStarted = false; - private Exception excptn; + private volatile Exception excptn; private MainThread(InetAddress bindAddress, int jmxPort, int rmiPort, boolean useSSL) { this.addr = wrapAddress(bindAddress.getHostAddress()); @@ -243,14 +249,16 @@ public void run() { try { waitUntilReadyForConnections(); - // Do nothing, but wait for termination. - try { - while (!terminated) { - Thread.sleep(100); - } - } catch (InterruptedException e) { // ignore + + // Wait for termination message + String actualTerm = new String(System.in.readAllBytes(), StandardCharsets.UTF_8).trim(); + System.err.println("DEBUG: MainThread: actualTerm: '" + actualTerm + "'"); + Matcher matcher = EXIT_PATTERN.matcher(actualTerm); + if (matcher.matches()) { + int expExitCode = Integer.parseInt(matcher.group(1)); + System.out.println(COOP_EXIT); + System.exit(expExitCode); // The main test expects this exit value } - System.out.println("MainThread: Thread stopped."); } catch (Exception e) { this.excptn = e; } diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java openjdk-11-11.0.23+9/test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java --- openjdk-11-11.0.22+7/test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,6 +24,7 @@ import java.io.File; import java.net.InetAddress; import java.net.NetworkInterface; +import java.net.UnknownHostException; import java.net.SocketException; import java.util.ArrayList; import java.util.List; @@ -33,33 +34,32 @@ import jdk.test.lib.process.ProcessTools; /** - * NOTE: - * This test requires at least a setup similar to the following in - * /etc/hosts file (or the windows equivalent). I.e. it expects it to - * be multi-homed and not both being the loop-back interface. - * For example: - * ----->8-------- /etc/hosts ----------->8--- - * 127.0.0.1 localhost - * 192.168.0.1 localhost - * ----->8-------- /etc/hosts ----------->8--- - * * @test * @bug 6425769 * @summary Test JMX agent host address binding. Same ports but different - * interfaces to bind to (using plain sockets and SSL sockets). + * interfaces to bind to (selecting plain or SSL sockets at random + * @key intermittent * * @library /test/lib * @modules java.management.rmi * * @build JMXAgentInterfaceBinding - * @run main/timeout=5 JMXInterfaceBindingTest + * @run main/timeout=60 JMXInterfaceBindingTest */ public class JMXInterfaceBindingTest { public static final int COMMUNICATION_ERROR_EXIT_VAL = 1; - public static final int STOP_PROCESS_EXIT_VAL = 143; - public static final int JMX_PORT = 9111; - public static final int RMI_PORT = 9112; + public static final int STOP_PROCESS_EXIT_VAL = 10; + public static final int JMX_PORT_RANGE_LOWER = 9100; + public static final int JMX_PORT_RANGE_UPPER = 9200; + public static final int JMX_PORT = getRandomPortInRange(JMX_PORT_RANGE_LOWER, + JMX_PORT_RANGE_UPPER); + public static final int JMX_PORT_RANGE_LOWER_SSL = 9201; // 9200 might be RMI Port + public static final int JMX_PORT_RANGE_UPPER_SSL = 9300; + public static final int JMX_PORT_SSL = getRandomPortInRange(JMX_PORT_RANGE_LOWER_SSL, + JMX_PORT_RANGE_UPPER_SSL); + public static final int RMI_PORT = JMX_PORT + 1; + public static final int RMI_PORT_SSL = JMX_PORT_SSL + 1; public static final String READY_MSG = "MainThread: Ready for connections"; public static final String TEST_CLASS = JMXAgentInterfaceBinding.class.getSimpleName(); public static final String KEYSTORE_LOC = System.getProperty("test.src", ".") + @@ -89,8 +89,8 @@ System.out.println(); String msg = String.format("DEBUG: Launching java tester for triplet (HOSTNAME,JMX_PORT,RMI_PORT) == (%s,%d,%d)", address, - JMX_PORT, - RMI_PORT); + useSSL ? JMX_PORT_SSL : JMX_PORT, + useSSL ? RMI_PORT_SSL : RMI_PORT); System.out.println(msg); ProcessThread jvm = runJMXBindingTest(address, useSSL); jvms.add(jvm); @@ -100,9 +100,9 @@ int failedProcesses = 0; for (ProcessThread pt: jvms) { try { - pt.stopProcess(); + pt.sendMessage("Exit: " + STOP_PROCESS_EXIT_VAL); pt.join(); - } catch (InterruptedException e) { + } catch (Throwable e) { System.err.println("Failed to stop process: " + pt.getName()); throw new RuntimeException("Test failed", e); } @@ -131,10 +131,12 @@ args.add("-classpath"); args.add(TEST_CLASSPATH); args.add("-Dcom.sun.management.jmxremote.host=" + address); - args.add("-Dcom.sun.management.jmxremote.port=" + JMX_PORT); - args.add("-Dcom.sun.management.jmxremote.rmi.port=" + RMI_PORT); + args.add("-Dcom.sun.management.jmxremote.port=" + (useSSL ? JMX_PORT_SSL : JMX_PORT)); + args.add("-Dcom.sun.management.jmxremote.rmi.port=" + (useSSL ? RMI_PORT_SSL : RMI_PORT)); args.add("-Dcom.sun.management.jmxremote.authenticate=false"); args.add("-Dcom.sun.management.jmxremote.ssl=" + Boolean.toString(useSSL)); + // This is needed for testing on loopback + args.add("-Djava.rmi.server.hostname=" + address); if (useSSL) { args.add("-Dcom.sun.management.jmxremote.registry.ssl=true"); args.add("-Djavax.net.ssl.keyStore=" + KEYSTORE_LOC); @@ -144,8 +146,8 @@ } args.add(TEST_CLASS); args.add(address); - args.add(Integer.toString(JMX_PORT)); - args.add(Integer.toString(RMI_PORT)); + args.add(Integer.toString(useSSL ? JMX_PORT_SSL : JMX_PORT)); + args.add(Integer.toString(useSSL ? RMI_PORT_SSL : RMI_PORT)); args.add(Boolean.toString(useSSL)); try { ProcessBuilder builder = ProcessTools.createJavaProcessBuilder(args.toArray(new String[] {})); @@ -175,35 +177,42 @@ } } + private static int getRandomPortInRange(int lower, int upper) { + if (upper <= lower) { + throw new IllegalArgumentException("upper <= lower"); + } + int range = upper - lower; + int randPort = lower + (int)(Math.random() * range); + return randPort; + } + public static void main(String[] args) { - List addrs = getAddressesForLocalHost(); - if (addrs.size() < 2) { - System.out.println("Ignoring manual test since no more than one IPs are configured for 'localhost'"); + List addrs = getNonLoopbackAddressesForLocalHost(); + if (addrs.isEmpty()) { + System.out.println("Ignoring test since no non-loopback IPs are available to bind to " + + "in addition to the loopback interface."); return; } JMXInterfaceBindingTest test = new JMXInterfaceBindingTest(); + // Add loopback interface too as we'd like to verify whether it's + // possible to bind to multiple addresses on the same host. This + // wasn't possible prior JDK-6425769. It used to bind to *all* local + // interfaces. We add loopback here, since that eases test setup. + addrs.add(InetAddress.getLoopbackAddress()); test.run(addrs); System.out.println("All tests PASSED."); } - private static List getAddressesForLocalHost() { - + private static List getNonLoopbackAddressesForLocalHost() { + List addrs = new ArrayList<>(); try { - return NetworkInterface.networkInterfaces() - .flatMap(NetworkInterface::inetAddresses) - .filter(JMXInterfaceBindingTest::isNonloopbackLocalhost) - .collect(Collectors.toList()); - } catch (SocketException e) { + InetAddress localHost = InetAddress.getLocalHost(); + if (!localHost.isLoopbackAddress()) { + addrs.add(localHost); + } + return addrs; + } catch (UnknownHostException e) { throw new RuntimeException("Test failed", e); } } - - // we need 'real' localhost addresses only (eg. not loopback ones) - // so we can bind the remote JMX connector to them - private static boolean isNonloopbackLocalhost(InetAddress i) { - if (!i.isLoopbackAddress()) { - return i.getHostName().toLowerCase().equals("localhost"); - } - return false; - } } diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/net/www/protocol/http/RedirectOnPost.java openjdk-11-11.0.23+9/test/jdk/sun/net/www/protocol/http/RedirectOnPost.java --- openjdk-11-11.0.22+7/test/jdk/sun/net/www/protocol/http/RedirectOnPost.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/net/www/protocol/http/RedirectOnPost.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,9 +24,8 @@ /** * @test * @library /test/lib - * @library /lib/testlibrary/ * @modules jdk.httpserver - * @build jdk.testlibrary.SimpleSSLContext + * @build jdk.test.lib.net.SimpleSSLContext * @compile RedirectOnPost.java * @run main/othervm RedirectOnPost * @bug 8029127 @@ -39,7 +38,7 @@ import com.sun.net.httpserver.*; import java.util.concurrent.*; import javax.net.ssl.*; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import jdk.test.lib.net.URIBuilder; public class RedirectOnPost { diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/krb5/auto/HttpsCB.java openjdk-11-11.0.23+9/test/jdk/sun/security/krb5/auto/HttpsCB.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/krb5/auto/HttpsCB.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/krb5/auto/HttpsCB.java 2024-04-08 05:38:38.000000000 +0000 @@ -24,8 +24,8 @@ /* * @test * @bug 8279842 8282293 - * @library /test/lib /lib/testlibrary - * @build jdk.testlibrary.SimpleSSLContext + * @library /test/lib + * @build jdk.test.lib.net.SimpleSSLContext * @modules java.base/sun.security.util * java.security.jgss/sun.security.jgss * java.security.jgss/sun.security.jgss.krb5 @@ -94,7 +94,7 @@ import javax.security.auth.Subject; import jdk.test.lib.Asserts; -import jdk.testlibrary.SimpleSSLContext; +import jdk.test.lib.net.SimpleSSLContext; import org.ietf.jgss.GSSContext; import org.ietf.jgss.GSSCredential; import org.ietf.jgss.GSSManager; diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/lib/cacerts/VerifyCACerts.java openjdk-11-11.0.23+9/test/jdk/sun/security/lib/cacerts/VerifyCACerts.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/lib/cacerts/VerifyCACerts.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/lib/cacerts/VerifyCACerts.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ * 8223499 8225392 8232019 8234245 8233223 8225068 8225069 8243321 8243320 * 8243559 8225072 8258630 8259312 8256421 8225081 8225082 8225083 8245654 * 8305975 8304760 8307134 8295894 8314960 8317373 8317374 8318759 8319187 + * 8321408 * @summary Check root CA entries in cacerts file */ import java.io.ByteArrayInputStream; @@ -47,12 +48,13 @@ + File.separator + "security" + File.separator + "cacerts"; // The numbers of certs now. - private static final int COUNT = 106; + private static final int COUNT = 108; // SHA-256 of cacerts, can be generated with // shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95 private static final String CHECKSUM - = "61:5F:6D:C5:9C:A3:8A:65:3F:CB:F9:F5:26:04:23:F4:53:A6:8C:B3:8B:2B:0A:F0:66:7D:9E:67:B9:4D:AC:B7"; + = "81:D4:84:F6:92:78:A4:82:25:06:DC:42:25:C9:5D:6C:63:E4:99:CE:BC:ED:66:B3:8C:BA:E6:BA:6B:34:0F:01"; + // map of cert alias to SHA-256 fingerprint @SuppressWarnings("serial") private static final Map FINGERPRINT_MAP = new HashMap<>() { @@ -269,6 +271,10 @@ "86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B"); put("emsignrootcag2 [jdk]", "1A:A0:C2:70:9E:83:1B:D6:E3:B5:12:9A:00:BA:41:F7:EE:EF:02:08:72:F1:E6:50:4B:F0:F6:C3:F2:4F:3A:F3"); + put("certainlyrootr1 [jdk]", + "77:B8:2C:D8:64:4C:43:05:F7:AC:C5:CB:15:6B:45:67:50:04:03:3D:51:C6:0C:62:02:A8:E0:C3:34:67:D3:A0"); + put("certainlyroote1 [jdk]", + "B4:58:5F:22:E4:AC:75:6A:4E:86:12:A1:36:1C:5D:9D:03:1A:93:FD:84:FE:BB:77:8F:A3:06:8B:0F:C4:2D:C2"); } }; diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/provider/KeyStore/DKSTest.java openjdk-11-11.0.23+9/test/jdk/sun/security/provider/KeyStore/DKSTest.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/provider/KeyStore/DKSTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/provider/KeyStore/DKSTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,25 +22,33 @@ */ /* - * see ./DKSTest.sh + * @test + * @bug 8007755 + * @library /test/lib + * @summary Support the logical grouping of keystores */ import java.io.*; import java.net.*; +import java.nio.file.Paths; import java.security.*; import java.security.KeyStore; import java.security.cert.*; import java.security.cert.Certificate; import java.util.*; +import jdk.test.lib.process.ProcessTools; +import jdk.test.lib.process.OutputAnalyzer; // Load and store entries in domain keystores public class DKSTest { private static final String TEST_SRC = System.getProperty("test.src"); - private static final String USER_DIR = System.getProperty("user.dir"); - private static final String CERT = TEST_SRC + "/../../pkcs12/trusted.pem"; - private static final String CONFIG = "file://" + TEST_SRC + "/domains.cfg"; + private static final String USER_DIR = System.getProperty("user.dir", "."); + private static final String CERT = Paths.get( + TEST_SRC, "..", "..", "pkcs12", "trusted.pem").toAbsolutePath().toString(); + private static final String CONFIG = Paths.get( + TEST_SRC, "domains.cfg").toUri().toString(); private static final Map PASSWORDS = new HashMap() {{ put("keystore", @@ -74,6 +82,18 @@ }}; public static void main(String[] args) throws Exception { + if (args.length == 0) { + // Environment variable and system properties referred in domains.cfg used by this Test. + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(List.of( + "-Dtest.src=" + TEST_SRC , "-Duser.dir=" + USER_DIR, "DKSTest", "run")); + pb.environment().putAll(System.getenv()); + pb.environment().put("KEYSTORE_PWD", "test12"); + pb.environment().put("TRUSTSTORE_PWD", "changeit"); + OutputAnalyzer output = ProcessTools.executeProcess(pb); + output.shouldHaveExitValue(0); + output.outputTo(System.out); + return; + } /* * domain keystore: keystores with wrong passwords */ diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/provider/KeyStore/DKSTest.sh openjdk-11-11.0.23+9/test/jdk/sun/security/provider/KeyStore/DKSTest.sh --- openjdk-11-11.0.22+7/test/jdk/sun/security/provider/KeyStore/DKSTest.sh 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/provider/KeyStore/DKSTest.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -#! /bin/sh - -# -# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# @test -# @bug 8007755 -# @summary Support the logical grouping of keystores - -# set a few environment variables so that the shell-script can run stand-alone -# in the source directory -if [ "${TESTSRC}" = "" ] ; then - TESTSRC="." -fi - -if [ "${TESTCLASSES}" = "" ] ; then - TESTCLASSES="." -fi - -if [ "${TESTJAVA}" = "" ] ; then - echo "TESTJAVA not set. Test cannot execute." - echo "FAILED!!!" - exit 1 -fi - -if [ "${COMPILEJAVA}" = "" ]; then - COMPILEJAVA="${TESTJAVA}" -fi - -# set platform-dependent variables -OS=`uname -s` -case "$OS" in - SunOS | Linux | Darwin | AIX) - PS=":" - FS="/" - ;; - CYGWIN* ) - PS=";" - FS="/" - ;; - Windows* ) - PS=";" - FS="\\" - ;; - * ) - echo "Unrecognized system!" - exit 1; - ;; -esac - -${COMPILEJAVA}${FS}bin${FS}javac -d . ${TESTSRC}${FS}DKSTest.java - -KEYSTORE_PWD=test12 TRUSTSTORE_PWD=changeit \ - ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -Dtest.src=${TESTSRC} DKSTest - -exit $status diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java openjdk-11-11.0.23+9/test/jdk/sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,7 @@ * @bug 8051408 8157308 8130181 * @modules java.base/sun.security.provider * @build java.base/sun.security.provider.S - * @run main SpecTest + * @run main/othervm -Djava.security.egd=file:/dev/urandom SpecTest * @summary check the AbstractDrbg API etc */ diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/ExportPrivateKeyNoPwd.java openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ExportPrivateKeyNoPwd.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/ExportPrivateKeyNoPwd.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ExportPrivateKeyNoPwd.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -import java.security.*; - -/* - * Export a private key from the named keychain entry without supplying a - * password. See JDK-8062264. - * - * NOTE: Keychain access controls must already have been lowered to permit - * the target entry to be accessed. - */ -public class ExportPrivateKeyNoPwd { - - public static final void main(String[] args) throws Exception { - - if (args.length != 1) { - throw new Exception( - "ExportPrivateKeyNoPwd: must supply name of a keystore entry"); - } - String alias = args[0]; - - KeyStore ks = KeyStore.getInstance("KeychainStore"); - System.out.println("ExportPrivateKeyNoPwd: loading keychains..."); - ks.load(null, null); - - System.out.println("ExportPrivateKeyNoPwd: exporting key..."); - Key key = ks.getKey(alias, null); - if (key instanceof PrivateKey) { - System.out.println("ExportPrivateKeyNoPwd: exported " + - key.getAlgorithm() + " private key from '" + alias + "'"); - } else { - throw new Exception("Error exporting private key from keychain"); - } - } -} - diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/ListKeyChainStore.java openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ListKeyChainStore.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/ListKeyChainStore.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ListKeyChainStore.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,202 @@ +/* + * Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 7133495 8062264 8046777 8153005 + * @summary KeyChain KeyStore implementation retrieves only one private key entry + * @requires (os.family == "mac") + * @library /test/lib + * @run main/othervm/manual ListKeyChainStore + */ + +import jdk.test.lib.SecurityTools; +import jdk.test.lib.process.ProcessTools; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.Key; +import java.security.KeyStore; +import java.security.PrivateKey; + +public class ListKeyChainStore { + private static final String PWD = "xxxxxx"; + private static final String DEFAULT_KEYTOOL = "-list -storetype KeychainStore " + + "-keystore NONE -storepass " + PWD; + private static final String USER_DIR = System.getProperty("user.dir", "."); + private static final String FS = System.getProperty("file.separator"); + private static final String PKCS12_KEYSTORE = USER_DIR + FS + "7133495.p12"; + private static final String KEYCHAIN_FILE = USER_DIR + FS + "7133495.keychain"; + private static final String TEMPORARY_FILE = USER_DIR + FS + "7133495.tmp"; + private static final String USER_KEYCHAIN_LIST = USER_DIR + FS + "user.keychain.list"; + private static final String PRIVATE_KEY_ENTRY = "PrivateKeyEntry"; + + public static void main(String[] args) throws Throwable { + LOG_MSG("WARNING: This test doesn't work on macOS virtualized environment. " + + "`security list-keychains -s` doesn't update the search order."); + + deleteTestTempFilesIfExists(); + + // Get the old security keychain list to restore later + try (PrintStream printStream = new PrintStream(USER_KEYCHAIN_LIST)) { + ProcessTools.executeCommand("sh", "-c", "security list-keychains") + .shouldHaveExitValue(0).outputTo(printStream); + } + + try { + try (PrintStream printStream = new PrintStream(TEMPORARY_FILE)) { + SecurityTools.keytool(DEFAULT_KEYTOOL).shouldHaveExitValue(0) + .outputTo(printStream); + } + int oldPrivateKeyCount = countOccurrences(TEMPORARY_FILE, PRIVATE_KEY_ENTRY); + LOG_MSG("Found " + oldPrivateKeyCount + " private key entries in the " + + "Keychain keystore"); + + // Create the PKCS12 keystore containing 3 public/private key pairs + LOG_MSG("Creating PKCS12 keystore: " + PKCS12_KEYSTORE); + for (int i = 0; i < 3; i++) { + // Use legacy encryption and MAC algorithms, refer macOS open radar FB8988319 + // macOS security framework doesn't work with the latest algorithms + SecurityTools.keytool(String.format("-J-Dkeystore.pkcs12.legacy -genkeypair" + + " -storetype PKCS12 -keystore %s -storepass %s -keyalg rsa -dname " + + "CN=CN%d,OU=OU%d,O=O%d,ST=ST%d,C=US -alias 7133495-%d", + PKCS12_KEYSTORE, PWD, i, i, i, i, i)).shouldHaveExitValue(0); + } + + // Create the keychain + LOG_MSG("Creating keychain: " + KEYCHAIN_FILE); + ProcessTools.executeCommand("sh", "-c", String.format("security create-keychain" + + " -p %s %s", PWD, KEYCHAIN_FILE)).shouldHaveExitValue(0); + + // Unlock the keychain + LOG_MSG("Unlock keychain: " + KEYCHAIN_FILE); + ProcessTools.executeCommand("sh", "-c", String.format("security unlock-keychain" + + " -p %s %s", PWD, KEYCHAIN_FILE)).shouldHaveExitValue(0); + + // Import the key pairs from the PKCS12 keystore into the keychain + // The '-A' option is used to lower the keychain's access controls + LOG_MSG("Importing the key pairs from " + PKCS12_KEYSTORE + + " to " + KEYCHAIN_FILE); + ProcessTools.executeCommand("sh", "-c", String.format("security import %s -k %s" + + " -f pkcs12 -P %s -A", PKCS12_KEYSTORE, KEYCHAIN_FILE, PWD)).shouldHaveExitValue(0); + + // Generate a 2048-bit RSA keypair and import into the keychain + // Its private key is configured with non-default key usage settings + ProcessTools.executeCommand("sh", "-c", String.format("certtool ca k=%s " + + "< " + msg); + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/ListKeychainStore.sh openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ListKeychainStore.sh --- openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/ListKeychainStore.sh 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/ListKeychainStore.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,188 +0,0 @@ -# -# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# @test -# @bug 7133495 8041740 8062264 8046777 -# @summary [macosx] KeyChain KeyStore implementation retrieves only one private key entry - -if [ "${TESTJAVA}" = "" ] ; then - JAVAC_CMD=`which javac` - TESTJAVA=`dirname $JAVAC_CMD`/.. -fi - -if [ "${TESTSRC}" = "" ] ; then - TESTSRC="." -fi -if [ "${TESTCLASSES}" = "" ] ; then - TESTCLASSES=`pwd` -fi - -# Only run on MacOS -OS=`uname -s` -case "$OS" in - Darwin ) - ;; - * ) - echo "Will not run test on: ${OS}" - exit 0; - ;; -esac - -PWD="xxxxxx" -KEYTOOL="${TESTJAVA}/bin/keytool ${TESTTOOLVMOPTS} -storetype KeychainStore -keystore NONE -storepass $PWD" -TEMPORARY_P12="$TESTCLASSES/7133495.p12" -TEMPORARY_KC="$TESTCLASSES/7133495.keychain" -TEMPORARY_LIST="$TESTCLASSES/7133495.tmp" -CLEANUP_P12="rm -f $TEMPORARY_P12" -CLEANUP_KC="security delete-keychain $TEMPORARY_KC" -CLEANUP_LIST="rm -f $TEMPORARY_LIST" - -# Count the number of private key entries in the Keychain keystores - -COUNT=`$KEYTOOL -list | grep PrivateKeyEntry | wc -l` -echo "Found $COUNT private key entries in the Keychain keystores" - -# Create a temporary PKCS12 keystore containing 3 public/private keypairs - -RESULT=`$CLEANUP_P12` - -for i in X Y Z -do - ${TESTJAVA}/bin/keytool ${TESTTOOLVMOPTS} -genkeypair \ - -storetype PKCS12 \ - -keystore $TEMPORARY_P12 \ - -storepass $PWD \ - -keyalg rsa \ - -dname "CN=$i,OU=$i,O=$i,ST=$i,C=US" \ - -alias 7133495-$i - - if [ $? -ne 0 ]; then - echo "Error: cannot create keypair $i in the temporary PKCS12 keystore" - RESULT=`$CLEANUP_P12` - exit 1 - fi -done -echo "Created a temporary PKCS12 keystore: $TEMPORARY_P12" - -# Create a temporary keychain - -security create-keychain -p $PWD $TEMPORARY_KC -if [ $? -ne 0 ]; then - echo "Error: cannot create the temporary keychain" - RESULT=`$CLEANUP_P12` - exit 2 -fi -echo "Created a temporary keychain: $TEMPORARY_KC" - -# Unlock the temporary keychain - -security unlock-keychain -p $PWD $TEMPORARY_KC -if [ $? -ne 0 ]; then - echo "Error: cannot unlock the temporary keychain" - RESULT=`$CLEANUP_P12` - RESULT=`$CLEANUP_KC` - exit 3 -fi -echo "Unlocked the temporary keychain" - -# Import the keypairs from the PKCS12 keystore into the keychain -# (The '-A' option is used to lower the temporary keychain's access controls) - -security import $TEMPORARY_P12 -k $TEMPORARY_KC -f pkcs12 -P $PWD -A -if [ $? -ne 0 ]; then - echo "Error: cannot import keypairs from PKCS12 keystore into the keychain" - RESULT=`$CLEANUP_P12` - RESULT=`$CLEANUP_KC` - exit 4 -fi -echo "Imported keypairs from PKCS12 keystore into the keychain" - -# Generate a 2048-bit RSA keypair and import into the temporary keychain -# (its private key is configured with non-default key usage settings) - -certtool c k=$TEMPORARY_KC < $TEMPORARY_LIST -security list-keychains >> $TEMPORARY_LIST -security list-keychains -s `xargs < ${TEMPORARY_LIST}` -`$CLEANUP_LIST` -echo "Temporary keychain search order:" -security list-keychains - -# Recount the number of private key entries in the Keychain keystores -# (3 private keys imported from PKCS12, 1 private key generated by 'certtool') - -RECOUNT=`$KEYTOOL -list | grep PrivateKeyEntry | wc -l` -echo "Found $RECOUNT private key entries in the Keychain keystore" -if [ $RECOUNT -lt `expr $COUNT + 4` ]; then - echo "Error: expected >$COUNT private key entries in the Keychain keystores" - RESULT=`$CLEANUP_P12` - RESULT=`$CLEANUP_KC` - exit 5 -fi - -# Export a private key from the keychain (without supplying a password) -# Access controls have already been lowered (see 'security import ... -A' above) - -${TESTJAVA}/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d . ${TESTSRC}/ExportPrivateKeyNoPwd.java || exit 6 -${TESTJAVA}/bin/java ${TESTVMOPTS} ExportPrivateKeyNoPwd x -if [ $? -ne 0 ]; then - echo "Error exporting private key from the temporary keychain" - RESULT=`$CLEANUP_P12` - RESULT=`$CLEANUP_KC` - exit 6 -fi -echo "Exported a private key from the temporary keychain" - -RESULT=`$CLEANUP_P12` -if [ $? -ne 0 ]; then - echo "Error: cannot remove the temporary PKCS12 keystore" - exit 7 -fi -echo "Removed the temporary PKCS12 keystore" - -RESULT=`$CLEANUP_KC` -if [ $? -ne 0 ]; then - echo "Error: cannot remove the temporary keychain" - exit 8 -fi -echo "Removed the temporary keychain" - -exit 0 diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java 2024-04-08 05:38:38.000000000 +0000 @@ -108,7 +108,7 @@ check("p12", "newpass", "newpass"); - // Conversely, a JKS keystore can be laoded as a PKCS12, and it follows + // Conversely, a JKS keystore can be loaded as a PKCS12, and it follows // PKCS12 rules that both passwords are changed at the same time and // some commands are rejected. diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/util/RegisteredDomain/tests.dat openjdk-11-11.0.23+9/test/jdk/sun/security/util/RegisteredDomain/tests.dat --- openjdk-11-11.0.22+7/test/jdk/sun/security/util/RegisteredDomain/tests.dat 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/util/RegisteredDomain/tests.dat 2024-04-08 05:38:38.000000000 +0000 @@ -152,6 +152,10 @@ s.pvt.k12.ma.us pvt.k12.ma.us s.pvt.k12.ma.us w.s.pvt.k12.ma.us pvt.k12.ma.us s.pvt.k12.ma.us +# vn +site.com.vn com.vn site.com.vn +site.ai.vn ai.vn site.ai.vn + # السعودية السعودية السعودية null foo.السعودية السعودية foo.السعودية diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/security/x509/X509CRLImpl/UnexpectedNPE.java openjdk-11-11.0.23+9/test/jdk/sun/security/x509/X509CRLImpl/UnexpectedNPE.java --- openjdk-11-11.0.22+7/test/jdk/sun/security/x509/X509CRLImpl/UnexpectedNPE.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/security/x509/X509CRLImpl/UnexpectedNPE.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,56 +23,43 @@ /* * @test - * @bug 5052433 - * @summary NullPointerException for generateCRL and generateCRLs methods. + * @bug 5052433 8315042 + * @summary Verify that generateCRL and generateCRLs methods do not throw + * NullPointerException. They should throw CRLException instead. + * @library /test/lib */ import java.security.NoSuchProviderException; import java.security.cert.*; import java.io.ByteArrayInputStream; +import java.util.Base64; -public class UnexpectedNPE { - CertificateFactory cf = null ; +import jdk.test.lib.Utils; - public UnexpectedNPE() {} +public class UnexpectedNPE { + static CertificateFactory cf = null; - public static void main( String[] av ) { + public static void main(String[] av ) throws CertificateException, + NoSuchProviderException { byte[] encoded_1 = { 0x00, 0x00, 0x00, 0x00 }; byte[] encoded_2 = { 0x30, 0x01, 0x00, 0x00 }; byte[] encoded_3 = { 0x30, 0x01, 0x00 }; + byte[] encoded_4 = Base64.getDecoder().decode( + "MAsGCSqGSMP7TQEHAjI1Bgn///////8wCwUyAQ=="); - UnexpectedNPE unpe = new UnexpectedNPE() ; + cf = CertificateFactory.getInstance("X.509", "SUN"); - if(!unpe.run(encoded_1)) { - throw new SecurityException("CRLException has not been thrown"); - } - - if(!unpe.run(encoded_2)) { - throw new SecurityException("CRLException has not been thrown"); - } - - if(!unpe.run(encoded_2)) { - throw new SecurityException("CRLException has not been thrown"); - } + run(encoded_1); + run(encoded_2); + run(encoded_3); + run(encoded_4); } - private boolean run(byte[] buf) { - if (cf == null) { - try { - cf = CertificateFactory.getInstance("X.509", "SUN"); - } catch (CertificateException e) { - throw new SecurityException("Cannot get CertificateFactory"); - } catch (NoSuchProviderException npe) { - throw new SecurityException("Cannot get CertificateFactory"); - } - } - try { - cf.generateCRL(new ByteArrayInputStream(buf)); - } catch (CRLException ce) { - System.out.println("NPE checking passed"); - return true; - } - - System.out.println("CRLException has not been thrown"); - return false; + private static void run(byte[] buf) { + Utils.runAndCheckException( + () -> cf.generateCRL(new ByteArrayInputStream(buf)), + CRLException.class); + Utils.runAndCheckException( + () -> cf.generateCRLs(new ByteArrayInputStream(buf)), + CRLException.class); } } diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/util/calendar/zi/GenDoc.java openjdk-11-11.0.23+9/test/jdk/sun/util/calendar/zi/GenDoc.java --- openjdk-11-11.0.22+7/test/jdk/sun/util/calendar/zi/GenDoc.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/util/calendar/zi/GenDoc.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -154,10 +154,10 @@ outD.mkdirs(); /* If mapfile is available, add a link to the appropriate map */ - if ((mapList == null) && (Main.getMapFile() != null)) { + if (mapList == null && Main.getMapFile() != null) { + mapList = new HashMap(); FileReader fr = new FileReader(Main.getMapFile()); BufferedReader in = new BufferedReader(fr); - mapList = new HashMap(); String line; while ((line = in.readLine()) != null) { // skip blank and comment lines @@ -180,7 +180,7 @@ out.write(header1 + new Date() + header3 + zonename + header4); out.write(body1 + "" + zonename + ""); - LatitudeAndLongitude location = mapList.get(zonename); + LatitudeAndLongitude location = (mapList != null ? mapList.get(zonename) : null); if (location != null) { int deg, min, sec; diff -Nru openjdk-11-11.0.22+7/test/jdk/sun/util/logging/PlatformLoggerTest.java openjdk-11-11.0.23+9/test/jdk/sun/util/logging/PlatformLoggerTest.java --- openjdk-11-11.0.22+7/test/jdk/sun/util/logging/PlatformLoggerTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/sun/util/logging/PlatformLoggerTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,6 +34,7 @@ * @run main/othervm PlatformLoggerTest */ +import java.lang.ref.Reference; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.logging.*; @@ -122,7 +123,7 @@ } private static void checkLogger(String name, Level level) { - Logger logger = LogManager.getLogManager().getLogger(name); + final Logger logger = LogManager.getLogManager().getLogger(name); if (logger == null) { throw new RuntimeException("Logger " + name + " does not exist"); @@ -132,6 +133,7 @@ throw new RuntimeException("Invalid level for logger " + logger.getName() + " " + logger.getLevel()); } + Reference.reachabilityFence(logger); } private static void testLogMethods(PlatformLogger logger) { @@ -170,10 +172,11 @@ } } - Logger javaLogger = Logger.getLogger("foo.bar.baz"); + final Logger javaLogger = Logger.getLogger("foo.bar.baz"); for (Level level : levels) { checkJavaLoggerLevel(javaLogger, level); } + Reference.reachabilityFence(javaLogger); } private static void checkLoggerLevel(PlatformLogger logger, Level level) { @@ -185,12 +188,13 @@ } // check the level set in java.util.logging.Logger - Logger javaLogger = LogManager.getLogManager().getLogger(logger.getName()); + final Logger javaLogger = LogManager.getLogManager().getLogger(logger.getName()); Level javaLevel = javaLogger.getLevel(); if (javaLogger.getLevel() != level) { throw new RuntimeException("Retrieved backing java.util.logging.Logger level " + javaLevel + " is not the expected " + level); } + Reference.reachabilityFence(javaLogger); } private static void checkJavaLoggerLevel(Logger logger, Level level) { @@ -200,7 +204,7 @@ System.out.println("Testing Java Level with: " + level.getName()); // create a brand new java logger - Logger javaLogger = sun.util.logging.internal.LoggingProviderImpl.getLogManagerAccess() + final Logger javaLogger = sun.util.logging.internal.LoggingProviderImpl.getLogManagerAccess() .demandLoggerFor(LogManager.getLogManager(), logger.getName()+"."+level.getName(), Thread.class.getModule()); @@ -237,6 +241,7 @@ + plogger.level() + " is not the expected " + expected); } + Reference.reachabilityFence(javaLogger); } private static void checkPlatformLoggerLevelMapping(Level level) { diff -Nru openjdk-11-11.0.22+7/test/jdk/tools/jar/InputFilesTest.java openjdk-11-11.0.23+9/test/jdk/tools/jar/InputFilesTest.java --- openjdk-11-11.0.22+7/test/jdk/tools/jar/InputFilesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/tools/jar/InputFilesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* * @test - * @bug 8165944 + * @bug 8165944 8318971 * @summary test several jar tool input file scenarios with variations on -C * options with/without a --release option. Some input files are * duplicates that sometimes cause exceptions and other times do not, @@ -153,6 +153,84 @@ jar("cf test.jar --release 9 -C test1 a -C test2 a"); } + /** + * Containing non-existent file in the file list + * The final jar should not be created and correct error message should be caught. + * IOException is triggered as expected. + */ + @Test + public void testNonExistentFileInput() throws IOException { + touch("existingTestFile.txt"); + onCompletion = () -> rm("existingTestFile.txt"); + try { + jar("cf test.jar existingTestFile.txt nonExistentTestFile.txt"); + Assert.fail("jar tool unexpectedly completed successfully"); + } catch (IOException e) { + Assert.assertEquals(e.getMessage().trim(), "nonExistentTestFile.txt : no such file or directory"); + Assert.assertTrue(Files.notExists(Path.of("test.jar")), "Jar file should not be created."); + } + } + + /** + * With @File as a part of jar command line, where the File is containing one or more + * non-existent files or directories + * The final jar should not be created and correct error message should be caught. + * IOException is triggered as expected. + */ + @Test + public void testNonExistentFileInputClassList() throws IOException { + touch("existingTestFile.txt"); + touch("classes.list"); + Files.writeString(Path.of("classes.list"), + "existingTestFile.txt\n" + + "nonExistentTestFile.txt\n" + + "nonExistentDirectory\n" + ); + onCompletion = () -> rm("existingTestFile.txt classes.list"); + try { + jar("cf test.jar @classes.list"); + Assert.fail("jar tool unexpectedly completed successfully"); + } catch (IOException e) { + String msg = e.getMessage().trim(); + Assert.assertTrue(msg.contains("nonExistentTestFile.txt : no such file or directory")); + Assert.assertTrue(msg.trim().contains("nonExistentDirectory : no such file or directory")); + Assert.assertTrue(Files.notExists(Path.of("test.jar")), "Jar file should not be created."); + } + + } + + /** + * Create a jar file; then with @File as a part of jar command line, where the File is containing one or more + * non-existent files or directories + * The final jar should not be created and correct error message should be caught. + * IOException is triggered as expected. + */ + @Test + public void testUpdateNonExistentFileInputClassList() throws IOException { + touch("existingTestFileUpdate.txt"); + touch("existingTestFileUpdate2.txt"); + touch("classesUpdate.list"); + Files.writeString(Path.of("classesUpdate.list"), + "existingTestFileUpdate2.txt\n" + + "nonExistentTestFileUpdate.txt\n" + + "nonExistentDirectoryUpdate\n" + ); + onCompletion = () -> rm("existingTestFileUpdate.txt existingTestFileUpdate2.txt " + + "classesUpdate.list testUpdate.jar"); + try { + jar("cf testUpdate.jar existingTestFileUpdate.txt"); + Assert.assertTrue(Files.exists(Path.of("testUpdate.jar"))); + jar("uf testUpdate.jar @classesUpdate.list"); + Assert.fail("jar tool unexpectedly completed successfully"); + } catch (IOException e) { + String msg = e.getMessage().trim(); + Assert.assertFalse(msg.contains("existingTestFileUpdate.txt : no such file or directory")); + Assert.assertTrue(msg.contains("nonExistentTestFileUpdate.txt : no such file or directory")); + Assert.assertTrue(msg.trim().contains("nonExistentDirectoryUpdate : no such file or directory")); + } + + } + private Stream mkpath(String... args) { return Arrays.stream(args).map(d -> Paths.get(".", d.split("/"))); } diff -Nru openjdk-11-11.0.22+7/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/ModuleTargetHelper.java openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/ModuleTargetHelper.java --- openjdk-11-11.0.22+7/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/ModuleTargetHelper.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/ModuleTargetHelper.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.io.InputStream; +import java.io.IOException; +import java.lang.module.ModuleReader; +import java.lang.module.ModuleReference; +import java.net.URI; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +import jdk.internal.module.ModuleInfo; +import jdk.internal.module.ModuleInfo.Attributes; + +public class ModuleTargetHelper { + private ModuleTargetHelper() {} + + public static final class ModuleTarget { + private String targetPlatform; + + public ModuleTarget(String targetPlatform) { + this.targetPlatform = targetPlatform; + } + + public String targetPlatform() { + return targetPlatform; + } + } + + public static ModuleTarget getJavaBaseTarget() throws IOException { + Path p = Paths.get(URI.create("jrt:/modules/java.base/module-info.class")); + try (InputStream in = Files.newInputStream(p)) { + return read(in); + } + } + + public static ModuleTarget read(InputStream in) throws IOException { + ModuleInfo.Attributes attrs = ModuleInfo.read(in, null); + if (attrs.target() != null) { + return new ModuleTarget(attrs.target().targetPlatform()); + } else { + return null; + } + } + + public static ModuleTarget read(ModuleReference modRef) throws IOException { + ModuleReader reader = modRef.open(); + try (InputStream in = reader.open("module-info.class").get()) { + return read(in); + } finally { + reader.close(); + } + } +} diff -Nru openjdk-11-11.0.22+7/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java --- openjdk-11-11.0.22+7/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -42,7 +42,6 @@ /** * @test * @bug 8142968 8173381 - * @library /lib/testlibrary * @modules java.base/jdk.internal.misc * @modules java.base/jdk.internal.module * @modules java.base/jdk.internal.org.objectweb.asm diff -Nru openjdk-11-11.0.22+7/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java --- openjdk-11-11.0.22+7/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jdk/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -44,7 +44,7 @@ /** * @test * @bug 8142968 8173381 8174740 - * @library /lib/testlibrary /test/lib + * @library /test/lib * @modules jdk.compiler jdk.jlink * @modules java.base/jdk.internal.module * @modules java.base/jdk.internal.org.objectweb.asm diff -Nru openjdk-11-11.0.22+7/test/jtreg-ext/requires/VMProps.java openjdk-11-11.0.23+9/test/jtreg-ext/requires/VMProps.java --- openjdk-11-11.0.22+7/test/jtreg-ext/requires/VMProps.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/jtreg-ext/requires/VMProps.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,10 +27,13 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.io.File; +import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; +import java.time.Instant; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -87,6 +90,7 @@ */ @Override public Map call() { + log("Entering call()"); SafeMap map = new SafeMap(); map.put("vm.flavor", this::vmFlavor); map.put("vm.compMode", this::vmCompMode); @@ -123,6 +127,7 @@ vmOptFinalFlags(map); dump(map.map); + log("Leaving call()"); return map.map; } @@ -452,6 +457,8 @@ * @return true if docker is supported in a given environment */ protected String dockerSupport() { + log("Entering dockerSupport()"); + boolean isSupported = true; if (Platform.isLinux()) { // currently docker testing is only supported for Linux, @@ -470,6 +477,8 @@ } } + log("dockerSupport(): platform check: isSupported = " + isSupported); + if (isSupported) { try { isSupported = checkDockerSupport(); @@ -478,15 +487,59 @@ } } + log("dockerSupport(): returning isSupported = " + isSupported); return "" + isSupported; } + // Configures process builder to redirect process stdout and stderr to a file. + // Returns file names for stdout and stderr. + private Map redirectOutputToLogFile(String msg, ProcessBuilder pb, String fileNameBase) { + Map result = new HashMap<>(); + String timeStamp = Instant.now().toString().replace(":", "-").replace(".", "-"); + + String stdoutFileName = String.format("./%s-stdout--%s.log", fileNameBase, timeStamp); + pb.redirectOutput(new File(stdoutFileName)); + log(msg + ": child process stdout redirected to " + stdoutFileName); + result.put("stdout", stdoutFileName); + + String stderrFileName = String.format("./%s-stderr--%s.log", fileNameBase, timeStamp); + pb.redirectError(new File(stderrFileName)); + log(msg + ": child process stderr redirected to " + stderrFileName); + result.put("stderr", stderrFileName); + + return result; + } + + private void printLogfileContent(Map logFileNames) { + logFileNames.entrySet().stream() + .forEach(entry -> + { + log("------------- " + entry.getKey()); + try { + Files.lines(Path.of(entry.getValue())) + .forEach(line -> log(line)); + } catch (IOException ie) { + log("Exception while reading file: " + ie); + } + log("-------------"); + }); + } + private boolean checkDockerSupport() throws IOException, InterruptedException { + log("checkDockerSupport(): entering"); ProcessBuilder pb = new ProcessBuilder(Container.ENGINE_COMMAND, "ps"); + Map logFileNames = redirectOutputToLogFile("checkDockerSupport(): ps", + pb, "container-ps"); Process p = pb.start(); p.waitFor(10, TimeUnit.SECONDS); + int exitValue = p.exitValue(); + + log(String.format("checkDockerSupport(): exitValue = %s, pid = %s", exitValue, p.pid())); + if (exitValue != 0) { + printLogfileContent(logFileNames); + } - return (p.exitValue() == 0); + return (exitValue == 0); } /** @@ -596,6 +649,40 @@ } } + /** + * Log diagnostic message. + * + * @param msg + */ + protected static void log(String msg) { + // Always log to a file. + logToFile(msg); + + // Also log to stderr; guarded by property to avoid excessive verbosity. + // By jtreg design stderr produced here will be visible + // in the output of a parent process. Note: stdout should not be used + // for logging as jtreg parses that output directly and only echoes it + // in the event of a failure. + if (Boolean.getBoolean("jtreg.log.vmprops")) { + System.err.println("VMProps: " + msg); + } + } + + /** + * Log diagnostic message to a file. + * + * @param msg + */ + protected static void logToFile(String msg) { + String fileName = "./vmprops.log"; + try { + Files.writeString(Paths.get(fileName), msg + "\n", Charset.forName("ISO-8859-1"), + StandardOpenOption.APPEND, StandardOpenOption.CREATE); + } catch (IOException e) { + throw new RuntimeException("Failed to log into '" + fileName + "'", e); + } + } + /** * This method is for the testing purpose only. * diff -Nru openjdk-11-11.0.22+7/test/langtools/TEST.groups openjdk-11-11.0.23+9/test/langtools/TEST.groups --- openjdk-11-11.0.22+7/test/langtools/TEST.groups 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/TEST.groups 2024-04-08 05:38:38.000000000 +0000 @@ -20,6 +20,14 @@ # questions. # +# All tests + +all = \ + :langtools_all + +langtools_all = \ + / + # Tiered testing definitions # (Nearly) all langtools tests are tier 1. diff -Nru openjdk-11-11.0.22+7/test/langtools/jdk/javadoc/doclet/testSerializedFormWithSee/TestSerializedFormWithSee.java openjdk-11-11.0.23+9/test/langtools/jdk/javadoc/doclet/testSerializedFormWithSee/TestSerializedFormWithSee.java --- openjdk-11-11.0.22+7/test/langtools/jdk/javadoc/doclet/testSerializedFormWithSee/TestSerializedFormWithSee.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/jdk/javadoc/doclet/testSerializedFormWithSee/TestSerializedFormWithSee.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8207214 + * @summary Test serialized forms, with at-see to other members + * @library /tools/lib ../lib + * @modules jdk.javadoc/jdk.javadoc.internal.tool + * @build JavadocTester toolbox.ToolBox + * @run main TestSerializedFormWithSee + */ + +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; + +import toolbox.ToolBox; + +/** + * Test the links generated in source files with combinations + * of modules, Serializable, and @see for public and private methods. + * + * In the various test cases, in addition to the explicit call + * to {@code checkExit}, the primary check is the implicit call + * to {@code checkLinks}, to verify that there are no broken + * links in the generated files. + */ +public class TestSerializedFormWithSee extends JavadocTester { + + public static void main(String... args) throws Exception { + TestSerializedFormWithSee tester = new TestSerializedFormWithSee(); + tester.runTests(m -> new Object[] { Paths.get(m.getName()) }); + } + + private final ToolBox tb; + + TestSerializedFormWithSee() { + tb = new ToolBox(); + } + + @Test + public void test_noModule_notSerializable(Path base) throws IOException { + Path srcDir = generateSource(base, false, false); + + Path outDir = base.resolve("out"); + javadoc("-d", outDir.toString(), + "-sourcepath", srcDir.toString(), + "p"); + checkExit(Exit.OK); + } + + @Test + public void test_noModule_serializable(Path base) throws IOException { + Path srcDir = generateSource(base, false, true); + + Path outDir = base.resolve("out"); + javadoc("-d", outDir.toString(), + "-sourcepath", srcDir.toString(), + "p"); + checkExit(Exit.OK); + } + + @Test + public void test_module_notSerializable(Path base) throws IOException { + Path srcDir = generateSource(base, true, false); + + Path outDir = base.resolve("out"); + javadoc("-d", outDir.toString(), + "-sourcepath", srcDir.toString(), + "m/p"); + checkExit(Exit.OK); + } + + @Test + public void test_module_serializable(Path base) throws IOException { + Path srcDir = generateSource(base, true, true); + + Path outDir = base.resolve("out"); + javadoc("-d", outDir.toString(), + "-sourcepath", srcDir.toString(), + "m/p"); + checkExit(Exit.OK); + } + + Path generateSource(Path base, boolean module, boolean serializable) throws IOException { + Path dir = base.resolve("src"); + if (module) { + tb.writeJavaFiles(dir, "module m { }"); + } + StringBuilder sb = new StringBuilder(); + sb.append("package p;\n"); + sb.append("public class C " + (serializable ? "implements java.io.Serializable " : "") + "{\n"); + for (String access : new String[] { "public", "private" }) { + sb.append(" /**\n"); + sb.append(" * This is a " + access + " " + (serializable ? "serializable " : "") + "field.\n"); + sb.append(" * More description.\n"); + sb.append(" * " + (serializable ? "@serial This is the serial description." : "") + "\n"); + sb.append(" * @see #publicMethod()\n"); + sb.append(" * @see #privateMethod()\n"); + sb.append(" */\n"); + sb.append(" " + access + " int " + access + "Field;\n"); + } + for (String access : new String[] { "public", "private" }) { + sb.append(" /**\n"); + sb.append(" * This is a " + access + " method.\n"); + sb.append(" * More description.\n"); + sb.append(" * @return zero.\n"); + sb.append(" */\n"); + sb.append(" " + access + " int " + access + "Method() { return 0; }\n"); + } + sb.append(" }\n"); + tb.writeJavaFiles(dir, sb.toString()); + return dir; + } +} diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/6257443/T6257443.java openjdk-11-11.0.23+9/test/langtools/tools/javac/6257443/T6257443.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/6257443/T6257443.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/6257443/T6257443.java 2024-04-08 05:38:38.000000000 +0000 @@ -29,7 +29,7 @@ * @compile package-info.java * @run main/othervm T6257443 -yes foo/package-info.class * - * @clean foo.package-info + * @clean foo.* * * @compile -printsource package-info.java * @run main/othervm T6257443 -no foo/package-info.class diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/api/T6395981.java openjdk-11-11.0.23+9/test/langtools/tools/javac/api/T6395981.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/api/T6395981.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/api/T6395981.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6395981 6458819 7025784 8028543 8028544 8193291 - * @summary JavaCompilerTool and Tool must specify version of JLS and JVMS - * @author Peter von der Ah\u00e9 - * @modules java.compiler - * jdk.compiler - * @run main/fail T6395981 - * @run main/fail T6395981 RELEASE_3 RELEASE_5 RELEASE_6 - * @run main/fail T6395981 RELEASE_0 RELEASE_1 RELEASE_2 RELEASE_3 RELEASE_4 RELEASE_5 RELEASE_6 - * @run main T6395981 RELEASE_3 RELEASE_4 RELEASE_5 RELEASE_6 RELEASE_7 RELEASE_8 RELEASE_9 RELEASE_10 RELEASE_11 - */ - -import java.util.EnumSet; -import java.util.Set; -import javax.lang.model.SourceVersion; -import javax.tools.Tool; -import javax.tools.ToolProvider; -import static javax.lang.model.SourceVersion.*; - -public class T6395981 { - public static void main(String... args) { - Tool compiler = ToolProvider.getSystemJavaCompiler(); - Set expected = EnumSet.noneOf(SourceVersion.class); - for (String arg : args) - expected.add(SourceVersion.valueOf(arg)); - Set found = compiler.getSourceVersions(); - Set notExpected = EnumSet.copyOf(found); - for (SourceVersion version : expected) { - if (!found.contains(version)) - throw new AssertionError("Expected source version not found: " + version); - else - notExpected.remove(version); - } - if (!notExpected.isEmpty()) - throw new AssertionError("Unexpected source versions: " + notExpected); - } -} diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/api/TestGetSourceVersions.java openjdk-11-11.0.23+9/test/langtools/tools/javac/api/TestGetSourceVersions.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/api/TestGetSourceVersions.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/api/TestGetSourceVersions.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6395981 6458819 7025784 8028543 8028544 8193291 + * @summary JavaCompilerTool and Tool must specify version of JLS and JVMS + * @author Peter von der Ah\u00e9 + * @modules java.compiler + * jdk.compiler + * @run main/fail TestGetSourceVersions + * @run main/fail TestGetSourceVersions RELEASE_3 RELEASE_5 RELEASE_6 + * @run main/fail TestGetSourceVersions RELEASE_0 RELEASE_1 RELEASE_2 RELEASE_3 RELEASE_4 + * RELEASE_5 RELEASE_6 + * @run main TestGetSourceVersions RELEASE_3 RELEASE_4 RELEASE_5 RELEASE_6 RELEASE_7 + * RELEASE_8 RELEASE_9 RELEASE_10 RELEASE_11 + */ + +import java.util.EnumSet; +import java.util.Set; +import javax.lang.model.SourceVersion; +import javax.tools.Tool; +import javax.tools.ToolProvider; +import static javax.lang.model.SourceVersion.*; + +public class TestGetSourceVersions { + public static void main(String... args) { + Tool compiler = ToolProvider.getSystemJavaCompiler(); + Set expected = EnumSet.noneOf(SourceVersion.class); + for (String arg : args) + expected.add(SourceVersion.valueOf(arg)); + Set found = compiler.getSourceVersions(); + Set notExpected = EnumSet.copyOf(found); + for (SourceVersion version : expected) { + if (!found.contains(version)) + throw new AssertionError("Expected source version not found: " + version); + else + notExpected.remove(version); + } + if (!notExpected.isEmpty()) + throw new AssertionError("Unexpected source versions: " + notExpected); + } +} diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java openjdk-11-11.0.23+9/test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -26,7 +26,7 @@ * @bug 8015927 * @summary Class reference duplicates in constant pool * @modules jdk.jdeps/com.sun.tools.classfile - * @clean ClassRefDupInConstantPoolTest$Duplicates.class + * @clean ClassRefDupInConstantPoolTest$Duplicates * @run main ClassRefDupInConstantPoolTest */ diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/lib/DPrinter.java openjdk-11-11.0.23+9/test/langtools/tools/javac/lib/DPrinter.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/lib/DPrinter.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/lib/DPrinter.java 2024-04-08 05:38:38.000000000 +0000 @@ -600,6 +600,7 @@ protected Object getField(Object o, Class clazz, String name) { try { Field f = clazz.getDeclaredField(name); + @SuppressWarnings("deprecation") boolean prev = f.isAccessible(); f.setAccessible(true); try { @@ -617,6 +618,7 @@ protected Object callMethod(Object o, Class clazz, String name) { try { Method m = clazz.getDeclaredMethod(name); + @SuppressWarnings("deprecation") boolean prev = m.isAccessible(); m.setAccessible(true); try { diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/processing/environment/round/TestContext.java openjdk-11-11.0.23+9/test/langtools/tools/javac/processing/environment/round/TestContext.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/processing/environment/round/TestContext.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/processing/environment/round/TestContext.java 2024-04-08 05:38:38.000000000 +0000 @@ -31,7 +31,7 @@ * jdk.compiler/com.sun.tools.javac.processing * jdk.compiler/com.sun.tools.javac.util * @build JavacTestingAbstractProcessor TestContext - * @compile/process -processor TestContext -XprintRounds TestContext + * @compile/process -processor TestContext -XprintRounds -proc:full TestContext */ import java.io.*; diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/processing/options/TestProcOption.java openjdk-11-11.0.23+9/test/langtools/tools/javac/processing/options/TestProcOption.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/processing/options/TestProcOption.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/processing/options/TestProcOption.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8308245 + * @summary Test trivial handling of -proc:full option + * @compile -proc:full TestProcOption.java + * @run main TestProcOption + */ + +/* + * The test verifies that compilation takes place when -proc:full is used. + */ +public class TestProcOption { + private TestProcOption(){}; + + public static void main(String... args) { + ; // do nothing + } +} diff -Nru openjdk-11-11.0.22+7/test/langtools/tools/javac/warnings/suppress/PackageInfo.java openjdk-11-11.0.23+9/test/langtools/tools/javac/warnings/suppress/PackageInfo.java --- openjdk-11-11.0.22+7/test/langtools/tools/javac/warnings/suppress/PackageInfo.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/langtools/tools/javac/warnings/suppress/PackageInfo.java 2024-04-08 05:38:38.000000000 +0000 @@ -25,6 +25,6 @@ * @test * @bug 8021112 * @summary Verify that deprecated warnings are printed correctly for package-info.java - * @clean pack.package-info pack.DeprecatedClass + * @clean pack.* * @compile/ref=PackageInfo.out -source 8 -XDrawDiagnostics -Xlint:deprecation,-options pack/package-info.java pack/DeprecatedClass.java */ diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/SecurityTools.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/SecurityTools.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/SecurityTools.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/SecurityTools.java 2024-04-08 05:38:38.000000000 +0000 @@ -224,6 +224,18 @@ } /** + * Runs kinit. + * + * @param args arguments to kinit in a single string. The string is + * converted to be List with makeList. + * @return an {@link OutputAnalyzer} object + * @throws Exception if there is an error + */ + public static OutputAnalyzer kinit(String args) throws Exception { + return execute(getProcessBuilder("kinit", makeList(args))); + } + + /** * Runs jar. * * @param args arguments to jar in a single string. The string is diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/cds/CDSTestUtils.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/cds/CDSTestUtils.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/cds/CDSTestUtils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/cds/CDSTestUtils.java 2024-04-08 05:38:38.000000000 +0000 @@ -220,11 +220,19 @@ } } - // Specify this property to copy sdandard output of the child test process to - // the parent/main stdout of the test. - // By default such output is logged into a file, and is copied into the main stdout. - public static final boolean CopyChildStdoutToMainStdout = - Boolean.valueOf(System.getProperty("test.cds.copy.child.stdout", "true")); + // A number to be included in the filename of the stdout and the stderr output file. + static int logCounter = 0; + + private static int getNextLogCounter() { + return logCounter++; + } + + // By default, stdout of child processes are logged in files such as + // -0000-exec.stdout. If you want to also include the stdout + // inside jtr files, you can override this in the jtreg command line like + // "jtreg -Dtest.cds.copy.child.stdout=true ...." + public static final boolean copyChildStdoutToMainStdout = + Boolean.getBoolean("test.cds.copy.child.stdout"); // This property is passed to child test processes public static final String TestTimeoutFactor = System.getProperty("test.timeout.factor", "1.0"); @@ -564,13 +572,17 @@ public static OutputAnalyzer executeAndLog(Process process, String logName) throws Exception { long started = System.currentTimeMillis(); OutputAnalyzer output = new OutputAnalyzer(process); + String outputFileNamePrefix = + testName + "-" + String.format("%04d", getNextLogCounter()) + "-" + logName; - writeFile(getOutputFile(logName + ".stdout"), output.getStdout()); - writeFile(getOutputFile(logName + ".stderr"), output.getStderr()); + writeFile(getOutputFile(outputFileNamePrefix + ".stdout"), output.getStdout()); + writeFile(getOutputFile(outputFileNamePrefix + ".stderr"), output.getStderr()); System.out.println("[ELAPSED: " + (System.currentTimeMillis() - started) + " ms]"); + System.out.println("[logging stdout to " + outputFileNamePrefix + ".stdout]"); + System.out.println("[logging stderr to " + outputFileNamePrefix + ".stderr]"); System.out.println("[STDERR]\n" + output.getStderr()); - if (CopyChildStdoutToMainStdout) + if (copyChildStdoutToMainStdout) System.out.println("[STDOUT]\n" + output.getStdout()); return output; diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -502,6 +502,8 @@ return "-minimal"; } else if (Platform.isGraal()) { return "-graal"; + } else if (Platform.isZero()) { + return "-zero"; } throw new RuntimeException("Unknown VM mode."); } diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,11 @@ import java.util.Arrays; import java.util.List; -import javax.tools.ForwardingJavaFileManager; import javax.tools.FileObject; +import javax.tools.ForwardingJavaFileManager; import javax.tools.JavaCompiler; import javax.tools.JavaCompiler.CompilationTask; +import javax.tools.JavaFileManager; import javax.tools.JavaFileObject; import javax.tools.JavaFileObject.Kind; import javax.tools.SimpleJavaFileObject; @@ -106,7 +107,7 @@ } } - private static class FileManagerWrapper extends ForwardingJavaFileManager { + private static class FileManagerWrapper extends ForwardingJavaFileManager { private static final Location PATCH_LOCATION = new Location() { @Override public String getName() { @@ -167,25 +168,12 @@ * @param className The name of the class * @param sourceCode The source code for the class with name {@code className} * @param options additional command line options - * @throws RuntimeException if the compilation did not succeed + * @throws RuntimeException if the compilation did not succeed or if closing + * the {@code JavaFileManager} used for the compilation did not succeed * @return The resulting byte code from the compilation */ public static byte[] compile(String className, CharSequence sourceCode, String... options) { MemoryJavaFileObject file = new MemoryJavaFileObject(className, sourceCode); - CompilationTask task = getCompilationTask(file, options); - - if(!task.call()) { - throw new RuntimeException("Could not compile " + className + " with source code " + sourceCode); - } - - return file.getByteCode(); - } - - private static JavaCompiler getCompiler() { - return ToolProvider.getSystemJavaCompiler(); - } - - private static CompilationTask getCompilationTask(MemoryJavaFileObject file, String... options) { List opts = new ArrayList<>(); String moduleOverride = null; for (String opt : options) { @@ -195,6 +183,19 @@ opts.add(opt); } } - return getCompiler().getTask(null, new FileManagerWrapper(file, moduleOverride), null, opts, null, Arrays.asList(file)); + try (JavaFileManager fileManager = new FileManagerWrapper(file, moduleOverride)) { + CompilationTask task = getCompiler().getTask(null, fileManager, null, opts, null, Arrays.asList(file)); + if (!task.call()) { + throw new RuntimeException("Could not compile " + className + " with source code " + sourceCode); + } + + return file.getByteCode(); + } catch (IOException ioe) { + throw new RuntimeException(ioe); + } + } + + private static JavaCompiler getCompiler() { + return ToolProvider.getSystemJavaCompiler(); } } diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/jvmti/jvmti_common.h openjdk-11-11.0.23+9/test/lib/jdk/test/lib/jvmti/jvmti_common.h --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/jvmti/jvmti_common.h 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/jvmti/jvmti_common.h 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,910 @@ +/* + * Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#ifndef JVMTI_COMMON_H +#define JVMTI_COMMON_H + +#include +#include +#include +#include +#include + +#ifdef _WIN32 +#include +#else +#include +#endif + +#include "jvmti.h" + +/** + * Additional Java basic types + */ + +#ifdef _WIN32 + typedef unsigned __int64 julong; +#else + typedef unsigned long long julong; +#endif + +#define LOG(...) \ + { \ + printf(__VA_ARGS__); \ + fflush(stdout); \ + } + +#define COMPLAIN LOG + + +const char* TranslateState(jint flags); +const char* TranslateError(jvmtiError err); + +static jvmtiExtensionFunction GetVirtualThread_func = NULL; +static jvmtiExtensionFunction GetCarrierThread_func = NULL; + +/** + * Convert the digits of the given value argument to a null-terminated + * character string and store the result (up to 32 bytes) in string. + * If value is negative, the first character of the stored string is + * the minus sign (-). The function returns a pointer to the begining + * of the result string. + */ +char* jlong_to_string(jlong value, char *string) { + char buffer[32]; + char *pbuf, *pstr; + + pstr = string; + if (value == 0) { + *pstr++ = '0'; + } else { + if (value < 0) { + *pstr++ = '-'; + value = -value; + } + pbuf = buffer; + while (value != 0) { + *pbuf++ = '0' + (char)(value % 10); + value = value / 10; + } + while (pbuf != buffer) { + *pstr++ = *--pbuf; + } + } + *pstr = '\0'; + + return string; +} + +/** + * Convert the digits of the given value argument to a null-terminated + * character string and store the result (up to 32 bytes) in string. + * The function returns a pointer to the begining of the result string. + */ +char* julong_to_string(julong value, char *string) { + char buffer[32]; + char *pbuf, *pstr; + + pstr = string; + if (value == 0) { + *pstr++ = '0'; + } else { + pbuf = buffer; + while (value != 0) { + *pbuf++ = '0' + (char)(value % 10); + value = value / 10; + } + while (pbuf != buffer) { + *pstr++ = *--pbuf; + } + } + *pstr = '\0'; + + return string; +} + +static void +fatal(JNIEnv* jni, const char* msg) { + jni->FatalError(msg); +} + + +static void +check_jvmti_status(JNIEnv* jni, jvmtiError err, const char* msg) { + if (err != JVMTI_ERROR_NONE) { + LOG("check_jvmti_status: JVMTI function returned error: %s (%d)\n", TranslateError(err), err); + jni->FatalError(msg); + } +} + +/* JVMTI helper wrappers. Check errors and fail or return null if jvmti operation failed. */ + +// Monitors often created in Agent_Initialize(..) where JNIEnv* jni doesn't exist. +jrawMonitorID +create_raw_monitor(jvmtiEnv *jvmti, const char* name) { + jrawMonitorID lock; + jvmtiError err = jvmti->CreateRawMonitor(name, &lock); + if (err != JVMTI_ERROR_NONE) { + return NULL; + } + return lock; +} + +void +destroy_raw_monitor(jvmtiEnv *jvmti, JNIEnv *jni, jrawMonitorID lock) { + check_jvmti_status(jni, jvmti->DestroyRawMonitor(lock), "DestroyRawMonitor failed."); +} + +class RawMonitorLocker { + private: + jvmtiEnv* _jvmti; + JNIEnv* _jni; + jrawMonitorID _monitor; + + public: + RawMonitorLocker(jvmtiEnv *jvmti,JNIEnv* jni, jrawMonitorID monitor):_jvmti(jvmti), _jni(jni), _monitor(monitor) { + check_jvmti_status(_jni, _jvmti->RawMonitorEnter(_monitor), "Fatal Error in RawMonitorEnter."); + } + + ~RawMonitorLocker() { + check_jvmti_status(_jni, _jvmti->RawMonitorExit(_monitor), "Fatal Error in RawMonitorEnter."); + } + + void wait(jlong millis) { + check_jvmti_status(_jni, _jvmti->RawMonitorWait(_monitor, millis), "Fatal Error in RawMonitorWait."); + } + + void wait() { + wait(0); + } + + void notify() { + check_jvmti_status(_jni, _jvmti->RawMonitorNotify(_monitor), "Fatal Error in RawMonitorNotify."); + } + + void notify_all() { + check_jvmti_status(_jni, _jvmti->RawMonitorNotifyAll(_monitor), "Fatal Error in RawMonitorNotifyAll."); + } + +}; + +static void +deallocate(jvmtiEnv *jvmti, JNIEnv* jni, void* ptr) { + jvmtiError err = jvmti->Deallocate((unsigned char*)ptr); + check_jvmti_status(jni, err, "deallocate: error in JVMTI Deallocate call"); +} + +static char* +get_method_class_name(jvmtiEnv *jvmti, JNIEnv* jni, jmethodID method) { + jclass klass = NULL; + char* cname = NULL; + char* result = NULL; + jvmtiError err; + + err = jvmti->GetMethodDeclaringClass(method, &klass); + check_jvmti_status(jni, err, "get_method_class_name: error in JVMTI GetMethodDeclaringClass"); + + err = jvmti->GetClassSignature(klass, &cname, NULL); + check_jvmti_status(jni, err, "get_method_class_name: error in JVMTI GetClassSignature"); + + size_t len = strlen(cname) - 2; // get rid of leading 'L' and trailing ';' + + err = jvmti->Allocate((jlong)(len + 1), (unsigned char**)&result); + check_jvmti_status(jni, err, "get_method_class_name: error in JVMTI Allocate"); + + strncpy(result, cname + 1, len); // skip leading 'L' + result[len] = '\0'; + deallocate(jvmti, jni, (void*)cname); + return result; +} + + +static void +print_method(jvmtiEnv *jvmti, JNIEnv* jni, jmethodID method, jint depth) { + char* cname = NULL; + char* mname = NULL; + char* msign = NULL; + jvmtiError err; + + cname = get_method_class_name(jvmti, jni, method); + + err = jvmti->GetMethodName(method, &mname, &msign, NULL); + check_jvmti_status(jni, err, "print_method: error in JVMTI GetMethodName"); + + LOG("%2d: %s: %s%s\n", depth, cname, mname, msign); + fflush(0); + deallocate(jvmti, jni, (void*)cname); + deallocate(jvmti, jni, (void*)mname); + deallocate(jvmti, jni, (void*)msign); +} + +void +print_thread_info(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread_obj) { + jvmtiThreadInfo thread_info; + jint thread_state; + check_jvmti_status(jni, jvmti->GetThreadInfo(thread_obj, &thread_info), "Error in GetThreadInfo"); + check_jvmti_status(jni, jvmti->GetThreadState(thread_obj, &thread_state), "Error in GetThreadInfo"); + const char* state = TranslateState(thread_state); + LOG("Thread: %p, name: %s, state(%x): %s, attr: %s\n", thread_obj, thread_info.name, thread_state, TranslateState(thread_state), + (thread_info.is_daemon ? "daemon": "")); +} + +static void +print_stack_trace_frames(jvmtiEnv *jvmti, JNIEnv *jni, jint count, jvmtiFrameInfo *frames) { + LOG("JVMTI Stack Trace: frame count: %d\n", count); + for (int depth = 0; depth < count; depth++) { + print_method(jvmti, jni, frames[depth].method, depth); + } + LOG("\n"); +} + +static jint +get_frame_count(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { + jint frame_count; + jvmtiError err = jvmti->GetFrameCount(thread, &frame_count); + check_jvmti_status(jni, err, "get_frame_count: error in JVMTI GetFrameCount call"); + return frame_count; +} + +static jvmtiThreadInfo +get_thread_info(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { + jvmtiThreadInfo thr_info; + jvmtiError err = jvmti->GetThreadInfo(thread, &thr_info); + check_jvmti_status(jni, err, "get_thread_info: error in JVMTI GetThreadInfo call"); + return thr_info; +} + +static jint +get_thread_state(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { + jint thread_state; + jvmtiError err = jvmti->GetThreadState(thread, &thread_state); + check_jvmti_status(jni, err, "get_thread_state: error in JVMTI GetThreadState call"); + return thread_state; +} + +static char* +get_thread_name(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { + jvmtiThreadInfo thr_info; + jvmtiError err; + + memset(&thr_info, 0, sizeof(thr_info)); + err = jvmti->GetThreadInfo(thread, &thr_info); + if (err == JVMTI_ERROR_WRONG_PHASE || err == JVMTI_ERROR_THREAD_NOT_ALIVE) { + return NULL; // VM or target thread completed its work + } + check_jvmti_status(jni, err, "get_thread_name: error in JVMTI GetThreadInfo call"); + + static const char* UNNAMED_STR = ""; + static size_t UNNAMED_LEN = strlen(UNNAMED_STR); + char* tname = thr_info.name; + if (tname == NULL) { + err = jvmti->Allocate((jlong)(UNNAMED_LEN + 1), (unsigned char**)&tname); + check_jvmti_status(jni, err, "get_method_class_name: error in JVMTI Allocate"); + strncpy(tname, UNNAMED_STR, UNNAMED_LEN); + tname[UNNAMED_LEN] = '\0'; + } + return tname; +} + +static char* +get_method_name(jvmtiEnv *jvmti, JNIEnv* jni, jmethodID method) { + char* mname = NULL; + jvmtiError err; + + err = jvmti->GetMethodName(method, &mname, NULL, NULL); + check_jvmti_status(jni, err, "get_method_name: error in JVMTI GetMethodName call"); + + return mname; +} + +static jclass +find_class(jvmtiEnv *jvmti, JNIEnv *jni, jobject loader, const char* cname) { + jclass *classes = NULL; + jint count = 0; + jvmtiError err; + + err = jvmti->GetClassLoaderClasses(loader, &count, &classes); + check_jvmti_status(jni, err, "find_class: error in JVMTI GetClassLoaderClasses"); + + // Find the jmethodID of the specified method + while (--count >= 0) { + char* name = NULL; + jclass klass = classes[count]; + + err = jvmti->GetClassSignature(klass, &name, NULL); + check_jvmti_status(jni, err, "find_class: error in JVMTI GetClassSignature call"); + + bool found = (strcmp(name, cname) == 0); + deallocate(jvmti, jni, (void*)name); + if (found) { + return klass; + } + } + return NULL; +} + +static jmethodID +find_method(jvmtiEnv *jvmti, JNIEnv *jni, jclass klass, const char* mname) { + jmethodID *methods = NULL; + jmethodID method = NULL; + jint count = 0; + jvmtiError err; + + err = jvmti->GetClassMethods(klass, &count, &methods); + check_jvmti_status(jni, err, "find_method: error in JVMTI GetClassMethods"); + + // Find the jmethodID of the specified method + while (--count >= 0) { + char* name = NULL; + + jmethodID meth = methods[count]; + + err = jvmti->GetMethodName(meth, &name, NULL, NULL); + check_jvmti_status(jni, err, "find_method: error in JVMTI GetMethodName call"); + + bool found = (strcmp(name, mname) == 0); + deallocate(jvmti, jni, (void*)name); + if (found) { + method = meth; + break; + } + } + deallocate(jvmti, jni, (void*)methods); + return method; +} + +#define MAX_FRAME_COUNT_PRINT_STACK_TRACE 200 + +static void +print_current_stack_trace(jvmtiEnv *jvmti, JNIEnv* jni) { + jvmtiFrameInfo frames[MAX_FRAME_COUNT_PRINT_STACK_TRACE]; + jint count = 0; + + jvmtiError err = jvmti->GetStackTrace(NULL, 0, MAX_FRAME_COUNT_PRINT_STACK_TRACE, frames, &count); + check_jvmti_status(jni, err, "print_stack_trace: error in JVMTI GetStackTrace"); + + LOG("JVMTI Stack Trace for current thread: frame count: %d\n", count); + for (int depth = 0; depth < count; depth++) { + print_method(jvmti, jni, frames[depth].method, depth); + } + LOG("\n"); +} + +static void +print_stack_trace(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { + jvmtiFrameInfo frames[MAX_FRAME_COUNT_PRINT_STACK_TRACE]; + char* tname = get_thread_name(jvmti, jni, thread); + jint count = 0; + + jvmtiError err = jvmti->GetStackTrace(thread, 0, MAX_FRAME_COUNT_PRINT_STACK_TRACE, frames, &count); + check_jvmti_status(jni, err, "print_stack_trace: error in JVMTI GetStackTrace"); + + LOG("JVMTI Stack Trace for thread %s: frame count: %d\n", tname, count); + for (int depth = 0; depth < count; depth++) { + print_method(jvmti, jni, frames[depth].method, depth); + } + deallocate(jvmti, jni, (void*)tname); + LOG("\n"); +} + + +static void suspend_thread(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { + check_jvmti_status(jni, jvmti->SuspendThread(thread), "error in JVMTI SuspendThread"); +} + +static void resume_thread(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { + check_jvmti_status(jni, jvmti->ResumeThread(thread), "error in JVMTI ResumeThread"); +} + +static jthread get_current_thread(jvmtiEnv *jvmti, JNIEnv* jni) { + jthread thread; + check_jvmti_status(jni, jvmti->GetCurrentThread(&thread), "error in JVMTI GetCurrentThread"); + return thread; +} + + + +/* Commonly used helper functions */ +const char* +TranslateState(jint flags) { + static char str[15 * 20]; + + if (flags == 0) { + return ""; + } + str[0] = '\0'; + + if (flags & JVMTI_THREAD_STATE_ALIVE) { + strcat(str, " ALIVE"); + } + if (flags & JVMTI_THREAD_STATE_TERMINATED) { + strcat(str, " TERMINATED"); + } + if (flags & JVMTI_THREAD_STATE_RUNNABLE) { + strcat(str, " RUNNABLE"); + } + if (flags & JVMTI_THREAD_STATE_WAITING) { + strcat(str, " WAITING"); + } + if (flags & JVMTI_THREAD_STATE_WAITING_INDEFINITELY) { + strcat(str, " WAITING_INDEFINITELY"); + } + if (flags & JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT) { + strcat(str, " WAITING_WITH_TIMEOUT"); + } + if (flags & JVMTI_THREAD_STATE_SLEEPING) { + strcat(str, " SLEEPING"); + } + if (flags & JVMTI_THREAD_STATE_IN_OBJECT_WAIT) { + strcat(str, " IN_OBJECT_WAIT"); + } + if (flags & JVMTI_THREAD_STATE_PARKED) { + strcat(str, " PARKED"); + } + if (flags & JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER) { + strcat(str, " BLOCKED_ON_MONITOR_ENTER"); + } + if (flags & JVMTI_THREAD_STATE_SUSPENDED) { + strcat(str, " SUSPENDED"); + } + if (flags & JVMTI_THREAD_STATE_INTERRUPTED) { + strcat(str, " INTERRUPTED"); + } + if (flags & JVMTI_THREAD_STATE_IN_NATIVE) { + strcat(str, " IN_NATIVE"); + } + return str; +} + +const char* +TranslateEvent(jvmtiEvent event_type) { + switch (event_type) { + case JVMTI_EVENT_VM_INIT: + return ("JVMTI_EVENT_VM_INIT"); + case JVMTI_EVENT_VM_DEATH: + return ("JVMTI_EVENT_VM_DEATH"); + case JVMTI_EVENT_THREAD_START: + return ("JVMTI_EVENT_THREAD_START"); + case JVMTI_EVENT_THREAD_END: + return ("JVMTI_EVENT_THREAD_END"); + case JVMTI_EVENT_CLASS_FILE_LOAD_HOOK: + return ("JVMTI_EVENT_CLASS_FILE_LOAD_HOOK"); + case JVMTI_EVENT_CLASS_LOAD: + return ("JVMTI_EVENT_CLASS_LOAD"); + case JVMTI_EVENT_CLASS_PREPARE: + return ("JVMTI_EVENT_CLASS_PREPARE"); + case JVMTI_EVENT_VM_START: + return ("JVMTI_EVENT_VM_START"); + case JVMTI_EVENT_EXCEPTION: + return ("JVMTI_EVENT_EXCEPTION"); + case JVMTI_EVENT_EXCEPTION_CATCH: + return ("JVMTI_EVENT_EXCEPTION_CATCH"); + case JVMTI_EVENT_SINGLE_STEP: + return ("JVMTI_EVENT_SINGLE_STEP"); + case JVMTI_EVENT_FRAME_POP: + return ("JVMTI_EVENT_FRAME_POP"); + case JVMTI_EVENT_BREAKPOINT: + return ("JVMTI_EVENT_BREAKPOINT"); + case JVMTI_EVENT_FIELD_ACCESS: + return ("JVMTI_EVENT_FIELD_ACCESS"); + case JVMTI_EVENT_FIELD_MODIFICATION: + return ("JVMTI_EVENT_FIELD_MODIFICATION"); + case JVMTI_EVENT_METHOD_ENTRY: + return ("JVMTI_EVENT_METHOD_ENTRY"); + case JVMTI_EVENT_METHOD_EXIT: + return ("JVMTI_EVENT_METHOD_EXIT"); + case JVMTI_EVENT_NATIVE_METHOD_BIND: + return ("JVMTI_EVENT_NATIVE_METHOD_BIND"); + case JVMTI_EVENT_COMPILED_METHOD_LOAD: + return ("JVMTI_EVENT_COMPILED_METHOD_LOAD"); + case JVMTI_EVENT_COMPILED_METHOD_UNLOAD: + return ("JVMTI_EVENT_COMPILED_METHOD_UNLOAD"); + case JVMTI_EVENT_DYNAMIC_CODE_GENERATED: + return ("JVMTI_EVENT_DYNAMIC_CODE_GENERATED"); + case JVMTI_EVENT_DATA_DUMP_REQUEST: + return ("JVMTI_EVENT_DATA_DUMP_REQUEST"); + case JVMTI_EVENT_MONITOR_WAIT: + return ("JVMTI_EVENT_MONITOR_WAIT"); + case JVMTI_EVENT_MONITOR_WAITED: + return ("JVMTI_EVENT_MONITOR_WAITED"); + case JVMTI_EVENT_MONITOR_CONTENDED_ENTER: + return ("JVMTI_EVENT_MONITOR_CONTENDED_ENTER"); + case JVMTI_EVENT_MONITOR_CONTENDED_ENTERED: + return ("JVMTI_EVENT_MONITOR_CONTENDED_ENTERED"); + case JVMTI_EVENT_GARBAGE_COLLECTION_START: + return ("JVMTI_EVENT_GARBAGE_COLLECTION_START"); + case JVMTI_EVENT_GARBAGE_COLLECTION_FINISH: + return ("JVMTI_EVENT_GARBAGE_COLLECTION_FINISH"); + case JVMTI_EVENT_OBJECT_FREE: + return ("JVMTI_EVENT_OBJECT_FREE"); + case JVMTI_EVENT_VM_OBJECT_ALLOC: + return ("JVMTI_EVENT_VM_OBJECT_ALLOC"); + default: + return (""); + } +} + +const char* +TranslateError(jvmtiError err) { + switch (err) { + case JVMTI_ERROR_NONE: + return ("JVMTI_ERROR_NONE"); + case JVMTI_ERROR_INVALID_THREAD: + return ("JVMTI_ERROR_INVALID_THREAD"); + case JVMTI_ERROR_INVALID_THREAD_GROUP: + return ("JVMTI_ERROR_INVALID_THREAD_GROUP"); + case JVMTI_ERROR_INVALID_PRIORITY: + return ("JVMTI_ERROR_INVALID_PRIORITY"); + case JVMTI_ERROR_THREAD_NOT_SUSPENDED: + return ("JVMTI_ERROR_THREAD_NOT_SUSPENDED"); + case JVMTI_ERROR_THREAD_SUSPENDED: + return ("JVMTI_ERROR_THREAD_SUSPENDED"); + case JVMTI_ERROR_THREAD_NOT_ALIVE: + return ("JVMTI_ERROR_THREAD_NOT_ALIVE"); + case JVMTI_ERROR_INVALID_OBJECT: + return ("JVMTI_ERROR_INVALID_OBJECT"); + case JVMTI_ERROR_INVALID_CLASS: + return ("JVMTI_ERROR_INVALID_CLASS"); + case JVMTI_ERROR_CLASS_NOT_PREPARED: + return ("JVMTI_ERROR_CLASS_NOT_PREPARED"); + case JVMTI_ERROR_INVALID_METHODID: + return ("JVMTI_ERROR_INVALID_METHODID"); + case JVMTI_ERROR_INVALID_LOCATION: + return ("JVMTI_ERROR_INVALID_LOCATION"); + case JVMTI_ERROR_INVALID_FIELDID: + return ("JVMTI_ERROR_INVALID_FIELDID"); + case JVMTI_ERROR_NO_MORE_FRAMES: + return ("JVMTI_ERROR_NO_MORE_FRAMES"); + case JVMTI_ERROR_OPAQUE_FRAME: + return ("JVMTI_ERROR_OPAQUE_FRAME"); + case JVMTI_ERROR_TYPE_MISMATCH: + return ("JVMTI_ERROR_TYPE_MISMATCH"); + case JVMTI_ERROR_INVALID_SLOT: + return ("JVMTI_ERROR_INVALID_SLOT"); + case JVMTI_ERROR_DUPLICATE: + return ("JVMTI_ERROR_DUPLICATE"); + case JVMTI_ERROR_NOT_FOUND: + return ("JVMTI_ERROR_NOT_FOUND"); + case JVMTI_ERROR_INVALID_MONITOR: + return ("JVMTI_ERROR_INVALID_MONITOR"); + case JVMTI_ERROR_NOT_MONITOR_OWNER: + return ("JVMTI_ERROR_NOT_MONITOR_OWNER"); + case JVMTI_ERROR_INTERRUPT: + return ("JVMTI_ERROR_INTERRUPT"); + case JVMTI_ERROR_INVALID_CLASS_FORMAT: + return ("JVMTI_ERROR_INVALID_CLASS_FORMAT"); + case JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION: + return ("JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION"); + case JVMTI_ERROR_FAILS_VERIFICATION: + return ("JVMTI_ERROR_FAILS_VERIFICATION"); + case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED: + return ("JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED"); + case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED: + return ("JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED"); + case JVMTI_ERROR_INVALID_TYPESTATE: + return ("JVMTI_ERROR_INVALID_TYPESTATE"); + case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED: + return ("JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED"); + case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED: + return ("JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED"); + case JVMTI_ERROR_UNSUPPORTED_VERSION: + return ("JVMTI_ERROR_UNSUPPORTED_VERSION"); + case JVMTI_ERROR_NAMES_DONT_MATCH: + return ("JVMTI_ERROR_NAMES_DONT_MATCH"); + case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED: + return ("JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED"); + case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED: + return ("JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED"); + case JVMTI_ERROR_UNMODIFIABLE_CLASS: + return ("JVMTI_ERROR_UNMODIFIABLE_CLASS"); + case JVMTI_ERROR_NOT_AVAILABLE: + return ("JVMTI_ERROR_NOT_AVAILABLE"); + case JVMTI_ERROR_MUST_POSSESS_CAPABILITY: + return ("JVMTI_ERROR_MUST_POSSESS_CAPABILITY"); + case JVMTI_ERROR_NULL_POINTER: + return ("JVMTI_ERROR_NULL_POINTER"); + case JVMTI_ERROR_ABSENT_INFORMATION: + return ("JVMTI_ERROR_ABSENT_INFORMATION"); + case JVMTI_ERROR_INVALID_EVENT_TYPE: + return ("JVMTI_ERROR_INVALID_EVENT_TYPE"); + case JVMTI_ERROR_ILLEGAL_ARGUMENT: + return ("JVMTI_ERROR_ILLEGAL_ARGUMENT"); + case JVMTI_ERROR_NATIVE_METHOD: + return ("JVMTI_ERROR_NATIVE_METHOD"); + case JVMTI_ERROR_OUT_OF_MEMORY: + return ("JVMTI_ERROR_OUT_OF_MEMORY"); + case JVMTI_ERROR_ACCESS_DENIED: + return ("JVMTI_ERROR_ACCESS_DENIED"); + case JVMTI_ERROR_WRONG_PHASE: + return ("JVMTI_ERROR_WRONG_PHASE"); + case JVMTI_ERROR_INTERNAL: + return ("JVMTI_ERROR_INTERNAL"); + case JVMTI_ERROR_UNATTACHED_THREAD: + return ("JVMTI_ERROR_UNATTACHED_THREAD"); + case JVMTI_ERROR_INVALID_ENVIRONMENT: + return ("JVMTI_ERROR_INVALID_ENVIRONMENT"); + default: + return (""); + } +} + +const char* +TranslatePhase(jvmtiPhase phase) { + switch (phase) { + case JVMTI_PHASE_ONLOAD: + return ("JVMTI_PHASE_ONLOAD"); + case JVMTI_PHASE_PRIMORDIAL: + return ("JVMTI_PHASE_PRIMORDIAL"); + case JVMTI_PHASE_START: + return ("JVMTI_PHASE_START"); + case JVMTI_PHASE_LIVE: + return ("JVMTI_PHASE_LIVE"); + case JVMTI_PHASE_DEAD: + return ("JVMTI_PHASE_DEAD"); + default: + return (""); + } +} + +const char* +TranslateRootKind(jvmtiHeapRootKind root) { + switch (root) { + case JVMTI_HEAP_ROOT_JNI_GLOBAL: + return ("JVMTI_HEAP_ROOT_JNI_GLOBAL"); + case JVMTI_HEAP_ROOT_JNI_LOCAL: + return ("JVMTI_HEAP_ROOT_JNI_LOCAL"); + case JVMTI_HEAP_ROOT_SYSTEM_CLASS: + return ("JVMTI_HEAP_ROOT_SYSTEM_CLASS"); + case JVMTI_HEAP_ROOT_MONITOR: + return ("JVMTI_HEAP_ROOT_MONITOR"); + case JVMTI_HEAP_ROOT_STACK_LOCAL: + return ("JVMTI_HEAP_ROOT_STACK_LOCAL"); + case JVMTI_HEAP_ROOT_THREAD: + return ("JVMTI_HEAP_ROOT_THREAD"); + case JVMTI_HEAP_ROOT_OTHER: + return ("JVMTI_HEAP_ROOT_OTHER"); + default: + return (""); + } +} + +const char* +TranslateObjectRefKind(jvmtiObjectReferenceKind ref) { + switch (ref) { + case JVMTI_REFERENCE_CLASS: + return ("JVMTI_REFERENCE_CLASS"); + case JVMTI_REFERENCE_FIELD: + return ("JVMTI_REFERENCE_FIELD"); + case JVMTI_REFERENCE_ARRAY_ELEMENT: + return ("JVMTI_REFERENCE_ARRAY_ELEMENT"); + case JVMTI_REFERENCE_CLASS_LOADER: + return ("JVMTI_REFERENCE_CLASS_LOADER"); + case JVMTI_REFERENCE_SIGNERS: + return ("JVMTI_REFERENCE_SIGNERS"); + case JVMTI_REFERENCE_PROTECTION_DOMAIN: + return ("JVMTI_REFERENCE_PROTECTION_DOMAIN"); + case JVMTI_REFERENCE_INTERFACE: + return ("JVMTI_REFERENCE_INTERFACE"); + case JVMTI_REFERENCE_STATIC_FIELD: + return ("JVMTI_REFERENCE_STATIC_FIELD"); + case JVMTI_REFERENCE_CONSTANT_POOL: + return ("JVMTI_REFERENCE_CONSTANT_POOL"); + default: + return (""); + } +} + +int +isThreadExpected(jvmtiEnv *jvmti, jthread thread) { + static const char *vm_jfr_buffer_thread_name = "VM JFR Buffer Thread"; + static const char *jfr_request_timer_thread_name = "JFR request timer"; + static const char *graal_management_bean_registration_thread_name = + "HotSpotGraalManagement Bean Registration"; + static const char *graal_compiler_thread_name_prefix = "JVMCI CompilerThread"; + static const size_t graal_prefix_length = strlen(graal_compiler_thread_name_prefix); + + static const char *unparker_thread_name_prefix = "VirtualThread-unparker"; + static const size_t unparker_prefix_length = strlen(unparker_thread_name_prefix); + + + jvmtiThreadInfo threadinfo; + jvmtiError err = jvmti->GetThreadInfo(thread, &threadinfo); + if (err != JVMTI_ERROR_NONE) { + return 0; + } + if (strcmp(threadinfo.name, vm_jfr_buffer_thread_name) == 0) { + return 0; + } + if (strcmp(threadinfo.name, jfr_request_timer_thread_name) == 0) { + return 0; + } + if (strcmp(threadinfo.name, graal_management_bean_registration_thread_name) == 0) + return 0; + + if ((strlen(threadinfo.name) > graal_prefix_length) && + strncmp(threadinfo.name, graal_compiler_thread_name_prefix, graal_prefix_length) == 0) { + return 0; + } + if (strncmp(threadinfo.name, unparker_thread_name_prefix, unparker_prefix_length) == 0) { + return 0; + } + return 1; +} + +jthread find_thread_by_name(jvmtiEnv* jvmti, JNIEnv* jni, const char name[]) { + jthread* threads = NULL; + jint count = 0; + jthread found_thread = NULL; + + if (name == NULL) { + return NULL; + } + + check_jvmti_status(jni, jvmti->GetAllThreads(&count, &threads), ""); + + for (int i = 0; i < count; i++) { + jvmtiThreadInfo info = get_thread_info(jvmti, jni, threads[i]); + if (info.name != NULL && strcmp(name, info.name) == 0) { + found_thread = threads[i]; + break; + } + } + + check_jvmti_status(jni, jvmti->Deallocate((unsigned char*)threads), ""); + + found_thread = (jthread) jni->NewGlobalRef(found_thread); + return found_thread; +} + +/* + * JVMTI Extension Mechanism + */ +static const jvmtiEvent + EXT_EVENT_VIRTUAL_THREAD_MOUNT = (jvmtiEvent)((int)JVMTI_MIN_EVENT_TYPE_VAL - 2), + EXT_EVENT_VIRTUAL_THREAD_UNMOUNT = (jvmtiEvent)((int)JVMTI_MIN_EVENT_TYPE_VAL - 3); + +static jvmtiExtensionFunction +find_ext_function(jvmtiEnv* jvmti, JNIEnv* jni, const char* fname) { + jint extCount = 0; + jvmtiExtensionFunctionInfo* extList = NULL; + + jvmtiError err = jvmti->GetExtensionFunctions(&extCount, &extList); + check_jvmti_status(jni, err, "jvmti_common find_ext_function: Error in JVMTI GetExtensionFunctions"); + + for (int i = 0; i < extCount; i++) { + if (strstr(extList[i].id, (char*)fname) != NULL) { + return extList[i].func; + } + } + return NULL; +} + +static jvmtiError +GetVirtualThread(jvmtiEnv* jvmti, JNIEnv* jni, jthread cthread, jthread* vthread_ptr) { + if (GetVirtualThread_func == NULL) { // lazily initialize function pointer + GetVirtualThread_func = find_ext_function(jvmti, jni, "GetVirtualThread"); + } + jvmtiError err = (*GetVirtualThread_func)(jvmti, cthread, vthread_ptr); + + return err; +} + +static jvmtiError +GetCarrierThread(jvmtiEnv* jvmti, JNIEnv* jni, jthread vthread, jthread* cthread_ptr) { + if (GetCarrierThread_func == NULL) { // lazily initialize function pointer + GetCarrierThread_func = find_ext_function(jvmti, jni, "GetCarrierThread"); + } + jvmtiError err = (*GetCarrierThread_func)(jvmti, vthread, cthread_ptr); + + return err; +} + +static jthread +get_virtual_thread(jvmtiEnv* jvmti, JNIEnv* jni, jthread cthread) { + jthread vthread = NULL; + jvmtiError err = GetVirtualThread(jvmti, jni, cthread, &vthread); + check_jvmti_status(jni, err, "jvmti_common get_virtual_thread: Error in JVMTI extension GetVirtualThread"); + return vthread; +} + +static jthread +get_carrier_thread(jvmtiEnv* jvmti, JNIEnv* jni, jthread vthread) { + jthread cthread = NULL; + jvmtiError err = GetCarrierThread(jvmti, jni, vthread, &cthread); + check_jvmti_status(jni, err, "jvmti_common get_carrier_thread: Error in JVMTI extension GetCarrierThread"); + + return cthread; +} + +static jvmtiExtensionEventInfo* +find_ext_event(jvmtiEnv* jvmti, const char* ename) { + jint extCount = 0; + jvmtiExtensionEventInfo* extList = NULL; + + jvmtiError err = jvmti->GetExtensionEvents(&extCount, &extList); + if (err != JVMTI_ERROR_NONE) { + LOG("jvmti_common find_ext_event: Error in JVMTI GetExtensionFunctions: %s(%d)\n",TranslateError(err), err); + return NULL; + } + for (int i = 0; i < extCount; i++) { + if (strstr(extList[i].id, (char*)ename) != NULL) { + return &extList[i]; + } + } + return NULL; +} + +static jvmtiError +set_ext_event_callback(jvmtiEnv* jvmti, const char* ename, jvmtiExtensionEvent callback) { + jvmtiExtensionEventInfo* info = find_ext_event(jvmti, ename); + + if (info == NULL) { + LOG("jvmti_common set_ext_event_callback: Extension event was not found: %s\n", ename); + return JVMTI_ERROR_NOT_AVAILABLE; + } + jvmtiError err = jvmti->SetExtensionEventCallback(info->extension_event_index, callback); + return err; +} + +/** Enable or disable given events. */ + +static jvmtiError +set_event_notification_mode(jvmtiEnv* jvmti, jvmtiEventMode mode, jvmtiEvent event_type, jthread event_thread) { + jvmtiError err = jvmti->SetEventNotificationMode(mode, event_type, event_thread); + return err; +} + +static void +set_event_notification_mode(jvmtiEnv* jvmti, JNIEnv* jni, jvmtiEventMode mode, jvmtiEvent event_type, jthread event_thread) { + jvmtiError err = jvmti->SetEventNotificationMode(mode, event_type, event_thread); + check_jvmti_status(jni, err, "jvmti_common set_event_notification_mode: Error in JVMTI SetEventNotificationMode"); +} + +int +enable_events_notifications(jvmtiEnv* jvmti, JNIEnv* jni, jvmtiEventMode enable, int size, jvmtiEvent list[], jthread thread) { + for (int i = 0; i < size; i++) { + check_jvmti_status(jni, jvmti->SetEventNotificationMode(enable, list[i], thread), ""); + } + return JNI_TRUE; +} + +void +sleep_ms(int millis) { +#ifdef _WIN32 + Sleep(millis); +#else + usleep(1000 * millis); +#endif +} + +void +sleep_sec(jlong timeout) { + int seconds = (int)((timeout + 999) / 1000); +#ifdef _WIN32 + Sleep(1000L * seconds); +#else + sleep(seconds); +#endif +} + +#endif diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/net/SimpleSSLContext.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/net/SimpleSSLContext.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/net/SimpleSSLContext.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/net/SimpleSSLContext.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package jdk.test.lib.net; + +import java.util.*; +import java.io.*; +import java.security.*; +import java.security.cert.*; +import javax.net.ssl.*; + +/** + * Creates a simple usable SSLContext for SSLSocketFactory + * or a HttpsServer using either a given keystore or a default + * one in the test tree. + * + * Using this class with a security manager requires the following + * permissions to be granted: + * + * permission "java.util.PropertyPermission" "test.src.path", "read"; + * permission java.io.FilePermission "/path/to/test/lib/jdk/test/lib/testkeys", "read"; + * The exact path above depends on the location of the test. + */ +public class SimpleSSLContext { + + SSLContext ssl; + + /** + * loads default keystore from SimpleSSLContext + * source directory + */ + public SimpleSSLContext() throws IOException { + try { + AccessController.doPrivileged(new PrivilegedExceptionAction() { + @Override + public Void run() throws Exception { + String paths = System.getProperty("test.src.path"); + StringTokenizer st = new StringTokenizer(paths, File.pathSeparator); + boolean securityExceptions = false; + while (st.hasMoreTokens()) { + String path = st.nextToken(); + try { + File f = new File(path, "jdk/test/lib/net/testkeys"); + if (f.exists()) { + try (FileInputStream fis = new FileInputStream(f)) { + init(fis); + return null; + } + } + } catch (SecurityException e) { + // catch and ignore because permission only required + // for one entry on path (at most) + securityExceptions = true; + } + } + if (securityExceptions) { + System.err.println("SecurityExceptions thrown on loading testkeys"); + } + return null; + } + }); + } catch (PrivilegedActionException pae) { + Throwable t = pae.getCause() != null ? pae.getCause() : pae; + if (t instanceof IOException) + throw (IOException)t; + if (t instanceof RuntimeException) + throw (RuntimeException)t; + if (t instanceof Error) + throw (Error)t; + throw new RuntimeException(t); + } + } + + /** + * loads default keystore from given directory + */ + public SimpleSSLContext(String dir) throws IOException { + String file = dir + "/testkeys"; + try (FileInputStream fis = new FileInputStream(file)) { + init(fis); + } + } + + private void init(InputStream i) throws IOException { + try { + char[] passphrase = "passphrase".toCharArray(); + KeyStore ks = KeyStore.getInstance("PKCS12"); + ks.load(i, passphrase); + + KeyManagerFactory kmf = KeyManagerFactory.getInstance("PKIX"); + kmf.init(ks, passphrase); + + TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); + tmf.init(ks); + + ssl = SSLContext.getInstance("TLS"); + ssl.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); + } catch (KeyManagementException | KeyStoreException | + UnrecoverableKeyException | CertificateException | + NoSuchAlgorithmException e) { + throw new RuntimeException(e.getMessage()); + } + } + + public SSLContext get() { + return ssl; + } +} Binary files /srv/release.debian.org/tmp/sACA1OZcqy/openjdk-11-11.0.22+7/test/lib/jdk/test/lib/net/testkeys and /srv/release.debian.org/tmp/sRMmE18hoM/openjdk-11-11.0.23+9/test/lib/jdk/test/lib/net/testkeys differ diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/process/OutputAnalyzer.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/process/OutputAnalyzer.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/process/OutputAnalyzer.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/process/OutputAnalyzer.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -607,15 +607,15 @@ /** * @see #shouldMatchByLine(String, String, String) */ - public OutputAnalyzer shouldMatchByLineFrom(String from, String pattern) { - return shouldMatchByLine(from, null, pattern); + public OutputAnalyzer shouldMatchByLineFrom(String fromPattern, String pattern) { + return shouldMatchByLine(fromPattern, null, pattern); } /** * @see #shouldMatchByLine(String, String, String) */ - public OutputAnalyzer shouldMatchByLineTo(String to, String pattern) { - return shouldMatchByLine(null, to, pattern); + public OutputAnalyzer shouldMatchByLineTo(String toPattern, String pattern) { + return shouldMatchByLine(null, toPattern, pattern); } /** @@ -623,17 +623,17 @@ * {@code pattern} line by line. The whole output could be matched or * just a subset of it. * - * @param from - * The line (excluded) from where output will be matched. - * Set {@code from} to null for matching from the first line. - * @param to - * The line (excluded) until where output will be matched. - * Set {@code to} to null for matching until the last line. + * @param fromPattern + * The pattern of line (excluded) from where output will be matched. + * Set {@code fromPattern} to null for matching from the first line. + * @param toPattern + * The pattern of line (excluded) until where output will be matched. + * Set {@code toPattern} to null for matching until the last line. * @param pattern * Matching pattern */ - public OutputAnalyzer shouldMatchByLine(String from, String to, String pattern) { - return shouldMatchByLine(getOutput(), from, to, pattern); + public OutputAnalyzer shouldMatchByLine(String fromPattern, String toPattern, String pattern) { + return shouldMatchByLine(getOutput(), fromPattern, toPattern, pattern); } /** @@ -641,34 +641,34 @@ * {@code pattern} line by line. The whole stdout could be matched or * just a subset of it. * - * @param from - * The line (excluded) from where stdout will be matched. - * Set {@code from} to null for matching from the first line. - * @param to - * The line (excluded) until where stdout will be matched. - * Set {@code to} to null for matching until the last line. + * @param fromPattern + * The pattern of line (excluded) from where stdout will be matched. + * Set {@code fromPattern} to null for matching from the first line. + * @param toPattern + * The pattern of line (excluded) until where stdout will be matched. + * Set {@code toPattern} to null for matching until the last line. * @param pattern * Matching pattern */ - public OutputAnalyzer stdoutShouldMatchByLine(String from, String to, String pattern) { - return shouldMatchByLine(getStdout(), from, to, pattern); + public OutputAnalyzer stdoutShouldMatchByLine(String fromPattern, String toPattern, String pattern) { + return shouldMatchByLine(getStdout(), fromPattern, toPattern, pattern); } - private OutputAnalyzer shouldMatchByLine(String buffer, String from, String to, String pattern) { + private OutputAnalyzer shouldMatchByLine(String buffer, String fromPattern, String toPattern, String pattern) { List lines = asLines(buffer); int fromIndex = 0; - if (from != null) { - fromIndex = indexOf(lines, from, 0) + 1; // + 1 -> apply 'pattern' to lines after 'from' match + if (fromPattern != null) { + fromIndex = indexOf(lines, fromPattern, 0) + 1; // + 1 -> apply 'pattern' to lines after 'from' match Asserts.assertGreaterThan(fromIndex, 0, - "The line/pattern '" + from + "' from where the output should match can not be found"); + "The line matched with pattern '" + fromPattern + "' from where the output should match can not be found"); } int toIndex = lines.size(); - if (to != null) { - toIndex = indexOf(lines, to, fromIndex); + if (toPattern != null) { + toIndex = indexOf(lines, toPattern, fromIndex); Asserts.assertGreaterThan(toIndex, fromIndex, - "The line/pattern '" + to + "' until where the output should match can not be found"); + "The line matched with pattern '" + toPattern + "' until where the output should match can not be found"); } List subList = lines.subList(fromIndex, toIndex); diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/process/ProcessTools.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/process/ProcessTools.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/process/ProcessTools.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/process/ProcessTools.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -113,12 +113,12 @@ * The default redirects of STDOUT and STDERR are started *

* It is possible to wait for the process to get to a warmed-up state - * via {@linkplain Predicate} condition on the STDOUT + * via {@linkplain Predicate} condition on the STDOUT/STDERR *

* * @param name The process name * @param processBuilder The process builder - * @param linePredicate The {@linkplain Predicate} to use on the STDOUT + * @param linePredicate The {@linkplain Predicate} to use on the STDOUT and STDERR. * Used to determine the moment the target app is * properly warmed-up. * It can be null - in that case the warmup is skipped. @@ -143,14 +143,14 @@ * The default redirects of STDOUT and STDERR are started *

* It is possible to wait for the process to get to a warmed-up state - * via {@linkplain Predicate} condition on the STDOUT and monitor the + * via {@linkplain Predicate} condition on the STDOUT/STDERR and monitor the * in-streams via the provided {@linkplain Consumer} *

* * @param name The process name * @param processBuilder The process builder * @param lineConsumer The {@linkplain Consumer} the lines will be forwarded to - * @param linePredicate The {@linkplain Predicate} to use on the STDOUT + * @param linePredicate The {@linkplain Predicate} to use on the STDOUT and STDERR. * Used to determine the moment the target app is * properly warmed-up. * It can be null - in that case the warmup is skipped. @@ -190,10 +190,14 @@ CountDownLatch latch = new CountDownLatch(1); if (linePredicate != null) { StreamPumper.LinePump pump = new StreamPumper.LinePump() { + // synchronization between stdout and stderr pumps + private final Object sync = new Object(); @Override protected void processLine(String line) { - if (latch.getCount() > 0 && linePredicate.test(line)) { - latch.countDown(); + synchronized (sync) { + if (latch.getCount() > 0 && linePredicate.test(line)) { + latch.countDown(); + } } } }; @@ -238,13 +242,13 @@ * The default redirects of STDOUT and STDERR are started *

* It is possible to wait for the process to get to a warmed-up state - * via {@linkplain Predicate} condition on the STDOUT. The warm-up will - * wait indefinitely. + * via {@linkplain Predicate} condition on the STDOUT/STDERR. + * The warm-up will wait indefinitely. *

* * @param name The process name * @param processBuilder The process builder - * @param linePredicate The {@linkplain Predicate} to use on the STDOUT + * @param linePredicate The {@linkplain Predicate} to use on the STDOUT and STDERR. * Used to determine the moment the target app is * properly warmed-up. * It can be null - in that case the warmup is skipped. diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/security/XMLUtils.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/security/XMLUtils.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/security/XMLUtils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/security/XMLUtils.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,6 @@ package jdk.test.lib.security; -import jdk.test.lib.Asserts; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -49,15 +48,15 @@ import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathFactory; -import java.io.File; import java.io.StringReader; import java.io.StringWriter; import java.net.URI; -import java.nio.file.Files; -import java.nio.file.Path; import java.security.*; import java.security.cert.X509Certificate; +// "8166597: Crypto support for the EdDSA Signature Algorithm" missing in 11. +//import java.security.interfaces.EdECPrivateKey; import java.security.interfaces.RSAKey; +import java.security.spec.NamedParameterSpec; import java.security.spec.PSSParameterSpec; import java.util.*; @@ -68,37 +67,6 @@ private static final XMLSignatureFactory FAC = XMLSignatureFactory.getInstance("DOM"); - //////////// MAIN as TEST //////////// - public static void main(String[] args) throws Exception { - var x = "cx"; - var p = Files.write(Path.of("x.xml"), List.of(x)); - var b = Path.of("").toUri().toString(); - var d = string2doc(x); - // keytool -keystore ks -keyalg ec -storepass changeit -genkeypair -alias a -dname CN=a - var pass = "changeit".toCharArray(); - var ks = KeyStore.getInstance(new File("ks"), pass); - var c = (X509Certificate) ks.getCertificate("a"); - var pr = (PrivateKey) ks.getKey("a", pass); - var pu = c.getPublicKey(); - var s0 = signer(pr); // No KeyInfo - var s1 = signer(pr, pu); // KeyInfo is PublicKey - var s2 = signer(pr, c); // KeyInfo is X509Data - var s3 = signer(ks, "a", pass); // KeyInfo is KeyName - var v1 = validator(); // knows nothing - var v2 = validator(ks); // knows KeyName - Asserts.assertTrue(v1.validate(s0.sign(d), pu)); // need PublicKey - Asserts.assertTrue(v1.validate(s1.sign(d))); // can read KeyInfo - Asserts.assertTrue(v1.validate(s2.sign(d))); // can read KeyInfo - Asserts.assertTrue(v2.validate(s3.sign(d))); // can read KeyInfo - Asserts.assertTrue(v2.secureValidation(false).validate(s3.sign(p.toUri()))); // can read KeyInfo - Asserts.assertTrue(v2.secureValidation(false).baseURI(b).validate( - s3.sign(p.toAbsolutePath().getParent().toUri(), p.getFileName().toUri()))); // can read KeyInfo - Asserts.assertTrue(v1.validate(s1.sign("text"))); // plain text - Asserts.assertTrue(v1.validate(s1.sign("binary".getBytes()))); // raw data - Asserts.assertTrue(v1.validate(s1.signEnveloping(d, "x", "#x"))); - Asserts.assertTrue(v1.validate(s1.signEnveloping(d, "x", "#xpointer(id('x'))"))); - } - //////////// CONVERT //////////// // Converts a Document object to string @@ -222,44 +190,20 @@ public static class Signer { - PrivateKey privateKey; // signer key, never null + final PrivateKey privateKey; // signer key, never null + X509Certificate cert; // certificate, optional PublicKey publicKey; // public key, optional String keyName; // alias, optional - SignatureMethod sm; // default determined by privateKey - DigestMethod dm; // default SHA-256 - CanonicalizationMethod cm; // default EXCLUSIVE - Transform tr; // default ENVELOPED - - public Signer(PrivateKey privateKey) throws Exception { - this.privateKey = privateKey; - dm(DigestMethod.SHA256); - tr(Transform.ENVELOPED); - cm(CanonicalizationMethod.EXCLUSIVE); - String alg = privateKey.getAlgorithm(); - if (alg.equals("RSASSA-PSS")) { - PSSParameterSpec pspec - = (PSSParameterSpec) ((RSAKey) privateKey).getParams(); - /* - if (pspec != null) { - sm(SignatureMethod.RSA_PSS, new RSAPSSParameterSpec(pspec)); - } else { - sm(SignatureMethod.RSA_PSS); - } - */ - throw new Exception("Code not expected to be used in tests for 11. Backport 8241306."); - } else { - if (alg.equals("RSA")) { - sm(SignatureMethod.RSA_SHA256); - } else if (alg.equals("DSA")) { - sm(SignatureMethod.DSA_SHA256); - } else if (alg.equals("EC")) { - sm(SignatureMethod.ECDSA_SHA256); - } else { - throw new InvalidKeyException(); - } - } + String sm = null; // default determined by privateKey + SignatureMethodParameterSpec smSpec = null; + String dm = DigestMethod.SHA256; + String cm = CanonicalizationMethod.EXCLUSIVE; + String tr = Transform.ENVELOPED; + + public Signer(PrivateKey privateKey) { + this.privateKey = Objects.requireNonNull(privateKey); } // Change KeyInfo source @@ -281,47 +225,29 @@ // Change various methods - public Signer tr(String transform) throws Exception { - TransformParameterSpec params = null; - switch (transform) { - case Transform.XPATH: - params = new XPathFilterParameterSpec("//."); - break; - case Transform.XPATH2: - params = new XPathFilter2ParameterSpec( - Collections.singletonList(new XPathType("//.", - XPathType.Filter.INTERSECT))); - break; - } - tr = FAC.newTransform(transform, params); - return this; - } - - public Signer sm(String method) throws Exception { - sm = FAC.newSignatureMethod(method, null); + public Signer tr(String transform) { + tr = Objects.requireNonNull(transform); return this; } - public Signer dm(String method) throws Exception { - dm = FAC.newDigestMethod(method, null); + public Signer dm(String method) { + dm = Objects.requireNonNull(method); return this; } - public Signer cm(String method) throws Exception { - cm = FAC.newCanonicalizationMethod(method, (C14NMethodParameterSpec) null); + public Signer cm(String method) { + cm = Objects.requireNonNull(method); return this; } - public Signer sm(String method, SignatureMethodParameterSpec spec) - throws Exception { - sm = FAC.newSignatureMethod(method, spec); + public Signer sm(String method, SignatureMethodParameterSpec spec) { + sm = method; + smSpec = spec; return this; } - public Signer dm(String method, DigestMethodParameterSpec spec) - throws Exception { - dm = FAC.newDigestMethod(method, spec); - return this; + public Signer sm(String method) throws Exception { + return sm(method, null); } // Signs different sources @@ -361,7 +287,7 @@ Document newDocument = DocumentBuilderFactory.newInstance() .newDocumentBuilder().newDocument(); FAC.newXMLSignature( - buildSignedInfo(FAC.newReference(ref, dm)), + buildSignedInfo(FAC.newReference(ref, FAC.newDigestMethod(dm, null))), buildKeyInfo(), List.of(FAC.newXMLObject(List.of(new DOMStructure(document.getDocumentElement())), id, null, null)), @@ -376,7 +302,7 @@ Document newDocument = DocumentBuilderFactory.newInstance() .newDocumentBuilder().newDocument(); FAC.newXMLSignature( - buildSignedInfo(FAC.newReference("#object", dm, List.of + buildSignedInfo(FAC.newReference("#object", FAC.newDigestMethod(dm, null), List.of (FAC.newTransform(Transform.BASE64, (TransformParameterSpec) null)), null, null)), buildKeyInfo(), @@ -394,9 +320,11 @@ Document newDocument = DocumentBuilderFactory.newInstance() .newDocumentBuilder().newDocument(); FAC.newXMLSignature( - buildSignedInfo(FAC.newReference("#object", dm)), + buildSignedInfo( + FAC.newReference("#object", FAC.newDigestMethod(dm, null))), buildKeyInfo(), - List.of(FAC.newXMLObject(List.of(new DOMStructure(newDocument.createTextNode(str))), + List.of(FAC.newXMLObject( + List.of(new DOMStructure(newDocument.createTextNode(str))), "object", null, null)), null, null) @@ -405,22 +333,75 @@ } // Builds a SignedInfo for a string reference - private SignedInfo buildSignedInfo(String ref) { - return FAC.newSignedInfo( - cm, - sm, - List.of(FAC.newReference( + private SignedInfo buildSignedInfo(String ref) throws Exception { + TransformParameterSpec pSpec; + if (tr.equals(Transform.XPATH)) { + pSpec = new XPathFilterParameterSpec("//."); + } else if (tr.equals(Transform.XPATH2)) { + pSpec = new XPathFilter2ParameterSpec( + Collections.singletonList(new XPathType("//.", + XPathType.Filter.INTERSECT))); + } else { + pSpec = null; + } + return buildSignedInfo(FAC.newReference( ref, - dm, - List.of(tr), - null, null))); + FAC.newDigestMethod(dm, null), + List.of(FAC.newTransform(tr, pSpec)), + null, null)); } // Builds a SignedInfo for a Reference - private SignedInfo buildSignedInfo(Reference ref) { + private SignedInfo buildSignedInfo(Reference ref) throws Exception { + SignatureMethod signatureMethod; + if (sm == null) { + String alg = privateKey.getAlgorithm().toUpperCase(Locale.ROOT); + if (alg.equals("RSASSA-PSS")) { + PSSParameterSpec pspec + = (PSSParameterSpec) ((RSAKey) privateKey).getParams(); + /* + if (pspec != null) { + signatureMethod = FAC.newSignatureMethod( + SignatureMethod.RSA_PSS, new RSAPSSParameterSpec(pspec)); + } else { + signatureMethod = FAC.newSignatureMethod(SignatureMethod.RSA_PSS, null); + } + */ + throw new Exception("Code not expected to be used in tests for 11. Backport 8241306."); + } else { + if (alg.equals("RSA")) { + signatureMethod = FAC.newSignatureMethod(SignatureMethod.RSA_SHA256, null); + } else if (alg.equals("DSA")) { + signatureMethod = FAC.newSignatureMethod(SignatureMethod.DSA_SHA256, null); + } else if (alg.equals("EC")) { + signatureMethod = FAC.newSignatureMethod(SignatureMethod.ECDSA_SHA256, null); + } else if (alg.equals("ED25519")) { + signatureMethod = FAC.newSignatureMethod("http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519", null); + } else if (alg.equals("ED448")) { + signatureMethod = FAC.newSignatureMethod("http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448", null); + } else if (alg.equals("EDDSA")) { + /* + if (privateKey instanceof EdECPrivateKey) { + EdECPrivateKey edsk = (EdECPrivateKey)privateKey; + FAC.newSignatureMethod(edsk.getParams().getName() + .equals(NamedParameterSpec.ED25519.getName()) + ? "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519" + : "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448", null); + } else { + throw new InvalidKeyException(); + } + */ + throw new Exception("Code not expected to be used in tests for 11. Backport 8166597."); + } else { + throw new InvalidKeyException(); + } + } + } else { + signatureMethod = FAC.newSignatureMethod(sm, smSpec); + } return FAC.newSignedInfo( - cm, - sm, + FAC.newCanonicalizationMethod(cm, (C14NMethodParameterSpec) null), + signatureMethod, List.of(ref)); } @@ -526,7 +507,9 @@ AlgorithmMethod method, XMLCryptoContext context) throws KeySelectorException { - Objects.requireNonNull(keyInfo, "Null KeyInfo object!"); + if (keyInfo == null) { + throw new IllegalArgumentException("Null KeyInfo object!"); + } for (XMLStructure xmlStructure : keyInfo.getContent()) { PublicKey pk; diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/util/FileUtils.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/util/FileUtils.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/util/FileUtils.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/util/FileUtils.java 2024-04-08 05:38:38.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -43,6 +43,7 @@ import java.util.HashSet; import java.util.List; import java.util.Optional; +import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.TimeUnit; @@ -97,7 +98,7 @@ */ public static void deleteFileIfExistsWithRetry(Path path) throws IOException { try { - if (Files.exists(path)) { + if (!Files.notExists(path)) { deleteFileWithRetry0(path); } } catch (InterruptedException x) { @@ -243,87 +244,84 @@ } /** - * Checks whether all file systems are accessible. This is performed - * by checking free disk space on all mounted file systems via a - * separate, spawned process. File systems are considered to be - * accessible if this process completes successfully before a given - * fixed duration has elapsed. + * Checks whether all file systems are accessible and there are no + * duplicate mount points. This is performed by checking free disk + * space on all mounted file systems via a separate, spawned process. + * File systems are considered to be accessible if this process completes + * successfully before a given fixed duration has elapsed. * * @implNote On Unix this executes the {@code df} command in a separate * process and on Windows always returns {@code true}. * - * @return whether file systems appear to be accessible - * - * @throws RuntimeException if there are duplicate mount points or some - * other execution problem occurs + * @return whether file systems appear to be accessible and duplicate-free */ - public static boolean areAllMountPointsAccessible() { + public static boolean areMountPointsAccessibleAndUnique() { + if (IS_WINDOWS) return true; + final AtomicBoolean areMountPointsOK = new AtomicBoolean(true); - if (!IS_WINDOWS) { - Thread thr = new Thread(() -> { - try { - Process proc = new ProcessBuilder("df").start(); - BufferedReader reader = new BufferedReader - (new InputStreamReader(proc.getInputStream())); - // Skip the first line as it is the "df" output header. - if (reader.readLine() != null ) { - String prevMountPoint = null, mountPoint = null; - while ((mountPoint = reader.readLine()) != null) { - if (prevMountPoint != null && - mountPoint.equals(prevMountPoint)) { - throw new RuntimeException - ("System configuration error: " + - "duplicate mount point " + mountPoint + - " detected"); - } - prevMountPoint = mountPoint; + Thread thr = new Thread(() -> { + try { + Process proc = new ProcessBuilder("df").start(); + BufferedReader reader = new BufferedReader + (new InputStreamReader(proc.getInputStream())); + // Skip the first line as it is the "df" output header. + if (reader.readLine() != null ) { + Set mountPoints = new HashSet(); + String mountPoint = null; + while ((mountPoint = reader.readLine()) != null) { + if (!mountPoints.add(mountPoint)) { + System.err.printf + ("Config error: duplicate mount point %s%n", + mountPoint); + areMountPointsOK.set(false); + break; } } + } - try { - proc.waitFor(90, TimeUnit.SECONDS); - } catch (InterruptedException ignored) { - } - try { - int exitValue = proc.exitValue(); - if (exitValue != 0) { - System.err.printf("df process exited with %d != 0%n", - exitValue); - areMountPointsOK.set(false); - } - } catch (IllegalThreadStateException ignored) { - System.err.println("df command apparently hung"); + try { + proc.waitFor(90, TimeUnit.SECONDS); + } catch (InterruptedException ignored) { + } + try { + int exitValue = proc.exitValue(); + if (exitValue != 0) { + System.err.printf("df process exited with %d != 0%n", + exitValue); areMountPointsOK.set(false); } - } catch (IOException ioe) { - throw new RuntimeException(ioe); - }; + } catch (IllegalThreadStateException ignored) { + System.err.println("df command apparently hung"); + areMountPointsOK.set(false); + } + } catch (IOException ioe) { + throw new RuntimeException(ioe); + }; + }); + + final AtomicReference throwableReference = + new AtomicReference(); + thr.setUncaughtExceptionHandler( + new Thread.UncaughtExceptionHandler() { + public void uncaughtException(Thread t, Throwable e) { + throwableReference.set(e); + } }); - final AtomicReference throwableReference = - new AtomicReference(); - thr.setUncaughtExceptionHandler( - new Thread.UncaughtExceptionHandler() { - public void uncaughtException(Thread t, Throwable e) { - throwableReference.set(e); - } - }); - - thr.start(); - try { - thr.join(120*1000L); - } catch (InterruptedException ie) { - throw new RuntimeException(ie); - } + thr.start(); + try { + thr.join(120*1000L); + } catch (InterruptedException ie) { + throw new RuntimeException(ie); + } - Throwable uncaughtException = (Throwable)throwableReference.get(); - if (uncaughtException != null) { - throw new RuntimeException(uncaughtException); - } + Throwable uncaughtException = (Throwable)throwableReference.get(); + if (uncaughtException != null) { + throw new RuntimeException(uncaughtException); + } - if (thr.isAlive()) { - throw new RuntimeException("df thread did not join in time"); - } + if (thr.isAlive()) { + throw new RuntimeException("df thread did not join in time"); } return areMountPointsOK.get(); diff -Nru openjdk-11-11.0.22+7/test/lib/jdk/test/lib/util/ModuleUtils.java openjdk-11-11.0.23+9/test/lib/jdk/test/lib/util/ModuleUtils.java --- openjdk-11-11.0.22+7/test/lib/jdk/test/lib/util/ModuleUtils.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/jdk/test/lib/util/ModuleUtils.java 2024-04-08 05:38:38.000000000 +0000 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package jdk.test.lib.util; + +import java.lang.module.ModuleDescriptor; +import java.lang.module.ModuleFinder; +import java.lang.module.ModuleReader; +import java.lang.module.ModuleReference; +import java.net.URI; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; + + +/** + * This class consists exclusively of static utility methods that are useful + * for creating tests for modules. + */ + +public final class ModuleUtils { + private ModuleUtils() { } + + + /** + * Returns a ModuleFinder that finds modules with the given module + * descriptors. + */ + public static ModuleFinder finderOf(ModuleDescriptor... descriptors) { + + // Create a ModuleReference for each module + Map namesToReference = new HashMap<>(); + + for (ModuleDescriptor descriptor : descriptors) { + String name = descriptor.name(); + + URI uri = URI.create("module:/" + name); + + ModuleReference mref = new ModuleReference(descriptor, uri) { + @Override + public ModuleReader open() { + throw new UnsupportedOperationException(); + } + }; + + namesToReference.put(name, mref); + } + + return new ModuleFinder() { + @Override + public Optional find(String name) { + Objects.requireNonNull(name); + return Optional.ofNullable(namesToReference.get(name)); + } + @Override + public Set findAll() { + return new HashSet<>(namesToReference.values()); + } + }; + } + +} diff -Nru openjdk-11-11.0.22+7/test/lib/sun/hotspot/WhiteBox.java openjdk-11-11.0.23+9/test/lib/sun/hotspot/WhiteBox.java --- openjdk-11-11.0.22+7/test/lib/sun/hotspot/WhiteBox.java 2024-01-09 21:19:49.000000000 +0000 +++ openjdk-11-11.0.23+9/test/lib/sun/hotspot/WhiteBox.java 2024-04-08 05:38:38.000000000 +0000 @@ -386,6 +386,8 @@ public native boolean metaspaceShouldConcurrentCollect(); public native long metaspaceReserveAlignment(); + public native void cleanMetaspaces(); + // Don't use these methods directly // Use sun.hotspot.gc.GC class instead. public native boolean isGCSupported(int name);